./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/bitvector/byte_add_false-unreach-call_true-no-overflow_true-termination.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version aa418289 Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/bitvector/byte_add_false-unreach-call_true-no-overflow_true-termination.i -s /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash a2c46755d0cb80f6b2e7b990e0a1bd9a49737b84 ...................................................................................................................................................................................................................... Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/bitvector/byte_add_false-unreach-call_true-no-overflow_true-termination.i -s /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash a2c46755d0cb80f6b2e7b990e0a1bd9a49737b84 .......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-22 23:18:49,992 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-22 23:18:49,993 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-22 23:18:49,999 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-22 23:18:50,000 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-22 23:18:50,000 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-22 23:18:50,001 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-22 23:18:50,003 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-22 23:18:50,004 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-22 23:18:50,004 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-22 23:18:50,005 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-22 23:18:50,005 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-22 23:18:50,006 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-22 23:18:50,006 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-22 23:18:50,007 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-22 23:18:50,007 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-22 23:18:50,008 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-22 23:18:50,009 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-22 23:18:50,010 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-22 23:18:50,011 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-22 23:18:50,012 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-22 23:18:50,013 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-22 23:18:50,014 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-22 23:18:50,014 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-22 23:18:50,015 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-22 23:18:50,015 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-22 23:18:50,016 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-22 23:18:50,016 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-22 23:18:50,017 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-22 23:18:50,017 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-22 23:18:50,017 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-22 23:18:50,018 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-22 23:18:50,018 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-22 23:18:50,018 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-22 23:18:50,019 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-22 23:18:50,019 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-22 23:18:50,019 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf [2018-11-22 23:18:50,026 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-22 23:18:50,026 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-22 23:18:50,027 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-22 23:18:50,027 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-22 23:18:50,027 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-22 23:18:50,027 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-22 23:18:50,028 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-22 23:18:50,028 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-22 23:18:50,028 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-22 23:18:50,028 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-22 23:18:50,028 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-22 23:18:50,028 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-22 23:18:50,028 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-22 23:18:50,028 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-22 23:18:50,028 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-22 23:18:50,029 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-22 23:18:50,029 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-22 23:18:50,029 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-22 23:18:50,029 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-22 23:18:50,029 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-22 23:18:50,029 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-22 23:18:50,029 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-22 23:18:50,029 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-22 23:18:50,030 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-22 23:18:50,030 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-22 23:18:50,030 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-22 23:18:50,030 INFO L133 SettingsManager]: * Trace refinement strategy=PENGUIN [2018-11-22 23:18:50,030 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-22 23:18:50,030 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-22 23:18:50,030 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Kojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> a2c46755d0cb80f6b2e7b990e0a1bd9a49737b84 [2018-11-22 23:18:50,052 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-22 23:18:50,060 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-22 23:18:50,062 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-22 23:18:50,063 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-22 23:18:50,063 INFO L276 PluginConnector]: CDTParser initialized [2018-11-22 23:18:50,064 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/../../sv-benchmarks/c/bitvector/byte_add_false-unreach-call_true-no-overflow_true-termination.i [2018-11-22 23:18:50,100 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/data/24c0cc546/4cf844e331be4753b549eb7c932d17cd/FLAG3b0c01fef [2018-11-22 23:18:50,513 INFO L307 CDTParser]: Found 1 translation units. [2018-11-22 23:18:50,514 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/sv-benchmarks/c/bitvector/byte_add_false-unreach-call_true-no-overflow_true-termination.i [2018-11-22 23:18:50,518 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/data/24c0cc546/4cf844e331be4753b549eb7c932d17cd/FLAG3b0c01fef [2018-11-22 23:18:50,527 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/data/24c0cc546/4cf844e331be4753b549eb7c932d17cd [2018-11-22 23:18:50,529 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-22 23:18:50,531 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-22 23:18:50,531 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-22 23:18:50,531 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-22 23:18:50,534 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-22 23:18:50,535 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 11:18:50" (1/1) ... [2018-11-22 23:18:50,537 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@60f004d8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:18:50, skipping insertion in model container [2018-11-22 23:18:50,537 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 11:18:50" (1/1) ... [2018-11-22 23:18:50,546 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-22 23:18:50,567 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-22 23:18:50,701 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 23:18:50,703 INFO L191 MainTranslator]: Completed pre-run [2018-11-22 23:18:50,726 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 23:18:50,734 INFO L195 MainTranslator]: Completed translation [2018-11-22 23:18:50,734 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:18:50 WrapperNode [2018-11-22 23:18:50,735 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-22 23:18:50,735 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-22 23:18:50,735 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-22 23:18:50,735 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-22 23:18:50,740 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:18:50" (1/1) ... [2018-11-22 23:18:50,745 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:18:50" (1/1) ... [2018-11-22 23:18:50,798 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-22 23:18:50,798 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-22 23:18:50,798 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-22 23:18:50,798 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-22 23:18:50,805 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:18:50" (1/1) ... [2018-11-22 23:18:50,805 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:18:50" (1/1) ... [2018-11-22 23:18:50,806 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:18:50" (1/1) ... [2018-11-22 23:18:50,806 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:18:50" (1/1) ... [2018-11-22 23:18:50,810 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:18:50" (1/1) ... [2018-11-22 23:18:50,815 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:18:50" (1/1) ... [2018-11-22 23:18:50,816 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:18:50" (1/1) ... [2018-11-22 23:18:50,818 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-22 23:18:50,818 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-22 23:18:50,818 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-22 23:18:50,818 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-22 23:18:50,819 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:18:50" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-22 23:18:50,856 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-22 23:18:50,856 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-22 23:18:51,434 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-22 23:18:51,434 INFO L280 CfgBuilder]: Removed 10 assue(true) statements. [2018-11-22 23:18:51,434 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 11:18:51 BoogieIcfgContainer [2018-11-22 23:18:51,434 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-22 23:18:51,435 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-22 23:18:51,435 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-22 23:18:51,444 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-22 23:18:51,445 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 11:18:51" (1/1) ... [2018-11-22 23:18:51,454 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 23:18:51,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 23:18:51,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 8 states and 10 transitions. [2018-11-22 23:18:51,479 INFO L276 IsEmpty]: Start isEmpty. Operand 8 states and 10 transitions. [2018-11-22 23:18:51,481 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-11-22 23:18:51,481 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 23:18:51,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 23:18:51,647 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 23:18:51,683 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 23:18:51,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 10 states and 12 transitions. [2018-11-22 23:18:51,683 INFO L276 IsEmpty]: Start isEmpty. Operand 10 states and 12 transitions. [2018-11-22 23:18:51,684 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-11-22 23:18:51,684 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 23:18:51,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 23:18:51,781 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 23:18:51,854 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 23:18:51,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 12 states and 17 transitions. [2018-11-22 23:18:51,854 INFO L276 IsEmpty]: Start isEmpty. Operand 12 states and 17 transitions. [2018-11-22 23:18:51,854 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-11-22 23:18:51,855 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 23:18:51,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 23:18:51,982 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 23:18:52,047 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 23:18:52,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 14 states and 22 transitions. [2018-11-22 23:18:52,048 INFO L276 IsEmpty]: Start isEmpty. Operand 14 states and 22 transitions. [2018-11-22 23:18:52,050 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2018-11-22 23:18:52,051 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 23:18:52,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 23:18:52,147 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 23:18:52,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 23:18:52,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 16 states and 27 transitions. [2018-11-22 23:18:52,212 INFO L276 IsEmpty]: Start isEmpty. Operand 16 states and 27 transitions. [2018-11-22 23:18:52,212 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2018-11-22 23:18:52,212 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 23:18:52,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 23:18:52,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 23:19:02,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unknown [2018-11-22 23:19:02,652 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck has thrown an exception: java.lang.UnsupportedOperationException: Solver said unknown at de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck.CodeCheckObserver.process(CodeCheckObserver.java:505) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.CFGWalker.runObserver(CFGWalker.java:57) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.runObserver(BaseWalker.java:93) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.run(BaseWalker.java:86) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:167) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-11-22 23:19:02,654 INFO L168 Benchmark]: Toolchain (without parser) took 12124.11 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 135.8 MB). Free memory was 961.9 MB in the beginning and 893.9 MB in the end (delta: 68.1 MB). Peak memory consumption was 203.8 MB. Max. memory is 11.5 GB. [2018-11-22 23:19:02,655 INFO L168 Benchmark]: CDTParser took 0.13 ms. Allocated memory is still 1.0 GB. Free memory is still 982.9 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 23:19:02,655 INFO L168 Benchmark]: CACSL2BoogieTranslator took 203.55 ms. Allocated memory is still 1.0 GB. Free memory was 961.9 MB in the beginning and 945.8 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-22 23:19:02,656 INFO L168 Benchmark]: Boogie Procedure Inliner took 62.91 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 135.8 MB). Free memory was 945.8 MB in the beginning and 1.1 GB in the end (delta: -187.3 MB). Peak memory consumption was 14.7 MB. Max. memory is 11.5 GB. [2018-11-22 23:19:02,657 INFO L168 Benchmark]: Boogie Preprocessor took 19.57 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-22 23:19:02,657 INFO L168 Benchmark]: RCFGBuilder took 616.29 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 70.8 MB). Peak memory consumption was 70.8 MB. Max. memory is 11.5 GB. [2018-11-22 23:19:02,658 INFO L168 Benchmark]: CodeCheck took 11218.85 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 893.9 MB in the end (delta: 165.8 MB). Peak memory consumption was 165.8 MB. Max. memory is 11.5 GB. [2018-11-22 23:19:02,660 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - ExceptionOrErrorResult: UnsupportedOperationException: Solver said unknown de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: UnsupportedOperationException: Solver said unknown: de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck.CodeCheckObserver.process(CodeCheckObserver.java:505) * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.13 ms. Allocated memory is still 1.0 GB. Free memory is still 982.9 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 203.55 ms. Allocated memory is still 1.0 GB. Free memory was 961.9 MB in the beginning and 945.8 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 62.91 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 135.8 MB). Free memory was 945.8 MB in the beginning and 1.1 GB in the end (delta: -187.3 MB). Peak memory consumption was 14.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 19.57 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 616.29 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 70.8 MB). Peak memory consumption was 70.8 MB. Max. memory is 11.5 GB. * CodeCheck took 11218.85 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 893.9 MB in the end (delta: 165.8 MB). Peak memory consumption was 165.8 MB. Max. memory is 11.5 GB. RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-22 23:19:04,198 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-22 23:19:04,200 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-22 23:19:04,209 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-22 23:19:04,209 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-22 23:19:04,210 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-22 23:19:04,210 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-22 23:19:04,212 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-22 23:19:04,213 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-22 23:19:04,214 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-22 23:19:04,214 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-22 23:19:04,215 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-22 23:19:04,216 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-22 23:19:04,217 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-22 23:19:04,217 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-22 23:19:04,218 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-22 23:19:04,218 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-22 23:19:04,220 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-22 23:19:04,222 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-22 23:19:04,223 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-22 23:19:04,224 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-22 23:19:04,225 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-22 23:19:04,226 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-22 23:19:04,227 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-22 23:19:04,227 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-22 23:19:04,228 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-22 23:19:04,228 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-22 23:19:04,229 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-22 23:19:04,230 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-22 23:19:04,230 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-22 23:19:04,230 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-22 23:19:04,232 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-22 23:19:04,232 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-22 23:19:04,232 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-22 23:19:04,233 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-22 23:19:04,233 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-22 23:19:04,233 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf [2018-11-22 23:19:04,244 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-22 23:19:04,245 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-22 23:19:04,245 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-22 23:19:04,245 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-22 23:19:04,246 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-22 23:19:04,246 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-22 23:19:04,246 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-22 23:19:04,246 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-22 23:19:04,246 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-22 23:19:04,247 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-22 23:19:04,248 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-22 23:19:04,248 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-22 23:19:04,248 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-22 23:19:04,248 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-22 23:19:04,248 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-22 23:19:04,248 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-22 23:19:04,248 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-22 23:19:04,248 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-22 23:19:04,249 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-22 23:19:04,249 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-22 23:19:04,249 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-22 23:19:04,249 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-22 23:19:04,249 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-22 23:19:04,249 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-22 23:19:04,250 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-22 23:19:04,250 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-22 23:19:04,250 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-22 23:19:04,250 INFO L133 SettingsManager]: * Use separate solver for trace checks=false [2018-11-22 23:19:04,250 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-22 23:19:04,250 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-22 23:19:04,250 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-22 23:19:04,250 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-22 23:19:04,251 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Kojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> a2c46755d0cb80f6b2e7b990e0a1bd9a49737b84 [2018-11-22 23:19:04,283 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-22 23:19:04,293 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-22 23:19:04,296 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-22 23:19:04,297 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-22 23:19:04,298 INFO L276 PluginConnector]: CDTParser initialized [2018-11-22 23:19:04,298 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/../../sv-benchmarks/c/bitvector/byte_add_false-unreach-call_true-no-overflow_true-termination.i [2018-11-22 23:19:04,335 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/data/352c63d2e/c8a36a52d51c4d87a360330b44b28291/FLAG9eb656881 [2018-11-22 23:19:04,669 INFO L307 CDTParser]: Found 1 translation units. [2018-11-22 23:19:04,669 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/sv-benchmarks/c/bitvector/byte_add_false-unreach-call_true-no-overflow_true-termination.i [2018-11-22 23:19:04,675 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/data/352c63d2e/c8a36a52d51c4d87a360330b44b28291/FLAG9eb656881 [2018-11-22 23:19:05,095 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/data/352c63d2e/c8a36a52d51c4d87a360330b44b28291 [2018-11-22 23:19:05,098 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-22 23:19:05,099 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-22 23:19:05,099 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-22 23:19:05,099 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-22 23:19:05,101 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-22 23:19:05,102 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 11:19:05" (1/1) ... [2018-11-22 23:19:05,103 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@467d0368 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:19:05, skipping insertion in model container [2018-11-22 23:19:05,104 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 11:19:05" (1/1) ... [2018-11-22 23:19:05,109 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-22 23:19:05,126 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-22 23:19:05,258 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 23:19:05,262 INFO L191 MainTranslator]: Completed pre-run [2018-11-22 23:19:05,288 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 23:19:05,300 INFO L195 MainTranslator]: Completed translation [2018-11-22 23:19:05,300 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:19:05 WrapperNode [2018-11-22 23:19:05,300 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-22 23:19:05,301 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-22 23:19:05,301 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-22 23:19:05,301 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-22 23:19:05,306 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:19:05" (1/1) ... [2018-11-22 23:19:05,311 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:19:05" (1/1) ... [2018-11-22 23:19:05,329 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-22 23:19:05,329 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-22 23:19:05,330 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-22 23:19:05,330 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-22 23:19:05,342 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:19:05" (1/1) ... [2018-11-22 23:19:05,342 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:19:05" (1/1) ... [2018-11-22 23:19:05,344 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:19:05" (1/1) ... [2018-11-22 23:19:05,344 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:19:05" (1/1) ... [2018-11-22 23:19:05,349 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:19:05" (1/1) ... [2018-11-22 23:19:05,354 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:19:05" (1/1) ... [2018-11-22 23:19:05,356 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:19:05" (1/1) ... [2018-11-22 23:19:05,358 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-22 23:19:05,358 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-22 23:19:05,358 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-22 23:19:05,358 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-22 23:19:05,359 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 11:19:05" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-22 23:19:05,433 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-22 23:19:05,433 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-22 23:19:06,020 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-22 23:19:06,020 INFO L280 CfgBuilder]: Removed 10 assue(true) statements. [2018-11-22 23:19:06,021 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 11:19:06 BoogieIcfgContainer [2018-11-22 23:19:06,021 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-22 23:19:06,021 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-22 23:19:06,021 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-22 23:19:06,028 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-22 23:19:06,028 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 11:19:06" (1/1) ... [2018-11-22 23:19:06,036 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 23:19:06,053 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 23:19:06,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 8 states and 10 transitions. [2018-11-22 23:19:06,058 INFO L276 IsEmpty]: Start isEmpty. Operand 8 states and 10 transitions. [2018-11-22 23:19:06,059 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-11-22 23:19:06,059 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 23:19:06,093 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-22 23:19:06,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 23:19:06,111 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 23:19:06,128 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 23:19:06,185 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 23:19:06,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 10 states and 13 transitions. [2018-11-22 23:19:06,186 INFO L276 IsEmpty]: Start isEmpty. Operand 10 states and 13 transitions. [2018-11-22 23:19:06,186 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-11-22 23:19:06,186 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 23:19:06,187 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-22 23:19:06,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 23:19:06,200 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 23:19:06,209 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 23:19:06,266 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 23:19:06,267 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 12 states and 16 transitions. [2018-11-22 23:19:06,267 INFO L276 IsEmpty]: Start isEmpty. Operand 12 states and 16 transitions. [2018-11-22 23:19:06,267 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-11-22 23:19:06,267 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 23:19:06,268 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-22 23:19:06,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 23:19:06,290 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 23:19:06,298 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 23:19:06,360 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 23:19:06,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 14 states and 19 transitions. [2018-11-22 23:19:06,361 INFO L276 IsEmpty]: Start isEmpty. Operand 14 states and 19 transitions. [2018-11-22 23:19:06,361 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2018-11-22 23:19:06,361 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 23:19:06,362 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-22 23:19:06,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 23:19:06,382 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 23:19:06,393 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 23:19:06,474 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 23:19:06,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 16 states and 21 transitions. [2018-11-22 23:19:06,475 INFO L276 IsEmpty]: Start isEmpty. Operand 16 states and 21 transitions. [2018-11-22 23:19:06,475 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2018-11-22 23:19:06,475 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 23:19:06,476 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-22 23:19:06,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 23:19:06,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 23:19:06,658 WARN L493 CodeCheckObserver]: This program is UNSAFE, Check terminated with 5 iterations. ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] havoc main_#res;havoc main_#t~nondet0, main_#t~nondet1, main_#t~ret2, main_~a~0, main_~b~0, main_~r~1;havoc main_~a~0;havoc main_~b~0;havoc main_~r~1;main_~a~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~b~0 := main_#t~nondet1;havoc main_#t~nondet1;mp_add_#in~a, mp_add_#in~b := main_~a~0, main_~b~0;havoc mp_add_#res;havoc mp_add_~a, mp_add_~b, mp_add_~a0~0, mp_add_~a1~0, mp_add_~a2~0, mp_add_~a3~0, mp_add_~b0~0, mp_add_~b1~0, mp_add_~b2~0, mp_add_~b3~0, mp_add_~r0~0, mp_add_~r1~0, mp_add_~r2~0, mp_add_~r3~0, mp_add_~carry~0, mp_add_~partial_sum~0, mp_add_~r~0, mp_add_~i~0, mp_add_~na~0, mp_add_~nb~0;mp_add_~a := mp_add_#in~a;mp_add_~b := mp_add_#in~b;havoc mp_add_~a0~0;havoc mp_add_~a1~0;havoc mp_add_~a2~0;havoc mp_add_~a3~0;havoc mp_add_~b0~0;havoc mp_add_~b1~0;havoc mp_add_~b2~0;havoc mp_add_~b3~0;havoc mp_add_~r0~0;havoc mp_add_~r1~0;havoc mp_add_~r2~0;havoc mp_add_~r3~0;havoc mp_add_~carry~0;havoc mp_add_~partial_sum~0;havoc mp_add_~r~0;havoc mp_add_~i~0;havoc mp_add_~na~0;havoc mp_add_~nb~0;mp_add_~a0~0 := mp_add_~a[8:0];mp_add_~a1~0 := ~bvlshr32(mp_add_~a, 8bv32)[8:0];mp_add_~a2~0 := ~bvlshr32(mp_add_~a, 16bv32)[8:0];mp_add_~a3~0 := ~bvlshr32(mp_add_~a, 24bv32)[8:0];mp_add_~b0~0 := mp_add_~b[8:0];mp_add_~b1~0 := ~bvlshr32(mp_add_~b, 8bv32)[8:0];mp_add_~b2~0 := ~bvlshr32(mp_add_~b, 16bv32)[8:0];mp_add_~b3~0 := ~bvlshr32(mp_add_~b, 24bv32)[8:0];mp_add_~na~0 := 4bv8;BeginParallelComposition{ParallelCodeBlock0: assume !(~zero_extendFrom8To32(mp_add_~a3~0) == ~zero_extendFrom8To32(0bv8));ParallelCodeBlock1: assume ~zero_extendFrom8To32(mp_add_~a3~0) == ~zero_extendFrom8To32(0bv8);mp_add_~na~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~na~0), 1bv32)[8:0];BeginParallelComposition{ParallelCodeBlock0: assume !(~zero_extendFrom8To32(mp_add_~a2~0) == ~zero_extendFrom8To32(0bv8));ParallelCodeBlock1: assume ~zero_extendFrom8To32(mp_add_~a2~0) == ~zero_extendFrom8To32(0bv8);mp_add_~na~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~na~0), 1bv32)[8:0];BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~a1~0) == ~zero_extendFrom8To32(0bv8);mp_add_~na~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~na~0), 1bv32)[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~a1~0) == ~zero_extendFrom8To32(0bv8));}EndParallelComposition}EndParallelComposition}EndParallelCompositionmp_add_~nb~0 := 4bv8;BeginParallelComposition{ParallelCodeBlock0: assume !(~zero_extendFrom8To32(mp_add_~b3~0) == ~zero_extendFrom8To32(0bv8));ParallelCodeBlock1: assume ~zero_extendFrom8To32(mp_add_~b3~0) == ~zero_extendFrom8To32(0bv8);mp_add_~nb~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~nb~0), 1bv32)[8:0];BeginParallelComposition{ParallelCodeBlock0: assume !(~zero_extendFrom8To32(mp_add_~b2~0) == ~zero_extendFrom8To32(0bv8));ParallelCodeBlock1: assume ~zero_extendFrom8To32(mp_add_~b2~0) == ~zero_extendFrom8To32(0bv8);mp_add_~nb~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~nb~0), 1bv32)[8:0];BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~b1~0) == ~zero_extendFrom8To32(0bv8);mp_add_~nb~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~nb~0), 1bv32)[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~b1~0) == ~zero_extendFrom8To32(0bv8));}EndParallelComposition}EndParallelComposition}EndParallelCompositionmp_add_~carry~0 := 0bv16;mp_add_~i~0 := 0bv8; VAL [ULTIMATE.start_main_~a~0=#x831060e0, ULTIMATE.start_main_~b~0=#x00ef2020, ULTIMATE.start_mp_add_~a=#x831060e0, ULTIMATE.start_mp_add_~a0~0=#xe0, ULTIMATE.start_mp_add_~a1~0=#x60, ULTIMATE.start_mp_add_~a2~0=#x10, ULTIMATE.start_mp_add_~a3~0=#x83, ULTIMATE.start_mp_add_~b=#x00ef2020, ULTIMATE.start_mp_add_~b0~0=#x20, ULTIMATE.start_mp_add_~b1~0=#x20, ULTIMATE.start_mp_add_~b2~0=#xef, ULTIMATE.start_mp_add_~b3~0=#x00, ULTIMATE.start_mp_add_~carry~0=#x0000, ULTIMATE.start_mp_add_~i~0=#x00, ULTIMATE.start_mp_add_~na~0=#x04, ULTIMATE.start_mp_add_~nb~0=#x03, |ULTIMATE.start_mp_add_#in~a|=#x831060e0, |ULTIMATE.start_mp_add_#in~b|=#x00ef2020] [?] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16));mp_add_~partial_sum~0 := mp_add_~carry~0;mp_add_~carry~0 := 0bv16;BeginParallelComposition{ParallelCodeBlock0: assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0));ParallelCodeBlock1: assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0));BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a0~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a1~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a2~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a3~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelComposition}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0));ParallelCodeBlock1: assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0));BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b0~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b1~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b2~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b3~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelComposition}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8));mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0];mp_add_~carry~0 := 1bv16;ParallelCodeBlock1: assume !~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~r0~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~r1~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~r2~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~r3~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelCompositionmp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [ULTIMATE.start_main_~a~0=#x831060e0, ULTIMATE.start_main_~b~0=#x00ef2020, ULTIMATE.start_mp_add_~a=#x831060e0, ULTIMATE.start_mp_add_~a0~0=#xe0, ULTIMATE.start_mp_add_~a1~0=#x60, ULTIMATE.start_mp_add_~a2~0=#x10, ULTIMATE.start_mp_add_~a3~0=#x83, ULTIMATE.start_mp_add_~b=#x00ef2020, ULTIMATE.start_mp_add_~b0~0=#x20, ULTIMATE.start_mp_add_~b1~0=#x20, ULTIMATE.start_mp_add_~b2~0=#xef, ULTIMATE.start_mp_add_~b3~0=#x00, ULTIMATE.start_mp_add_~carry~0=#x0001, ULTIMATE.start_mp_add_~i~0=#x01, ULTIMATE.start_mp_add_~na~0=#x04, ULTIMATE.start_mp_add_~nb~0=#x03, ULTIMATE.start_mp_add_~partial_sum~0=#x0000, ULTIMATE.start_mp_add_~r0~0=#x00, ULTIMATE.start_mp_add_~r1~0=#x01, ULTIMATE.start_mp_add_~r2~0=#x04, ULTIMATE.start_mp_add_~r3~0=#x00, |ULTIMATE.start_mp_add_#in~a|=#x831060e0, |ULTIMATE.start_mp_add_#in~b|=#x00ef2020] [?] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16));mp_add_~partial_sum~0 := mp_add_~carry~0;mp_add_~carry~0 := 0bv16;BeginParallelComposition{ParallelCodeBlock0: assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0));ParallelCodeBlock1: assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0));BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a0~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a1~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a2~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a3~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelComposition}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0));ParallelCodeBlock1: assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0));BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b0~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b1~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b2~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b3~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelComposition}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8));mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0];mp_add_~carry~0 := 1bv16;ParallelCodeBlock1: assume !~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~r0~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~r1~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~r2~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~r3~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelCompositionmp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [ULTIMATE.start_main_~a~0=#x831060e0, ULTIMATE.start_main_~b~0=#x00ef2020, ULTIMATE.start_mp_add_~a=#x831060e0, ULTIMATE.start_mp_add_~a0~0=#xe0, ULTIMATE.start_mp_add_~a1~0=#x60, ULTIMATE.start_mp_add_~a2~0=#x10, ULTIMATE.start_mp_add_~a3~0=#x83, ULTIMATE.start_mp_add_~b=#x00ef2020, ULTIMATE.start_mp_add_~b0~0=#x20, ULTIMATE.start_mp_add_~b1~0=#x20, ULTIMATE.start_mp_add_~b2~0=#xef, ULTIMATE.start_mp_add_~b3~0=#x00, ULTIMATE.start_mp_add_~carry~0=#x0000, ULTIMATE.start_mp_add_~i~0=#x02, ULTIMATE.start_mp_add_~na~0=#x04, ULTIMATE.start_mp_add_~nb~0=#x03, ULTIMATE.start_mp_add_~partial_sum~0=#x0081, ULTIMATE.start_mp_add_~r0~0=#x00, ULTIMATE.start_mp_add_~r1~0=#x81, ULTIMATE.start_mp_add_~r2~0=#x04, ULTIMATE.start_mp_add_~r3~0=#x00, |ULTIMATE.start_mp_add_#in~a|=#x831060e0, |ULTIMATE.start_mp_add_#in~b|=#x00ef2020] [?] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16));mp_add_~partial_sum~0 := mp_add_~carry~0;mp_add_~carry~0 := 0bv16;BeginParallelComposition{ParallelCodeBlock0: assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0));ParallelCodeBlock1: assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0));BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a0~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a1~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a2~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a3~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelComposition}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0));ParallelCodeBlock1: assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0));BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b0~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b1~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b2~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b3~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelComposition}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8));mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0];mp_add_~carry~0 := 1bv16;ParallelCodeBlock1: assume !~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~r0~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~r1~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~r2~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~r3~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelCompositionmp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [ULTIMATE.start_main_~a~0=#x831060e0, ULTIMATE.start_main_~b~0=#x00ef2020, ULTIMATE.start_mp_add_~a=#x831060e0, ULTIMATE.start_mp_add_~a0~0=#xe0, ULTIMATE.start_mp_add_~a1~0=#x60, ULTIMATE.start_mp_add_~a2~0=#x10, ULTIMATE.start_mp_add_~a3~0=#x83, ULTIMATE.start_mp_add_~b=#x00ef2020, ULTIMATE.start_mp_add_~b0~0=#x20, ULTIMATE.start_mp_add_~b1~0=#x20, ULTIMATE.start_mp_add_~b2~0=#xef, ULTIMATE.start_mp_add_~b3~0=#x00, ULTIMATE.start_mp_add_~carry~0=#x0001, ULTIMATE.start_mp_add_~i~0=#x03, ULTIMATE.start_mp_add_~na~0=#x04, ULTIMATE.start_mp_add_~nb~0=#x03, ULTIMATE.start_mp_add_~partial_sum~0=#x00ff, ULTIMATE.start_mp_add_~r0~0=#x00, ULTIMATE.start_mp_add_~r1~0=#x81, ULTIMATE.start_mp_add_~r2~0=#xff, ULTIMATE.start_mp_add_~r3~0=#x00, |ULTIMATE.start_mp_add_#in~a|=#x831060e0, |ULTIMATE.start_mp_add_#in~b|=#x00ef2020] [?] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16));mp_add_~partial_sum~0 := mp_add_~carry~0;mp_add_~carry~0 := 0bv16;BeginParallelComposition{ParallelCodeBlock0: assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0));ParallelCodeBlock1: assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0));BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a0~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a1~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a2~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a3~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelComposition}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0));ParallelCodeBlock1: assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0));BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b0~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b1~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b2~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b3~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelComposition}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8));mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0];mp_add_~carry~0 := 1bv16;ParallelCodeBlock1: assume !~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~r0~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~r1~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~r2~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~r3~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelCompositionmp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [ULTIMATE.start_main_~a~0=#x831060e0, ULTIMATE.start_main_~b~0=#x00ef2020, ULTIMATE.start_mp_add_~a=#x831060e0, ULTIMATE.start_mp_add_~a0~0=#xe0, ULTIMATE.start_mp_add_~a1~0=#x60, ULTIMATE.start_mp_add_~a2~0=#x10, ULTIMATE.start_mp_add_~a3~0=#x83, ULTIMATE.start_mp_add_~b=#x00ef2020, ULTIMATE.start_mp_add_~b0~0=#x20, ULTIMATE.start_mp_add_~b1~0=#x20, ULTIMATE.start_mp_add_~b2~0=#xef, ULTIMATE.start_mp_add_~b3~0=#x00, ULTIMATE.start_mp_add_~carry~0=#x0000, ULTIMATE.start_mp_add_~i~0=#x04, ULTIMATE.start_mp_add_~na~0=#x04, ULTIMATE.start_mp_add_~nb~0=#x03, ULTIMATE.start_mp_add_~partial_sum~0=#x0084, ULTIMATE.start_mp_add_~r0~0=#x00, ULTIMATE.start_mp_add_~r1~0=#x81, ULTIMATE.start_mp_add_~r2~0=#xff, ULTIMATE.start_mp_add_~r3~0=#x84, |ULTIMATE.start_mp_add_#in~a|=#x831060e0, |ULTIMATE.start_mp_add_#in~b|=#x00ef2020] [?] BeginParallelComposition{ParallelCodeBlock0: assume !true;ParallelCodeBlock1: assume !((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16));}EndParallelComposition VAL [ULTIMATE.start_main_~a~0=#x831060e0, ULTIMATE.start_main_~b~0=#x00ef2020, ULTIMATE.start_mp_add_~a=#x831060e0, ULTIMATE.start_mp_add_~a0~0=#xe0, ULTIMATE.start_mp_add_~a1~0=#x60, ULTIMATE.start_mp_add_~a2~0=#x10, ULTIMATE.start_mp_add_~a3~0=#x83, ULTIMATE.start_mp_add_~b=#x00ef2020, ULTIMATE.start_mp_add_~b0~0=#x20, ULTIMATE.start_mp_add_~b1~0=#x20, ULTIMATE.start_mp_add_~b2~0=#xef, ULTIMATE.start_mp_add_~b3~0=#x00, ULTIMATE.start_mp_add_~carry~0=#x0000, ULTIMATE.start_mp_add_~i~0=#x04, ULTIMATE.start_mp_add_~na~0=#x04, ULTIMATE.start_mp_add_~nb~0=#x03, ULTIMATE.start_mp_add_~partial_sum~0=#x0084, ULTIMATE.start_mp_add_~r0~0=#x00, ULTIMATE.start_mp_add_~r1~0=#x81, ULTIMATE.start_mp_add_~r2~0=#xff, ULTIMATE.start_mp_add_~r3~0=#x84, |ULTIMATE.start_mp_add_#in~a|=#x831060e0, |ULTIMATE.start_mp_add_#in~b|=#x00ef2020] [?] BeginParallelComposition{ParallelCodeBlock0: assume !true;ParallelCodeBlock1: assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(4bv8));}EndParallelCompositionmp_add_~r~0 := ~bvor32(~bvor32(~bvor32(~zero_extendFrom8To32(mp_add_~r0~0), ~bvshl32(~zero_extendFrom8To32(mp_add_~r1~0), 8bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r2~0), 16bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r3~0), 24bv32));mp_add_#res := mp_add_~r~0;main_#t~ret2 := mp_add_#res;main_~r~1 := main_#t~ret2;havoc main_#t~ret2;__VERIFIER_assert_#in~cond := (if main_~r~1 == ~bvadd32(main_~a~0, main_~b~0) then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; VAL [ULTIMATE.start___VERIFIER_assert_~cond=#x00000000, ULTIMATE.start_main_~a~0=#x831060e0, ULTIMATE.start_main_~b~0=#x00ef2020, ULTIMATE.start_main_~r~1=#x84ff8100, ULTIMATE.start_mp_add_~a=#x831060e0, ULTIMATE.start_mp_add_~a0~0=#xe0, ULTIMATE.start_mp_add_~a1~0=#x60, ULTIMATE.start_mp_add_~a2~0=#x10, ULTIMATE.start_mp_add_~a3~0=#x83, ULTIMATE.start_mp_add_~b=#x00ef2020, ULTIMATE.start_mp_add_~b0~0=#x20, ULTIMATE.start_mp_add_~b1~0=#x20, ULTIMATE.start_mp_add_~b2~0=#xef, ULTIMATE.start_mp_add_~b3~0=#x00, ULTIMATE.start_mp_add_~carry~0=#x0000, ULTIMATE.start_mp_add_~i~0=#x04, ULTIMATE.start_mp_add_~na~0=#x04, ULTIMATE.start_mp_add_~nb~0=#x03, ULTIMATE.start_mp_add_~partial_sum~0=#x0084, ULTIMATE.start_mp_add_~r0~0=#x00, ULTIMATE.start_mp_add_~r1~0=#x81, ULTIMATE.start_mp_add_~r2~0=#xff, ULTIMATE.start_mp_add_~r3~0=#x84, ULTIMATE.start_mp_add_~r~0=#x84ff8100, |ULTIMATE.start___VERIFIER_assert_#in~cond|=#x00000000, |ULTIMATE.start_mp_add_#in~a|=#x831060e0, |ULTIMATE.start_mp_add_#in~b|=#x00ef2020, |ULTIMATE.start_mp_add_#res|=#x84ff8100] [?] assume 0bv32 == __VERIFIER_assert_~cond; VAL [ULTIMATE.start___VERIFIER_assert_~cond=#x00000000, ULTIMATE.start_main_~a~0=#x831060e0, ULTIMATE.start_main_~b~0=#x00ef2020, ULTIMATE.start_main_~r~1=#x84ff8100, ULTIMATE.start_mp_add_~a=#x831060e0, ULTIMATE.start_mp_add_~a0~0=#xe0, ULTIMATE.start_mp_add_~a1~0=#x60, ULTIMATE.start_mp_add_~a2~0=#x10, ULTIMATE.start_mp_add_~a3~0=#x83, ULTIMATE.start_mp_add_~b=#x00ef2020, ULTIMATE.start_mp_add_~b0~0=#x20, ULTIMATE.start_mp_add_~b1~0=#x20, ULTIMATE.start_mp_add_~b2~0=#xef, ULTIMATE.start_mp_add_~b3~0=#x00, ULTIMATE.start_mp_add_~carry~0=#x0000, ULTIMATE.start_mp_add_~i~0=#x04, ULTIMATE.start_mp_add_~na~0=#x04, ULTIMATE.start_mp_add_~nb~0=#x03, ULTIMATE.start_mp_add_~partial_sum~0=#x0084, ULTIMATE.start_mp_add_~r0~0=#x00, ULTIMATE.start_mp_add_~r1~0=#x81, ULTIMATE.start_mp_add_~r2~0=#xff, ULTIMATE.start_mp_add_~r3~0=#x84, ULTIMATE.start_mp_add_~r~0=#x84ff8100, |ULTIMATE.start___VERIFIER_assert_#in~cond|=#x00000000, |ULTIMATE.start_mp_add_#in~a|=#x831060e0, |ULTIMATE.start_mp_add_#in~b|=#x00ef2020, |ULTIMATE.start_mp_add_#res|=#x84ff8100] [?] assume !false; VAL [ULTIMATE.start___VERIFIER_assert_~cond=#x00000000, ULTIMATE.start_main_~a~0=#x831060e0, ULTIMATE.start_main_~b~0=#x00ef2020, ULTIMATE.start_main_~r~1=#x84ff8100, ULTIMATE.start_mp_add_~a=#x831060e0, ULTIMATE.start_mp_add_~a0~0=#xe0, ULTIMATE.start_mp_add_~a1~0=#x60, ULTIMATE.start_mp_add_~a2~0=#x10, ULTIMATE.start_mp_add_~a3~0=#x83, ULTIMATE.start_mp_add_~b=#x00ef2020, ULTIMATE.start_mp_add_~b0~0=#x20, ULTIMATE.start_mp_add_~b1~0=#x20, ULTIMATE.start_mp_add_~b2~0=#xef, ULTIMATE.start_mp_add_~b3~0=#x00, ULTIMATE.start_mp_add_~carry~0=#x0000, ULTIMATE.start_mp_add_~i~0=#x04, ULTIMATE.start_mp_add_~na~0=#x04, ULTIMATE.start_mp_add_~nb~0=#x03, ULTIMATE.start_mp_add_~partial_sum~0=#x0084, ULTIMATE.start_mp_add_~r0~0=#x00, ULTIMATE.start_mp_add_~r1~0=#x81, ULTIMATE.start_mp_add_~r2~0=#xff, ULTIMATE.start_mp_add_~r3~0=#x84, ULTIMATE.start_mp_add_~r~0=#x84ff8100, |ULTIMATE.start___VERIFIER_assert_#in~cond|=#x00000000, |ULTIMATE.start_mp_add_#in~a|=#x831060e0, |ULTIMATE.start_mp_add_#in~b|=#x00ef2020, |ULTIMATE.start_mp_add_#res|=#x84ff8100] [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~ret2, main_~a~0, main_~b~0, main_~r~1; [L105] havoc main_~a~0; [L105] havoc main_~b~0; [L105] havoc main_~r~1; [L107] main_~a~0 := main_#t~nondet0; [L107] havoc main_#t~nondet0; [L108] main_~b~0 := main_#t~nondet1; [L108] havoc main_#t~nondet1; [L110] mp_add_#in~a, mp_add_#in~b := main_~a~0, main_~b~0; [L110] havoc mp_add_#res; [L110] havoc mp_add_~a, mp_add_~b, mp_add_~a0~0, mp_add_~a1~0, mp_add_~a2~0, mp_add_~a3~0, mp_add_~b0~0, mp_add_~b1~0, mp_add_~b2~0, mp_add_~b3~0, mp_add_~r0~0, mp_add_~r1~0, mp_add_~r2~0, mp_add_~r3~0, mp_add_~carry~0, mp_add_~partial_sum~0, mp_add_~r~0, mp_add_~i~0, mp_add_~na~0, mp_add_~nb~0; [L21-L100] mp_add_~a := mp_add_#in~a; [L21-L100] mp_add_~b := mp_add_#in~b; [L23] havoc mp_add_~a0~0; [L23] havoc mp_add_~a1~0; [L23] havoc mp_add_~a2~0; [L23] havoc mp_add_~a3~0; [L24] havoc mp_add_~b0~0; [L24] havoc mp_add_~b1~0; [L24] havoc mp_add_~b2~0; [L24] havoc mp_add_~b3~0; [L25] havoc mp_add_~r0~0; [L25] havoc mp_add_~r1~0; [L25] havoc mp_add_~r2~0; [L25] havoc mp_add_~r3~0; [L26] havoc mp_add_~carry~0; [L27] havoc mp_add_~partial_sum~0; [L28] havoc mp_add_~r~0; [L29] havoc mp_add_~i~0; [L30] havoc mp_add_~na~0; [L30] havoc mp_add_~nb~0; [L31] mp_add_~a0~0 := mp_add_~a[8:0]; [L32] mp_add_~a1~0 := ~bvlshr32(mp_add_~a, 8bv32)[8:0]; [L33] mp_add_~a2~0 := ~bvlshr32(mp_add_~a, 16bv32)[8:0]; [L34] mp_add_~a3~0 := ~bvlshr32(mp_add_~a, 24bv32)[8:0]; [L35] mp_add_~b0~0 := mp_add_~b[8:0]; [L36] mp_add_~b1~0 := ~bvlshr32(mp_add_~b, 8bv32)[8:0]; [L37] mp_add_~b2~0 := ~bvlshr32(mp_add_~b, 16bv32)[8:0]; [L38] mp_add_~b3~0 := ~bvlshr32(mp_add_~b, 24bv32)[8:0]; [L39] mp_add_~na~0 := 4bv8; [L40-L48] assume !(~zero_extendFrom8To32(mp_add_~a3~0) == ~zero_extendFrom8To32(0bv8)); [L49] mp_add_~nb~0 := 4bv8; [L50-L58] assume ~zero_extendFrom8To32(mp_add_~b3~0) == ~zero_extendFrom8To32(0bv8); [L51] mp_add_~nb~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~nb~0), 1bv32)[8:0]; [L52-L57] assume !(~zero_extendFrom8To32(mp_add_~b2~0) == ~zero_extendFrom8To32(0bv8)); [L59] mp_add_~carry~0 := 0bv16; [L60] mp_add_~i~0 := 0bv8; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=0bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8] [L61-L86] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64-L69] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)); [L65] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8); [L65] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a0~0))[16:0]; [L66] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L67] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L68] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L70-L75] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)); [L71] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8); [L71] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b0~0))[16:0]; [L72] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L73] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L74] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L76-L79] assume ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)); [L77] mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] mp_add_~carry~0 := 1bv16; [L80] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8); [L80] mp_add_~r0~0 := mp_add_~partial_sum~0[8:0]; [L81] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L82] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L83] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=1bv16, mp_add_~i~0=1bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=0bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=1bv8, mp_add_~r2~0=4bv8, mp_add_~r3~0=0bv8] [L61-L86] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64-L69] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)); [L65] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L66] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8); [L66] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a1~0))[16:0]; [L67] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L68] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L70-L75] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)); [L71] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L72] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8); [L72] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b1~0))[16:0]; [L73] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L74] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L76-L79] assume !~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)); [L80] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L81] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8); [L81] mp_add_~r1~0 := mp_add_~partial_sum~0[8:0]; [L82] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L83] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=2bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=129bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=4bv8, mp_add_~r3~0=0bv8] [L61-L86] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64-L69] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)); [L65] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L66] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L67] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8); [L67] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a2~0))[16:0]; [L68] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L70-L75] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)); [L71] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L72] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L73] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8); [L73] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b2~0))[16:0]; [L74] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L76-L79] assume ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)); [L77] mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] mp_add_~carry~0 := 1bv16; [L80] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L81] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L82] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8); [L82] mp_add_~r2~0 := mp_add_~partial_sum~0[8:0]; [L83] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=1bv16, mp_add_~i~0=3bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=255bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=0bv8] [L61-L86] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64-L69] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)); [L65] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L66] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L67] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L68] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8); [L68] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a3~0))[16:0]; [L70-L75] assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)); [L76-L79] assume !~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)); [L80] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L81] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L82] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L83] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8); [L83] mp_add_~r3~0 := mp_add_~partial_sum~0[8:0]; [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8] [L61-L86] assume !((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8] [L88-L95] assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(4bv8)); [L97] mp_add_~r~0 := ~bvor32(~bvor32(~bvor32(~zero_extendFrom8To32(mp_add_~r0~0), ~bvshl32(~zero_extendFrom8To32(mp_add_~r1~0), 8bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r2~0), 16bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r3~0), 24bv32)); [L99] mp_add_#res := mp_add_~r~0; [L110] main_#t~ret2 := mp_add_#res; [L110] main_~r~1 := main_#t~ret2; [L110] havoc main_#t~ret2; [L112] __VERIFIER_assert_#in~cond := (if main_~r~1 == ~bvadd32(main_~a~0, main_~b~0) then 1bv32 else 0bv32); [L112] havoc __VERIFIER_assert_~cond; [L4-L9] __VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [L5-L7] assume 0bv32 == __VERIFIER_assert_~cond; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [L6] assert false; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~ret2, main_~a~0, main_~b~0, main_~r~1; [L105] havoc main_~a~0; [L105] havoc main_~b~0; [L105] havoc main_~r~1; [L107] main_~a~0 := main_#t~nondet0; [L107] havoc main_#t~nondet0; [L108] main_~b~0 := main_#t~nondet1; [L108] havoc main_#t~nondet1; [L110] mp_add_#in~a, mp_add_#in~b := main_~a~0, main_~b~0; [L110] havoc mp_add_#res; [L110] havoc mp_add_~a, mp_add_~b, mp_add_~a0~0, mp_add_~a1~0, mp_add_~a2~0, mp_add_~a3~0, mp_add_~b0~0, mp_add_~b1~0, mp_add_~b2~0, mp_add_~b3~0, mp_add_~r0~0, mp_add_~r1~0, mp_add_~r2~0, mp_add_~r3~0, mp_add_~carry~0, mp_add_~partial_sum~0, mp_add_~r~0, mp_add_~i~0, mp_add_~na~0, mp_add_~nb~0; [L21-L100] mp_add_~a := mp_add_#in~a; [L21-L100] mp_add_~b := mp_add_#in~b; [L23] havoc mp_add_~a0~0; [L23] havoc mp_add_~a1~0; [L23] havoc mp_add_~a2~0; [L23] havoc mp_add_~a3~0; [L24] havoc mp_add_~b0~0; [L24] havoc mp_add_~b1~0; [L24] havoc mp_add_~b2~0; [L24] havoc mp_add_~b3~0; [L25] havoc mp_add_~r0~0; [L25] havoc mp_add_~r1~0; [L25] havoc mp_add_~r2~0; [L25] havoc mp_add_~r3~0; [L26] havoc mp_add_~carry~0; [L27] havoc mp_add_~partial_sum~0; [L28] havoc mp_add_~r~0; [L29] havoc mp_add_~i~0; [L30] havoc mp_add_~na~0; [L30] havoc mp_add_~nb~0; [L31] mp_add_~a0~0 := mp_add_~a[8:0]; [L32] mp_add_~a1~0 := ~bvlshr32(mp_add_~a, 8bv32)[8:0]; [L33] mp_add_~a2~0 := ~bvlshr32(mp_add_~a, 16bv32)[8:0]; [L34] mp_add_~a3~0 := ~bvlshr32(mp_add_~a, 24bv32)[8:0]; [L35] mp_add_~b0~0 := mp_add_~b[8:0]; [L36] mp_add_~b1~0 := ~bvlshr32(mp_add_~b, 8bv32)[8:0]; [L37] mp_add_~b2~0 := ~bvlshr32(mp_add_~b, 16bv32)[8:0]; [L38] mp_add_~b3~0 := ~bvlshr32(mp_add_~b, 24bv32)[8:0]; [L39] mp_add_~na~0 := 4bv8; [L40-L48] assume !(~zero_extendFrom8To32(mp_add_~a3~0) == ~zero_extendFrom8To32(0bv8)); [L49] mp_add_~nb~0 := 4bv8; [L50-L58] assume ~zero_extendFrom8To32(mp_add_~b3~0) == ~zero_extendFrom8To32(0bv8); [L51] mp_add_~nb~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~nb~0), 1bv32)[8:0]; [L52-L57] assume !(~zero_extendFrom8To32(mp_add_~b2~0) == ~zero_extendFrom8To32(0bv8)); [L59] mp_add_~carry~0 := 0bv16; [L60] mp_add_~i~0 := 0bv8; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=0bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8] [L61-L86] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64-L69] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)); [L65] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8); [L65] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a0~0))[16:0]; [L66] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L67] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L68] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L70-L75] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)); [L71] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8); [L71] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b0~0))[16:0]; [L72] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L73] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L74] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L76-L79] assume ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)); [L77] mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] mp_add_~carry~0 := 1bv16; [L80] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8); [L80] mp_add_~r0~0 := mp_add_~partial_sum~0[8:0]; [L81] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L82] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L83] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=1bv16, mp_add_~i~0=1bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=0bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=1bv8, mp_add_~r2~0=4bv8, mp_add_~r3~0=0bv8] [L61-L86] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64-L69] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)); [L65] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L66] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8); [L66] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a1~0))[16:0]; [L67] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L68] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L70-L75] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)); [L71] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L72] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8); [L72] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b1~0))[16:0]; [L73] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L74] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L76-L79] assume !~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)); [L80] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L81] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8); [L81] mp_add_~r1~0 := mp_add_~partial_sum~0[8:0]; [L82] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L83] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=2bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=129bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=4bv8, mp_add_~r3~0=0bv8] [L61-L86] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64-L69] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)); [L65] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L66] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L67] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8); [L67] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a2~0))[16:0]; [L68] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L70-L75] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)); [L71] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L72] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L73] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8); [L73] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b2~0))[16:0]; [L74] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L76-L79] assume ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)); [L77] mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] mp_add_~carry~0 := 1bv16; [L80] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L81] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L82] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8); [L82] mp_add_~r2~0 := mp_add_~partial_sum~0[8:0]; [L83] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=1bv16, mp_add_~i~0=3bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=255bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=0bv8] [L61-L86] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64-L69] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)); [L65] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L66] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L67] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L68] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8); [L68] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a3~0))[16:0]; [L70-L75] assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)); [L76-L79] assume !~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)); [L80] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L81] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L82] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L83] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8); [L83] mp_add_~r3~0 := mp_add_~partial_sum~0[8:0]; [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8] [L61-L86] assume !((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8] [L88-L95] assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(4bv8)); [L97] mp_add_~r~0 := ~bvor32(~bvor32(~bvor32(~zero_extendFrom8To32(mp_add_~r0~0), ~bvshl32(~zero_extendFrom8To32(mp_add_~r1~0), 8bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r2~0), 16bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r3~0), 24bv32)); [L99] mp_add_#res := mp_add_~r~0; [L110] main_#t~ret2 := mp_add_#res; [L110] main_~r~1 := main_#t~ret2; [L110] havoc main_#t~ret2; [L112] __VERIFIER_assert_#in~cond := (if main_~r~1 == ~bvadd32(main_~a~0, main_~b~0) then 1bv32 else 0bv32); [L112] havoc __VERIFIER_assert_~cond; [L4-L9] __VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [L5-L7] assume 0bv32 == __VERIFIER_assert_~cond; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [L6] assert false; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~ret2, main_~a~0, main_~b~0, main_~r~1; [L105] havoc main_~a~0; [L105] havoc main_~b~0; [L105] havoc main_~r~1; [L107] main_~a~0 := main_#t~nondet0; [L107] havoc main_#t~nondet0; [L108] main_~b~0 := main_#t~nondet1; [L108] havoc main_#t~nondet1; [L110] mp_add_#in~a, mp_add_#in~b := main_~a~0, main_~b~0; [L110] havoc mp_add_#res; [L110] havoc mp_add_~a, mp_add_~b, mp_add_~a0~0, mp_add_~a1~0, mp_add_~a2~0, mp_add_~a3~0, mp_add_~b0~0, mp_add_~b1~0, mp_add_~b2~0, mp_add_~b3~0, mp_add_~r0~0, mp_add_~r1~0, mp_add_~r2~0, mp_add_~r3~0, mp_add_~carry~0, mp_add_~partial_sum~0, mp_add_~r~0, mp_add_~i~0, mp_add_~na~0, mp_add_~nb~0; [L21-L100] mp_add_~a := mp_add_#in~a; [L21-L100] mp_add_~b := mp_add_#in~b; [L23] havoc mp_add_~a0~0; [L23] havoc mp_add_~a1~0; [L23] havoc mp_add_~a2~0; [L23] havoc mp_add_~a3~0; [L24] havoc mp_add_~b0~0; [L24] havoc mp_add_~b1~0; [L24] havoc mp_add_~b2~0; [L24] havoc mp_add_~b3~0; [L25] havoc mp_add_~r0~0; [L25] havoc mp_add_~r1~0; [L25] havoc mp_add_~r2~0; [L25] havoc mp_add_~r3~0; [L26] havoc mp_add_~carry~0; [L27] havoc mp_add_~partial_sum~0; [L28] havoc mp_add_~r~0; [L29] havoc mp_add_~i~0; [L30] havoc mp_add_~na~0; [L30] havoc mp_add_~nb~0; [L31] mp_add_~a0~0 := mp_add_~a[8:0]; [L32] mp_add_~a1~0 := ~bvlshr32(mp_add_~a, 8bv32)[8:0]; [L33] mp_add_~a2~0 := ~bvlshr32(mp_add_~a, 16bv32)[8:0]; [L34] mp_add_~a3~0 := ~bvlshr32(mp_add_~a, 24bv32)[8:0]; [L35] mp_add_~b0~0 := mp_add_~b[8:0]; [L36] mp_add_~b1~0 := ~bvlshr32(mp_add_~b, 8bv32)[8:0]; [L37] mp_add_~b2~0 := ~bvlshr32(mp_add_~b, 16bv32)[8:0]; [L38] mp_add_~b3~0 := ~bvlshr32(mp_add_~b, 24bv32)[8:0]; [L39] mp_add_~na~0 := 4bv8; [L40] COND FALSE !(~zero_extendFrom8To32(mp_add_~a3~0) == ~zero_extendFrom8To32(0bv8)) [L49] mp_add_~nb~0 := 4bv8; [L50] COND TRUE ~zero_extendFrom8To32(mp_add_~b3~0) == ~zero_extendFrom8To32(0bv8) [L51] mp_add_~nb~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~nb~0), 1bv32)[8:0]; [L52] COND FALSE !(~zero_extendFrom8To32(mp_add_~b2~0) == ~zero_extendFrom8To32(0bv8)) [L59] mp_add_~carry~0 := 0bv16; [L60] mp_add_~i~0 := 0bv8; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=0bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8] [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) [L65] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8) [L65] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a0~0))[16:0]; [L66] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)) [L71] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8) [L71] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b0~0))[16:0]; [L72] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L73] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L74] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND TRUE ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)) [L77] mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] mp_add_~carry~0 := 1bv16; [L80] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8) [L80] mp_add_~r0~0 := mp_add_~partial_sum~0[8:0]; [L81] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=1bv16, mp_add_~i~0=1bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=0bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=1bv8, mp_add_~r2~0=4bv8, mp_add_~r3~0=0bv8] [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8) [L66] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a1~0))[16:0]; [L67] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)) [L71] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L72] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8) [L72] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b1~0))[16:0]; [L73] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L74] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND FALSE !(~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8))) [L80] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8) [L81] mp_add_~r1~0 := mp_add_~partial_sum~0[8:0]; [L82] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=2bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=129bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=4bv8, mp_add_~r3~0=0bv8] [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8) [L67] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a2~0))[16:0]; [L68] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)) [L71] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L72] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L73] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8) [L73] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b2~0))[16:0]; [L74] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND TRUE ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)) [L77] mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] mp_add_~carry~0 := 1bv16; [L80] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8) [L82] mp_add_~r2~0 := mp_add_~partial_sum~0[8:0]; [L83] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=1bv16, mp_add_~i~0=3bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=255bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=0bv8] [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8) [L68] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a3~0))[16:0]; [L70] COND FALSE !(~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) [L76] COND FALSE !(~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8))) [L80] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8) [L83] mp_add_~r3~0 := mp_add_~partial_sum~0[8:0]; [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8] [L61-L86] COND TRUE !((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)) VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8] [L88-L95] COND TRUE !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(4bv8)) [L97] mp_add_~r~0 := ~bvor32(~bvor32(~bvor32(~zero_extendFrom8To32(mp_add_~r0~0), ~bvshl32(~zero_extendFrom8To32(mp_add_~r1~0), 8bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r2~0), 16bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r3~0), 24bv32)); [L99] mp_add_#res := mp_add_~r~0; [L110] main_#t~ret2 := mp_add_#res; [L110] main_~r~1 := main_#t~ret2; [L110] havoc main_#t~ret2; [L112] __VERIFIER_assert_#in~cond := (if main_~r~1 == ~bvadd32(main_~a~0, main_~b~0) then 1bv32 else 0bv32); [L112] havoc __VERIFIER_assert_~cond; [L4-L9] __VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [L5] COND TRUE 0bv32 == __VERIFIER_assert_~cond VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [L6] assert false; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~ret2, main_~a~0, main_~b~0, main_~r~1; [L105] havoc main_~a~0; [L105] havoc main_~b~0; [L105] havoc main_~r~1; [L107] main_~a~0 := main_#t~nondet0; [L107] havoc main_#t~nondet0; [L108] main_~b~0 := main_#t~nondet1; [L108] havoc main_#t~nondet1; [L110] mp_add_#in~a, mp_add_#in~b := main_~a~0, main_~b~0; [L110] havoc mp_add_#res; [L110] havoc mp_add_~a, mp_add_~b, mp_add_~a0~0, mp_add_~a1~0, mp_add_~a2~0, mp_add_~a3~0, mp_add_~b0~0, mp_add_~b1~0, mp_add_~b2~0, mp_add_~b3~0, mp_add_~r0~0, mp_add_~r1~0, mp_add_~r2~0, mp_add_~r3~0, mp_add_~carry~0, mp_add_~partial_sum~0, mp_add_~r~0, mp_add_~i~0, mp_add_~na~0, mp_add_~nb~0; [L21-L100] mp_add_~a := mp_add_#in~a; [L21-L100] mp_add_~b := mp_add_#in~b; [L23] havoc mp_add_~a0~0; [L23] havoc mp_add_~a1~0; [L23] havoc mp_add_~a2~0; [L23] havoc mp_add_~a3~0; [L24] havoc mp_add_~b0~0; [L24] havoc mp_add_~b1~0; [L24] havoc mp_add_~b2~0; [L24] havoc mp_add_~b3~0; [L25] havoc mp_add_~r0~0; [L25] havoc mp_add_~r1~0; [L25] havoc mp_add_~r2~0; [L25] havoc mp_add_~r3~0; [L26] havoc mp_add_~carry~0; [L27] havoc mp_add_~partial_sum~0; [L28] havoc mp_add_~r~0; [L29] havoc mp_add_~i~0; [L30] havoc mp_add_~na~0; [L30] havoc mp_add_~nb~0; [L31] mp_add_~a0~0 := mp_add_~a[8:0]; [L32] mp_add_~a1~0 := ~bvlshr32(mp_add_~a, 8bv32)[8:0]; [L33] mp_add_~a2~0 := ~bvlshr32(mp_add_~a, 16bv32)[8:0]; [L34] mp_add_~a3~0 := ~bvlshr32(mp_add_~a, 24bv32)[8:0]; [L35] mp_add_~b0~0 := mp_add_~b[8:0]; [L36] mp_add_~b1~0 := ~bvlshr32(mp_add_~b, 8bv32)[8:0]; [L37] mp_add_~b2~0 := ~bvlshr32(mp_add_~b, 16bv32)[8:0]; [L38] mp_add_~b3~0 := ~bvlshr32(mp_add_~b, 24bv32)[8:0]; [L39] mp_add_~na~0 := 4bv8; [L40] COND FALSE !(~zero_extendFrom8To32(mp_add_~a3~0) == ~zero_extendFrom8To32(0bv8)) [L49] mp_add_~nb~0 := 4bv8; [L50] COND TRUE ~zero_extendFrom8To32(mp_add_~b3~0) == ~zero_extendFrom8To32(0bv8) [L51] mp_add_~nb~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~nb~0), 1bv32)[8:0]; [L52] COND FALSE !(~zero_extendFrom8To32(mp_add_~b2~0) == ~zero_extendFrom8To32(0bv8)) [L59] mp_add_~carry~0 := 0bv16; [L60] mp_add_~i~0 := 0bv8; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=0bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8] [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) [L65] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8) [L65] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a0~0))[16:0]; [L66] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)) [L71] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8) [L71] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b0~0))[16:0]; [L72] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L73] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L74] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND TRUE ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)) [L77] mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] mp_add_~carry~0 := 1bv16; [L80] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8) [L80] mp_add_~r0~0 := mp_add_~partial_sum~0[8:0]; [L81] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=1bv16, mp_add_~i~0=1bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=0bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=1bv8, mp_add_~r2~0=4bv8, mp_add_~r3~0=0bv8] [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8) [L66] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a1~0))[16:0]; [L67] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)) [L71] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L72] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8) [L72] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b1~0))[16:0]; [L73] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L74] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND FALSE !(~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8))) [L80] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8) [L81] mp_add_~r1~0 := mp_add_~partial_sum~0[8:0]; [L82] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=2bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=129bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=4bv8, mp_add_~r3~0=0bv8] [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8) [L67] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a2~0))[16:0]; [L68] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)) [L71] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L72] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L73] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8) [L73] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b2~0))[16:0]; [L74] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND TRUE ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)) [L77] mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] mp_add_~carry~0 := 1bv16; [L80] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8) [L82] mp_add_~r2~0 := mp_add_~partial_sum~0[8:0]; [L83] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=1bv16, mp_add_~i~0=3bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=255bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=0bv8] [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8) [L68] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a3~0))[16:0]; [L70] COND FALSE !(~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) [L76] COND FALSE !(~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8))) [L80] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8) [L83] mp_add_~r3~0 := mp_add_~partial_sum~0[8:0]; [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8] [L61-L86] COND TRUE !((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)) VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8] [L88-L95] COND TRUE !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(4bv8)) [L97] mp_add_~r~0 := ~bvor32(~bvor32(~bvor32(~zero_extendFrom8To32(mp_add_~r0~0), ~bvshl32(~zero_extendFrom8To32(mp_add_~r1~0), 8bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r2~0), 16bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r3~0), 24bv32)); [L99] mp_add_#res := mp_add_~r~0; [L110] main_#t~ret2 := mp_add_#res; [L110] main_~r~1 := main_#t~ret2; [L110] havoc main_#t~ret2; [L112] __VERIFIER_assert_#in~cond := (if main_~r~1 == ~bvadd32(main_~a~0, main_~b~0) then 1bv32 else 0bv32); [L112] havoc __VERIFIER_assert_~cond; [L4-L9] __VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [L5] COND TRUE 0bv32 == __VERIFIER_assert_~cond VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [L6] assert false; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [L105] havoc ~a~0; [L105] havoc ~b~0; [L105] havoc ~r~1; [L107] ~a~0 := #t~nondet0; [L107] havoc #t~nondet0; [L108] ~b~0 := #t~nondet1; [L108] havoc #t~nondet1; [L21-L100] ~a := #in~a; [L21-L100] ~b := #in~b; [L23] havoc ~a0~0; [L23] havoc ~a1~0; [L23] havoc ~a2~0; [L23] havoc ~a3~0; [L24] havoc ~b0~0; [L24] havoc ~b1~0; [L24] havoc ~b2~0; [L24] havoc ~b3~0; [L25] havoc ~r0~0; [L25] havoc ~r1~0; [L25] havoc ~r2~0; [L25] havoc ~r3~0; [L26] havoc ~carry~0; [L27] havoc ~partial_sum~0; [L28] havoc ~r~0; [L29] havoc ~i~0; [L30] havoc ~na~0; [L30] havoc ~nb~0; [L31] ~a0~0 := ~a[8:0]; [L32] ~a1~0 := ~bvlshr32(~a, 8bv32)[8:0]; [L33] ~a2~0 := ~bvlshr32(~a, 16bv32)[8:0]; [L34] ~a3~0 := ~bvlshr32(~a, 24bv32)[8:0]; [L35] ~b0~0 := ~b[8:0]; [L36] ~b1~0 := ~bvlshr32(~b, 8bv32)[8:0]; [L37] ~b2~0 := ~bvlshr32(~b, 16bv32)[8:0]; [L38] ~b3~0 := ~bvlshr32(~b, 24bv32)[8:0]; [L39] ~na~0 := 4bv8; [L40] COND FALSE !(~zero_extendFrom8To32(~a3~0) == ~zero_extendFrom8To32(0bv8)) [L49] ~nb~0 := 4bv8; [L50] COND TRUE ~zero_extendFrom8To32(~b3~0) == ~zero_extendFrom8To32(0bv8) [L51] ~nb~0 := ~bvsub32(~zero_extendFrom8To32(~nb~0), 1bv32)[8:0]; [L52] COND FALSE !(~zero_extendFrom8To32(~b2~0) == ~zero_extendFrom8To32(0bv8)) [L59] ~carry~0 := 0bv16; [L60] ~i~0 := 0bv8; [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] ~partial_sum~0 := ~carry~0; [L63] ~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) [L65] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8) [L65] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~a0~0))[16:0]; [L66] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0)) [L71] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8) [L71] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~b0~0))[16:0]; [L72] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L73] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L74] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND TRUE ~bvsgt32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(254bv8)) [L77] ~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] ~carry~0 := 1bv16; [L80] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8) [L80] ~r0~0 := ~partial_sum~0[8:0]; [L81] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] ~i~0 := ~bvadd32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] ~partial_sum~0 := ~carry~0; [L63] ~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8) [L66] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~a1~0))[16:0]; [L67] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0)) [L71] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L72] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8) [L72] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~b1~0))[16:0]; [L73] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L74] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND FALSE !(~bvsgt32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(254bv8))) [L80] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8) [L81] ~r1~0 := ~partial_sum~0[8:0]; [L82] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] ~i~0 := ~bvadd32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] ~partial_sum~0 := ~carry~0; [L63] ~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8) [L67] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~a2~0))[16:0]; [L68] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0)) [L71] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L72] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L73] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8) [L73] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~b2~0))[16:0]; [L74] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND TRUE ~bvsgt32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(254bv8)) [L77] ~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] ~carry~0 := 1bv16; [L80] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8) [L82] ~r2~0 := ~partial_sum~0[8:0]; [L83] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] ~i~0 := ~bvadd32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] ~partial_sum~0 := ~carry~0; [L63] ~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8) [L68] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~a3~0))[16:0]; [L70] COND FALSE !(~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) [L76] COND FALSE !(~bvsgt32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(254bv8))) [L80] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8) [L83] ~r3~0 := ~partial_sum~0[8:0]; [L85] ~i~0 := ~bvadd32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; [L61-L86] COND TRUE !((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16)) [L88-L95] COND TRUE !~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(4bv8)) [L97] ~r~0 := ~bvor32(~bvor32(~bvor32(~zero_extendFrom8To32(~r0~0), ~bvshl32(~zero_extendFrom8To32(~r1~0), 8bv32)), ~bvshl32(~zero_extendFrom8To32(~r2~0), 16bv32)), ~bvshl32(~zero_extendFrom8To32(~r3~0), 24bv32)); [L99] #res := ~r~0; [L110] ~r~1 := #t~ret2; [L110] havoc #t~ret2; [L4-L9] ~cond := #in~cond; [L5] COND TRUE 0bv32 == ~cond [L6] assert false; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L105] havoc ~a~0; [L105] havoc ~b~0; [L105] havoc ~r~1; [L107] ~a~0 := #t~nondet0; [L107] havoc #t~nondet0; [L108] ~b~0 := #t~nondet1; [L108] havoc #t~nondet1; [L21-L100] ~a := #in~a; [L21-L100] ~b := #in~b; [L23] havoc ~a0~0; [L23] havoc ~a1~0; [L23] havoc ~a2~0; [L23] havoc ~a3~0; [L24] havoc ~b0~0; [L24] havoc ~b1~0; [L24] havoc ~b2~0; [L24] havoc ~b3~0; [L25] havoc ~r0~0; [L25] havoc ~r1~0; [L25] havoc ~r2~0; [L25] havoc ~r3~0; [L26] havoc ~carry~0; [L27] havoc ~partial_sum~0; [L28] havoc ~r~0; [L29] havoc ~i~0; [L30] havoc ~na~0; [L30] havoc ~nb~0; [L31] ~a0~0 := ~a[8:0]; [L32] ~a1~0 := ~bvlshr32(~a, 8bv32)[8:0]; [L33] ~a2~0 := ~bvlshr32(~a, 16bv32)[8:0]; [L34] ~a3~0 := ~bvlshr32(~a, 24bv32)[8:0]; [L35] ~b0~0 := ~b[8:0]; [L36] ~b1~0 := ~bvlshr32(~b, 8bv32)[8:0]; [L37] ~b2~0 := ~bvlshr32(~b, 16bv32)[8:0]; [L38] ~b3~0 := ~bvlshr32(~b, 24bv32)[8:0]; [L39] ~na~0 := 4bv8; [L40] COND FALSE !(~zero_extendFrom8To32(~a3~0) == ~zero_extendFrom8To32(0bv8)) [L49] ~nb~0 := 4bv8; [L50] COND TRUE ~zero_extendFrom8To32(~b3~0) == ~zero_extendFrom8To32(0bv8) [L51] ~nb~0 := ~bvsub32(~zero_extendFrom8To32(~nb~0), 1bv32)[8:0]; [L52] COND FALSE !(~zero_extendFrom8To32(~b2~0) == ~zero_extendFrom8To32(0bv8)) [L59] ~carry~0 := 0bv16; [L60] ~i~0 := 0bv8; [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] ~partial_sum~0 := ~carry~0; [L63] ~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) [L65] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8) [L65] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~a0~0))[16:0]; [L66] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0)) [L71] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8) [L71] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~b0~0))[16:0]; [L72] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L73] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L74] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND TRUE ~bvsgt32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(254bv8)) [L77] ~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] ~carry~0 := 1bv16; [L80] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8) [L80] ~r0~0 := ~partial_sum~0[8:0]; [L81] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] ~i~0 := ~bvadd32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] ~partial_sum~0 := ~carry~0; [L63] ~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8) [L66] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~a1~0))[16:0]; [L67] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0)) [L71] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L72] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8) [L72] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~b1~0))[16:0]; [L73] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L74] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND FALSE !(~bvsgt32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(254bv8))) [L80] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8) [L81] ~r1~0 := ~partial_sum~0[8:0]; [L82] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] ~i~0 := ~bvadd32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] ~partial_sum~0 := ~carry~0; [L63] ~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8) [L67] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~a2~0))[16:0]; [L68] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0)) [L71] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L72] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L73] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8) [L73] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~b2~0))[16:0]; [L74] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND TRUE ~bvsgt32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(254bv8)) [L77] ~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] ~carry~0 := 1bv16; [L80] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8) [L82] ~r2~0 := ~partial_sum~0[8:0]; [L83] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] ~i~0 := ~bvadd32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] ~partial_sum~0 := ~carry~0; [L63] ~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8) [L68] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~a3~0))[16:0]; [L70] COND FALSE !(~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) [L76] COND FALSE !(~bvsgt32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(254bv8))) [L80] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8) [L83] ~r3~0 := ~partial_sum~0[8:0]; [L85] ~i~0 := ~bvadd32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; [L61-L86] COND TRUE !((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16)) [L88-L95] COND TRUE !~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(4bv8)) [L97] ~r~0 := ~bvor32(~bvor32(~bvor32(~zero_extendFrom8To32(~r0~0), ~bvshl32(~zero_extendFrom8To32(~r1~0), 8bv32)), ~bvshl32(~zero_extendFrom8To32(~r2~0), 16bv32)), ~bvshl32(~zero_extendFrom8To32(~r3~0), 24bv32)); [L99] #res := ~r~0; [L110] ~r~1 := #t~ret2; [L110] havoc #t~ret2; [L4-L9] ~cond := #in~cond; [L5] COND TRUE 0bv32 == ~cond [L6] assert false; [L105] unsigned int a, b, r; [L107] a = __VERIFIER_nondet_uint() [L108] b = __VERIFIER_nondet_uint() [L23] unsigned char a0, a1, a2, a3; [L24] unsigned char b0, b1, b2, b3; [L25] unsigned char r0, r1, r2, r3; [L26] unsigned short carry; [L27] unsigned short partial_sum; [L28] unsigned int r; [L29] unsigned char i; [L30] unsigned char na, nb; [L31] a0 = a [L32] a1 = a >> 8 [L33] a2 = a >> 16U [L34] a3 = a >> 24U [L35] b0 = b [L36] b1 = b >> 8U [L37] b2 = b >> 16U [L38] b3 = b >> 24U [L39] na = (unsigned char)4 [L40] COND FALSE !(a3 == (unsigned char)0) [L49] nb = (unsigned char)4 [L50] COND TRUE b3 == (unsigned char)0 [L51] nb = nb - 1 [L52] COND FALSE !(b2 == (unsigned char)0) [L59] carry = (unsigned short)0 [L60] i = (unsigned char)0 [L61] COND TRUE (i < na) || (i < nb) || (carry != (unsigned short)0) [L62] partial_sum = carry [L63] carry = (unsigned short)0 [L64] COND TRUE i < na [L65] COND TRUE i == (unsigned char)0 [L65] partial_sum = partial_sum + a0 [L66] COND FALSE !(i == (unsigned char)1) [L67] COND FALSE !(i == (unsigned char)2) [L68] COND FALSE !(i == (unsigned char)3) [L70] COND TRUE i < nb [L71] COND TRUE i == (unsigned char)0 [L71] partial_sum = partial_sum + b0 [L72] COND FALSE !(i == (unsigned char)1) [L73] COND FALSE !(i == (unsigned char)2) [L74] COND FALSE !(i == (unsigned char)3) [L76] COND TRUE partial_sum > ((unsigned char)254) [L77] partial_sum = partial_sum & ((unsigned char)255) [L78] carry = (unsigned short)1 [L80] COND TRUE i == (unsigned char)0 [L80] r0 = (unsigned char)partial_sum [L81] COND FALSE !(i == (unsigned char)1) [L82] COND FALSE !(i == (unsigned char)2) [L83] COND FALSE !(i == (unsigned char)3) [L85] i = i + (unsigned char)1 [L61] COND TRUE (i < na) || (i < nb) || (carry != (unsigned short)0) [L62] partial_sum = carry [L63] carry = (unsigned short)0 [L64] COND TRUE i < na [L65] COND FALSE !(i == (unsigned char)0) [L66] COND TRUE i == (unsigned char)1 [L66] partial_sum = partial_sum + a1 [L67] COND FALSE !(i == (unsigned char)2) [L68] COND FALSE !(i == (unsigned char)3) [L70] COND TRUE i < nb [L71] COND FALSE !(i == (unsigned char)0) [L72] COND TRUE i == (unsigned char)1 [L72] partial_sum = partial_sum + b1 [L73] COND FALSE !(i == (unsigned char)2) [L74] COND FALSE !(i == (unsigned char)3) [L76] COND FALSE !(partial_sum > ((unsigned char)254)) [L80] COND FALSE !(i == (unsigned char)0) [L81] COND TRUE i == (unsigned char)1 [L81] r1 = (unsigned char)partial_sum [L82] COND FALSE !(i == (unsigned char)2) [L83] COND FALSE !(i == (unsigned char)3) [L85] i = i + (unsigned char)1 [L61] COND TRUE (i < na) || (i < nb) || (carry != (unsigned short)0) [L62] partial_sum = carry [L63] carry = (unsigned short)0 [L64] COND TRUE i < na [L65] COND FALSE !(i == (unsigned char)0) [L66] COND FALSE !(i == (unsigned char)1) [L67] COND TRUE i == (unsigned char)2 [L67] partial_sum = partial_sum + a2 [L68] COND FALSE !(i == (unsigned char)3) [L70] COND TRUE i < nb [L71] COND FALSE !(i == (unsigned char)0) [L72] COND FALSE !(i == (unsigned char)1) [L73] COND TRUE i == (unsigned char)2 [L73] partial_sum = partial_sum + b2 [L74] COND FALSE !(i == (unsigned char)3) [L76] COND TRUE partial_sum > ((unsigned char)254) [L77] partial_sum = partial_sum & ((unsigned char)255) [L78] carry = (unsigned short)1 [L80] COND FALSE !(i == (unsigned char)0) [L81] COND FALSE !(i == (unsigned char)1) [L82] COND TRUE i == (unsigned char)2 [L82] r2 = (unsigned char)partial_sum [L83] COND FALSE !(i == (unsigned char)3) [L85] i = i + (unsigned char)1 [L61] COND TRUE (i < na) || (i < nb) || (carry != (unsigned short)0) [L62] partial_sum = carry [L63] carry = (unsigned short)0 [L64] COND TRUE i < na [L65] COND FALSE !(i == (unsigned char)0) [L66] COND FALSE !(i == (unsigned char)1) [L67] COND FALSE !(i == (unsigned char)2) [L68] COND TRUE i == (unsigned char)3 [L68] partial_sum = partial_sum + a3 [L70] COND FALSE !(i < nb) [L76] COND FALSE !(partial_sum > ((unsigned char)254)) [L80] COND FALSE !(i == (unsigned char)0) [L81] COND FALSE !(i == (unsigned char)1) [L82] COND FALSE !(i == (unsigned char)2) [L83] COND TRUE i == (unsigned char)3 [L83] r3 = (unsigned char)partial_sum [L85] i = i + (unsigned char)1 [L61] COND FALSE !((i < na) || (i < nb) || (carry != (unsigned short)0)) [L88] COND FALSE !(i < (unsigned char)4) [L97] r = r0 | (r1 << 8U) | (r2 << 16U) | ((unsigned int)r3 << 24U) [L99] return r; [L110] r = mp_add(a, b) [L5] COND TRUE !(cond) [L6] __VERIFIER_error() ----- [2018-11-22 23:19:06,760 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 22.11 11:19:06 ImpRootNode [2018-11-22 23:19:06,760 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-22 23:19:06,761 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-22 23:19:06,761 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-22 23:19:06,761 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-22 23:19:06,761 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 11:19:06" (3/4) ... [2018-11-22 23:19:06,763 INFO L138 WitnessPrinter]: Generating witness for reachability counterexample ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] havoc main_#res;havoc main_#t~nondet0, main_#t~nondet1, main_#t~ret2, main_~a~0, main_~b~0, main_~r~1;havoc main_~a~0;havoc main_~b~0;havoc main_~r~1;main_~a~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~b~0 := main_#t~nondet1;havoc main_#t~nondet1;mp_add_#in~a, mp_add_#in~b := main_~a~0, main_~b~0;havoc mp_add_#res;havoc mp_add_~a, mp_add_~b, mp_add_~a0~0, mp_add_~a1~0, mp_add_~a2~0, mp_add_~a3~0, mp_add_~b0~0, mp_add_~b1~0, mp_add_~b2~0, mp_add_~b3~0, mp_add_~r0~0, mp_add_~r1~0, mp_add_~r2~0, mp_add_~r3~0, mp_add_~carry~0, mp_add_~partial_sum~0, mp_add_~r~0, mp_add_~i~0, mp_add_~na~0, mp_add_~nb~0;mp_add_~a := mp_add_#in~a;mp_add_~b := mp_add_#in~b;havoc mp_add_~a0~0;havoc mp_add_~a1~0;havoc mp_add_~a2~0;havoc mp_add_~a3~0;havoc mp_add_~b0~0;havoc mp_add_~b1~0;havoc mp_add_~b2~0;havoc mp_add_~b3~0;havoc mp_add_~r0~0;havoc mp_add_~r1~0;havoc mp_add_~r2~0;havoc mp_add_~r3~0;havoc mp_add_~carry~0;havoc mp_add_~partial_sum~0;havoc mp_add_~r~0;havoc mp_add_~i~0;havoc mp_add_~na~0;havoc mp_add_~nb~0;mp_add_~a0~0 := mp_add_~a[8:0];mp_add_~a1~0 := ~bvlshr32(mp_add_~a, 8bv32)[8:0];mp_add_~a2~0 := ~bvlshr32(mp_add_~a, 16bv32)[8:0];mp_add_~a3~0 := ~bvlshr32(mp_add_~a, 24bv32)[8:0];mp_add_~b0~0 := mp_add_~b[8:0];mp_add_~b1~0 := ~bvlshr32(mp_add_~b, 8bv32)[8:0];mp_add_~b2~0 := ~bvlshr32(mp_add_~b, 16bv32)[8:0];mp_add_~b3~0 := ~bvlshr32(mp_add_~b, 24bv32)[8:0];mp_add_~na~0 := 4bv8;BeginParallelComposition{ParallelCodeBlock0: assume !(~zero_extendFrom8To32(mp_add_~a3~0) == ~zero_extendFrom8To32(0bv8));ParallelCodeBlock1: assume ~zero_extendFrom8To32(mp_add_~a3~0) == ~zero_extendFrom8To32(0bv8);mp_add_~na~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~na~0), 1bv32)[8:0];BeginParallelComposition{ParallelCodeBlock0: assume !(~zero_extendFrom8To32(mp_add_~a2~0) == ~zero_extendFrom8To32(0bv8));ParallelCodeBlock1: assume ~zero_extendFrom8To32(mp_add_~a2~0) == ~zero_extendFrom8To32(0bv8);mp_add_~na~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~na~0), 1bv32)[8:0];BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~a1~0) == ~zero_extendFrom8To32(0bv8);mp_add_~na~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~na~0), 1bv32)[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~a1~0) == ~zero_extendFrom8To32(0bv8));}EndParallelComposition}EndParallelComposition}EndParallelCompositionmp_add_~nb~0 := 4bv8;BeginParallelComposition{ParallelCodeBlock0: assume !(~zero_extendFrom8To32(mp_add_~b3~0) == ~zero_extendFrom8To32(0bv8));ParallelCodeBlock1: assume ~zero_extendFrom8To32(mp_add_~b3~0) == ~zero_extendFrom8To32(0bv8);mp_add_~nb~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~nb~0), 1bv32)[8:0];BeginParallelComposition{ParallelCodeBlock0: assume !(~zero_extendFrom8To32(mp_add_~b2~0) == ~zero_extendFrom8To32(0bv8));ParallelCodeBlock1: assume ~zero_extendFrom8To32(mp_add_~b2~0) == ~zero_extendFrom8To32(0bv8);mp_add_~nb~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~nb~0), 1bv32)[8:0];BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~b1~0) == ~zero_extendFrom8To32(0bv8);mp_add_~nb~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~nb~0), 1bv32)[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~b1~0) == ~zero_extendFrom8To32(0bv8));}EndParallelComposition}EndParallelComposition}EndParallelCompositionmp_add_~carry~0 := 0bv16;mp_add_~i~0 := 0bv8; VAL [ULTIMATE.start_main_~a~0=#x831060e0, ULTIMATE.start_main_~b~0=#x00ef2020, ULTIMATE.start_mp_add_~a=#x831060e0, ULTIMATE.start_mp_add_~a0~0=#xe0, ULTIMATE.start_mp_add_~a1~0=#x60, ULTIMATE.start_mp_add_~a2~0=#x10, ULTIMATE.start_mp_add_~a3~0=#x83, ULTIMATE.start_mp_add_~b=#x00ef2020, ULTIMATE.start_mp_add_~b0~0=#x20, ULTIMATE.start_mp_add_~b1~0=#x20, ULTIMATE.start_mp_add_~b2~0=#xef, ULTIMATE.start_mp_add_~b3~0=#x00, ULTIMATE.start_mp_add_~carry~0=#x0000, ULTIMATE.start_mp_add_~i~0=#x00, ULTIMATE.start_mp_add_~na~0=#x04, ULTIMATE.start_mp_add_~nb~0=#x03, |ULTIMATE.start_mp_add_#in~a|=#x831060e0, |ULTIMATE.start_mp_add_#in~b|=#x00ef2020] [?] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16));mp_add_~partial_sum~0 := mp_add_~carry~0;mp_add_~carry~0 := 0bv16;BeginParallelComposition{ParallelCodeBlock0: assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0));ParallelCodeBlock1: assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0));BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a0~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a1~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a2~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a3~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelComposition}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0));ParallelCodeBlock1: assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0));BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b0~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b1~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b2~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b3~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelComposition}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8));mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0];mp_add_~carry~0 := 1bv16;ParallelCodeBlock1: assume !~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~r0~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~r1~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~r2~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~r3~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelCompositionmp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [ULTIMATE.start_main_~a~0=#x831060e0, ULTIMATE.start_main_~b~0=#x00ef2020, ULTIMATE.start_mp_add_~a=#x831060e0, ULTIMATE.start_mp_add_~a0~0=#xe0, ULTIMATE.start_mp_add_~a1~0=#x60, ULTIMATE.start_mp_add_~a2~0=#x10, ULTIMATE.start_mp_add_~a3~0=#x83, ULTIMATE.start_mp_add_~b=#x00ef2020, ULTIMATE.start_mp_add_~b0~0=#x20, ULTIMATE.start_mp_add_~b1~0=#x20, ULTIMATE.start_mp_add_~b2~0=#xef, ULTIMATE.start_mp_add_~b3~0=#x00, ULTIMATE.start_mp_add_~carry~0=#x0001, ULTIMATE.start_mp_add_~i~0=#x01, ULTIMATE.start_mp_add_~na~0=#x04, ULTIMATE.start_mp_add_~nb~0=#x03, ULTIMATE.start_mp_add_~partial_sum~0=#x0000, ULTIMATE.start_mp_add_~r0~0=#x00, ULTIMATE.start_mp_add_~r1~0=#x01, ULTIMATE.start_mp_add_~r2~0=#x04, ULTIMATE.start_mp_add_~r3~0=#x00, |ULTIMATE.start_mp_add_#in~a|=#x831060e0, |ULTIMATE.start_mp_add_#in~b|=#x00ef2020] [?] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16));mp_add_~partial_sum~0 := mp_add_~carry~0;mp_add_~carry~0 := 0bv16;BeginParallelComposition{ParallelCodeBlock0: assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0));ParallelCodeBlock1: assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0));BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a0~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a1~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a2~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a3~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelComposition}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0));ParallelCodeBlock1: assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0));BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b0~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b1~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b2~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b3~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelComposition}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8));mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0];mp_add_~carry~0 := 1bv16;ParallelCodeBlock1: assume !~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~r0~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~r1~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~r2~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~r3~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelCompositionmp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [ULTIMATE.start_main_~a~0=#x831060e0, ULTIMATE.start_main_~b~0=#x00ef2020, ULTIMATE.start_mp_add_~a=#x831060e0, ULTIMATE.start_mp_add_~a0~0=#xe0, ULTIMATE.start_mp_add_~a1~0=#x60, ULTIMATE.start_mp_add_~a2~0=#x10, ULTIMATE.start_mp_add_~a3~0=#x83, ULTIMATE.start_mp_add_~b=#x00ef2020, ULTIMATE.start_mp_add_~b0~0=#x20, ULTIMATE.start_mp_add_~b1~0=#x20, ULTIMATE.start_mp_add_~b2~0=#xef, ULTIMATE.start_mp_add_~b3~0=#x00, ULTIMATE.start_mp_add_~carry~0=#x0000, ULTIMATE.start_mp_add_~i~0=#x02, ULTIMATE.start_mp_add_~na~0=#x04, ULTIMATE.start_mp_add_~nb~0=#x03, ULTIMATE.start_mp_add_~partial_sum~0=#x0081, ULTIMATE.start_mp_add_~r0~0=#x00, ULTIMATE.start_mp_add_~r1~0=#x81, ULTIMATE.start_mp_add_~r2~0=#x04, ULTIMATE.start_mp_add_~r3~0=#x00, |ULTIMATE.start_mp_add_#in~a|=#x831060e0, |ULTIMATE.start_mp_add_#in~b|=#x00ef2020] [?] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16));mp_add_~partial_sum~0 := mp_add_~carry~0;mp_add_~carry~0 := 0bv16;BeginParallelComposition{ParallelCodeBlock0: assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0));ParallelCodeBlock1: assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0));BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a0~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a1~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a2~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a3~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelComposition}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0));ParallelCodeBlock1: assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0));BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b0~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b1~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b2~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b3~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelComposition}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8));mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0];mp_add_~carry~0 := 1bv16;ParallelCodeBlock1: assume !~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~r0~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~r1~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~r2~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~r3~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelCompositionmp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [ULTIMATE.start_main_~a~0=#x831060e0, ULTIMATE.start_main_~b~0=#x00ef2020, ULTIMATE.start_mp_add_~a=#x831060e0, ULTIMATE.start_mp_add_~a0~0=#xe0, ULTIMATE.start_mp_add_~a1~0=#x60, ULTIMATE.start_mp_add_~a2~0=#x10, ULTIMATE.start_mp_add_~a3~0=#x83, ULTIMATE.start_mp_add_~b=#x00ef2020, ULTIMATE.start_mp_add_~b0~0=#x20, ULTIMATE.start_mp_add_~b1~0=#x20, ULTIMATE.start_mp_add_~b2~0=#xef, ULTIMATE.start_mp_add_~b3~0=#x00, ULTIMATE.start_mp_add_~carry~0=#x0001, ULTIMATE.start_mp_add_~i~0=#x03, ULTIMATE.start_mp_add_~na~0=#x04, ULTIMATE.start_mp_add_~nb~0=#x03, ULTIMATE.start_mp_add_~partial_sum~0=#x00ff, ULTIMATE.start_mp_add_~r0~0=#x00, ULTIMATE.start_mp_add_~r1~0=#x81, ULTIMATE.start_mp_add_~r2~0=#xff, ULTIMATE.start_mp_add_~r3~0=#x00, |ULTIMATE.start_mp_add_#in~a|=#x831060e0, |ULTIMATE.start_mp_add_#in~b|=#x00ef2020] [?] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16));mp_add_~partial_sum~0 := mp_add_~carry~0;mp_add_~carry~0 := 0bv16;BeginParallelComposition{ParallelCodeBlock0: assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0));ParallelCodeBlock1: assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0));BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a0~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a1~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a2~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a3~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelComposition}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0));ParallelCodeBlock1: assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0));BeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b0~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b1~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b2~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b3~0))[16:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelComposition}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8));mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0];mp_add_~carry~0 := 1bv16;ParallelCodeBlock1: assume !~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8);mp_add_~r0~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8);mp_add_~r1~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8);mp_add_~r2~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8));}EndParallelCompositionBeginParallelComposition{ParallelCodeBlock0: assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8);mp_add_~r3~0 := mp_add_~partial_sum~0[8:0];ParallelCodeBlock1: assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8));}EndParallelCompositionmp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [ULTIMATE.start_main_~a~0=#x831060e0, ULTIMATE.start_main_~b~0=#x00ef2020, ULTIMATE.start_mp_add_~a=#x831060e0, ULTIMATE.start_mp_add_~a0~0=#xe0, ULTIMATE.start_mp_add_~a1~0=#x60, ULTIMATE.start_mp_add_~a2~0=#x10, ULTIMATE.start_mp_add_~a3~0=#x83, ULTIMATE.start_mp_add_~b=#x00ef2020, ULTIMATE.start_mp_add_~b0~0=#x20, ULTIMATE.start_mp_add_~b1~0=#x20, ULTIMATE.start_mp_add_~b2~0=#xef, ULTIMATE.start_mp_add_~b3~0=#x00, ULTIMATE.start_mp_add_~carry~0=#x0000, ULTIMATE.start_mp_add_~i~0=#x04, ULTIMATE.start_mp_add_~na~0=#x04, ULTIMATE.start_mp_add_~nb~0=#x03, ULTIMATE.start_mp_add_~partial_sum~0=#x0084, ULTIMATE.start_mp_add_~r0~0=#x00, ULTIMATE.start_mp_add_~r1~0=#x81, ULTIMATE.start_mp_add_~r2~0=#xff, ULTIMATE.start_mp_add_~r3~0=#x84, |ULTIMATE.start_mp_add_#in~a|=#x831060e0, |ULTIMATE.start_mp_add_#in~b|=#x00ef2020] [?] BeginParallelComposition{ParallelCodeBlock0: assume !true;ParallelCodeBlock1: assume !((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16));}EndParallelComposition VAL [ULTIMATE.start_main_~a~0=#x831060e0, ULTIMATE.start_main_~b~0=#x00ef2020, ULTIMATE.start_mp_add_~a=#x831060e0, ULTIMATE.start_mp_add_~a0~0=#xe0, ULTIMATE.start_mp_add_~a1~0=#x60, ULTIMATE.start_mp_add_~a2~0=#x10, ULTIMATE.start_mp_add_~a3~0=#x83, ULTIMATE.start_mp_add_~b=#x00ef2020, ULTIMATE.start_mp_add_~b0~0=#x20, ULTIMATE.start_mp_add_~b1~0=#x20, ULTIMATE.start_mp_add_~b2~0=#xef, ULTIMATE.start_mp_add_~b3~0=#x00, ULTIMATE.start_mp_add_~carry~0=#x0000, ULTIMATE.start_mp_add_~i~0=#x04, ULTIMATE.start_mp_add_~na~0=#x04, ULTIMATE.start_mp_add_~nb~0=#x03, ULTIMATE.start_mp_add_~partial_sum~0=#x0084, ULTIMATE.start_mp_add_~r0~0=#x00, ULTIMATE.start_mp_add_~r1~0=#x81, ULTIMATE.start_mp_add_~r2~0=#xff, ULTIMATE.start_mp_add_~r3~0=#x84, |ULTIMATE.start_mp_add_#in~a|=#x831060e0, |ULTIMATE.start_mp_add_#in~b|=#x00ef2020] [?] BeginParallelComposition{ParallelCodeBlock0: assume !true;ParallelCodeBlock1: assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(4bv8));}EndParallelCompositionmp_add_~r~0 := ~bvor32(~bvor32(~bvor32(~zero_extendFrom8To32(mp_add_~r0~0), ~bvshl32(~zero_extendFrom8To32(mp_add_~r1~0), 8bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r2~0), 16bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r3~0), 24bv32));mp_add_#res := mp_add_~r~0;main_#t~ret2 := mp_add_#res;main_~r~1 := main_#t~ret2;havoc main_#t~ret2;__VERIFIER_assert_#in~cond := (if main_~r~1 == ~bvadd32(main_~a~0, main_~b~0) then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; VAL [ULTIMATE.start___VERIFIER_assert_~cond=#x00000000, ULTIMATE.start_main_~a~0=#x831060e0, ULTIMATE.start_main_~b~0=#x00ef2020, ULTIMATE.start_main_~r~1=#x84ff8100, ULTIMATE.start_mp_add_~a=#x831060e0, ULTIMATE.start_mp_add_~a0~0=#xe0, ULTIMATE.start_mp_add_~a1~0=#x60, ULTIMATE.start_mp_add_~a2~0=#x10, ULTIMATE.start_mp_add_~a3~0=#x83, ULTIMATE.start_mp_add_~b=#x00ef2020, ULTIMATE.start_mp_add_~b0~0=#x20, ULTIMATE.start_mp_add_~b1~0=#x20, ULTIMATE.start_mp_add_~b2~0=#xef, ULTIMATE.start_mp_add_~b3~0=#x00, ULTIMATE.start_mp_add_~carry~0=#x0000, ULTIMATE.start_mp_add_~i~0=#x04, ULTIMATE.start_mp_add_~na~0=#x04, ULTIMATE.start_mp_add_~nb~0=#x03, ULTIMATE.start_mp_add_~partial_sum~0=#x0084, ULTIMATE.start_mp_add_~r0~0=#x00, ULTIMATE.start_mp_add_~r1~0=#x81, ULTIMATE.start_mp_add_~r2~0=#xff, ULTIMATE.start_mp_add_~r3~0=#x84, ULTIMATE.start_mp_add_~r~0=#x84ff8100, |ULTIMATE.start___VERIFIER_assert_#in~cond|=#x00000000, |ULTIMATE.start_mp_add_#in~a|=#x831060e0, |ULTIMATE.start_mp_add_#in~b|=#x00ef2020, |ULTIMATE.start_mp_add_#res|=#x84ff8100] [?] assume 0bv32 == __VERIFIER_assert_~cond; VAL [ULTIMATE.start___VERIFIER_assert_~cond=#x00000000, ULTIMATE.start_main_~a~0=#x831060e0, ULTIMATE.start_main_~b~0=#x00ef2020, ULTIMATE.start_main_~r~1=#x84ff8100, ULTIMATE.start_mp_add_~a=#x831060e0, ULTIMATE.start_mp_add_~a0~0=#xe0, ULTIMATE.start_mp_add_~a1~0=#x60, ULTIMATE.start_mp_add_~a2~0=#x10, ULTIMATE.start_mp_add_~a3~0=#x83, ULTIMATE.start_mp_add_~b=#x00ef2020, ULTIMATE.start_mp_add_~b0~0=#x20, ULTIMATE.start_mp_add_~b1~0=#x20, ULTIMATE.start_mp_add_~b2~0=#xef, ULTIMATE.start_mp_add_~b3~0=#x00, ULTIMATE.start_mp_add_~carry~0=#x0000, ULTIMATE.start_mp_add_~i~0=#x04, ULTIMATE.start_mp_add_~na~0=#x04, ULTIMATE.start_mp_add_~nb~0=#x03, ULTIMATE.start_mp_add_~partial_sum~0=#x0084, ULTIMATE.start_mp_add_~r0~0=#x00, ULTIMATE.start_mp_add_~r1~0=#x81, ULTIMATE.start_mp_add_~r2~0=#xff, ULTIMATE.start_mp_add_~r3~0=#x84, ULTIMATE.start_mp_add_~r~0=#x84ff8100, |ULTIMATE.start___VERIFIER_assert_#in~cond|=#x00000000, |ULTIMATE.start_mp_add_#in~a|=#x831060e0, |ULTIMATE.start_mp_add_#in~b|=#x00ef2020, |ULTIMATE.start_mp_add_#res|=#x84ff8100] [?] assume !false; VAL [ULTIMATE.start___VERIFIER_assert_~cond=#x00000000, ULTIMATE.start_main_~a~0=#x831060e0, ULTIMATE.start_main_~b~0=#x00ef2020, ULTIMATE.start_main_~r~1=#x84ff8100, ULTIMATE.start_mp_add_~a=#x831060e0, ULTIMATE.start_mp_add_~a0~0=#xe0, ULTIMATE.start_mp_add_~a1~0=#x60, ULTIMATE.start_mp_add_~a2~0=#x10, ULTIMATE.start_mp_add_~a3~0=#x83, ULTIMATE.start_mp_add_~b=#x00ef2020, ULTIMATE.start_mp_add_~b0~0=#x20, ULTIMATE.start_mp_add_~b1~0=#x20, ULTIMATE.start_mp_add_~b2~0=#xef, ULTIMATE.start_mp_add_~b3~0=#x00, ULTIMATE.start_mp_add_~carry~0=#x0000, ULTIMATE.start_mp_add_~i~0=#x04, ULTIMATE.start_mp_add_~na~0=#x04, ULTIMATE.start_mp_add_~nb~0=#x03, ULTIMATE.start_mp_add_~partial_sum~0=#x0084, ULTIMATE.start_mp_add_~r0~0=#x00, ULTIMATE.start_mp_add_~r1~0=#x81, ULTIMATE.start_mp_add_~r2~0=#xff, ULTIMATE.start_mp_add_~r3~0=#x84, ULTIMATE.start_mp_add_~r~0=#x84ff8100, |ULTIMATE.start___VERIFIER_assert_#in~cond|=#x00000000, |ULTIMATE.start_mp_add_#in~a|=#x831060e0, |ULTIMATE.start_mp_add_#in~b|=#x00ef2020, |ULTIMATE.start_mp_add_#res|=#x84ff8100] [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~ret2, main_~a~0, main_~b~0, main_~r~1; [L105] havoc main_~a~0; [L105] havoc main_~b~0; [L105] havoc main_~r~1; [L107] main_~a~0 := main_#t~nondet0; [L107] havoc main_#t~nondet0; [L108] main_~b~0 := main_#t~nondet1; [L108] havoc main_#t~nondet1; [L110] mp_add_#in~a, mp_add_#in~b := main_~a~0, main_~b~0; [L110] havoc mp_add_#res; [L110] havoc mp_add_~a, mp_add_~b, mp_add_~a0~0, mp_add_~a1~0, mp_add_~a2~0, mp_add_~a3~0, mp_add_~b0~0, mp_add_~b1~0, mp_add_~b2~0, mp_add_~b3~0, mp_add_~r0~0, mp_add_~r1~0, mp_add_~r2~0, mp_add_~r3~0, mp_add_~carry~0, mp_add_~partial_sum~0, mp_add_~r~0, mp_add_~i~0, mp_add_~na~0, mp_add_~nb~0; [L21-L100] mp_add_~a := mp_add_#in~a; [L21-L100] mp_add_~b := mp_add_#in~b; [L23] havoc mp_add_~a0~0; [L23] havoc mp_add_~a1~0; [L23] havoc mp_add_~a2~0; [L23] havoc mp_add_~a3~0; [L24] havoc mp_add_~b0~0; [L24] havoc mp_add_~b1~0; [L24] havoc mp_add_~b2~0; [L24] havoc mp_add_~b3~0; [L25] havoc mp_add_~r0~0; [L25] havoc mp_add_~r1~0; [L25] havoc mp_add_~r2~0; [L25] havoc mp_add_~r3~0; [L26] havoc mp_add_~carry~0; [L27] havoc mp_add_~partial_sum~0; [L28] havoc mp_add_~r~0; [L29] havoc mp_add_~i~0; [L30] havoc mp_add_~na~0; [L30] havoc mp_add_~nb~0; [L31] mp_add_~a0~0 := mp_add_~a[8:0]; [L32] mp_add_~a1~0 := ~bvlshr32(mp_add_~a, 8bv32)[8:0]; [L33] mp_add_~a2~0 := ~bvlshr32(mp_add_~a, 16bv32)[8:0]; [L34] mp_add_~a3~0 := ~bvlshr32(mp_add_~a, 24bv32)[8:0]; [L35] mp_add_~b0~0 := mp_add_~b[8:0]; [L36] mp_add_~b1~0 := ~bvlshr32(mp_add_~b, 8bv32)[8:0]; [L37] mp_add_~b2~0 := ~bvlshr32(mp_add_~b, 16bv32)[8:0]; [L38] mp_add_~b3~0 := ~bvlshr32(mp_add_~b, 24bv32)[8:0]; [L39] mp_add_~na~0 := 4bv8; [L40-L48] assume !(~zero_extendFrom8To32(mp_add_~a3~0) == ~zero_extendFrom8To32(0bv8)); [L49] mp_add_~nb~0 := 4bv8; [L50-L58] assume ~zero_extendFrom8To32(mp_add_~b3~0) == ~zero_extendFrom8To32(0bv8); [L51] mp_add_~nb~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~nb~0), 1bv32)[8:0]; [L52-L57] assume !(~zero_extendFrom8To32(mp_add_~b2~0) == ~zero_extendFrom8To32(0bv8)); [L59] mp_add_~carry~0 := 0bv16; [L60] mp_add_~i~0 := 0bv8; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=0bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8] [L61-L86] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64-L69] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)); [L65] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8); [L65] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a0~0))[16:0]; [L66] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L67] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L68] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L70-L75] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)); [L71] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8); [L71] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b0~0))[16:0]; [L72] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L73] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L74] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L76-L79] assume ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)); [L77] mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] mp_add_~carry~0 := 1bv16; [L80] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8); [L80] mp_add_~r0~0 := mp_add_~partial_sum~0[8:0]; [L81] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L82] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L83] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=1bv16, mp_add_~i~0=1bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=0bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=1bv8, mp_add_~r2~0=4bv8, mp_add_~r3~0=0bv8] [L61-L86] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64-L69] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)); [L65] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L66] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8); [L66] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a1~0))[16:0]; [L67] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L68] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L70-L75] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)); [L71] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L72] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8); [L72] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b1~0))[16:0]; [L73] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L74] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L76-L79] assume !~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)); [L80] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L81] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8); [L81] mp_add_~r1~0 := mp_add_~partial_sum~0[8:0]; [L82] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L83] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=2bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=129bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=4bv8, mp_add_~r3~0=0bv8] [L61-L86] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64-L69] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)); [L65] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L66] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L67] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8); [L67] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a2~0))[16:0]; [L68] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L70-L75] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)); [L71] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L72] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L73] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8); [L73] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b2~0))[16:0]; [L74] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L76-L79] assume ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)); [L77] mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] mp_add_~carry~0 := 1bv16; [L80] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L81] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L82] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8); [L82] mp_add_~r2~0 := mp_add_~partial_sum~0[8:0]; [L83] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=1bv16, mp_add_~i~0=3bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=255bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=0bv8] [L61-L86] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64-L69] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)); [L65] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L66] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L67] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L68] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8); [L68] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a3~0))[16:0]; [L70-L75] assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)); [L76-L79] assume !~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)); [L80] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L81] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L82] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L83] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8); [L83] mp_add_~r3~0 := mp_add_~partial_sum~0[8:0]; [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8] [L61-L86] assume !((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8] [L88-L95] assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(4bv8)); [L97] mp_add_~r~0 := ~bvor32(~bvor32(~bvor32(~zero_extendFrom8To32(mp_add_~r0~0), ~bvshl32(~zero_extendFrom8To32(mp_add_~r1~0), 8bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r2~0), 16bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r3~0), 24bv32)); [L99] mp_add_#res := mp_add_~r~0; [L110] main_#t~ret2 := mp_add_#res; [L110] main_~r~1 := main_#t~ret2; [L110] havoc main_#t~ret2; [L112] __VERIFIER_assert_#in~cond := (if main_~r~1 == ~bvadd32(main_~a~0, main_~b~0) then 1bv32 else 0bv32); [L112] havoc __VERIFIER_assert_~cond; [L4-L9] __VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [L5-L7] assume 0bv32 == __VERIFIER_assert_~cond; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [L6] assert false; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~ret2, main_~a~0, main_~b~0, main_~r~1; [L105] havoc main_~a~0; [L105] havoc main_~b~0; [L105] havoc main_~r~1; [L107] main_~a~0 := main_#t~nondet0; [L107] havoc main_#t~nondet0; [L108] main_~b~0 := main_#t~nondet1; [L108] havoc main_#t~nondet1; [L110] mp_add_#in~a, mp_add_#in~b := main_~a~0, main_~b~0; [L110] havoc mp_add_#res; [L110] havoc mp_add_~a, mp_add_~b, mp_add_~a0~0, mp_add_~a1~0, mp_add_~a2~0, mp_add_~a3~0, mp_add_~b0~0, mp_add_~b1~0, mp_add_~b2~0, mp_add_~b3~0, mp_add_~r0~0, mp_add_~r1~0, mp_add_~r2~0, mp_add_~r3~0, mp_add_~carry~0, mp_add_~partial_sum~0, mp_add_~r~0, mp_add_~i~0, mp_add_~na~0, mp_add_~nb~0; [L21-L100] mp_add_~a := mp_add_#in~a; [L21-L100] mp_add_~b := mp_add_#in~b; [L23] havoc mp_add_~a0~0; [L23] havoc mp_add_~a1~0; [L23] havoc mp_add_~a2~0; [L23] havoc mp_add_~a3~0; [L24] havoc mp_add_~b0~0; [L24] havoc mp_add_~b1~0; [L24] havoc mp_add_~b2~0; [L24] havoc mp_add_~b3~0; [L25] havoc mp_add_~r0~0; [L25] havoc mp_add_~r1~0; [L25] havoc mp_add_~r2~0; [L25] havoc mp_add_~r3~0; [L26] havoc mp_add_~carry~0; [L27] havoc mp_add_~partial_sum~0; [L28] havoc mp_add_~r~0; [L29] havoc mp_add_~i~0; [L30] havoc mp_add_~na~0; [L30] havoc mp_add_~nb~0; [L31] mp_add_~a0~0 := mp_add_~a[8:0]; [L32] mp_add_~a1~0 := ~bvlshr32(mp_add_~a, 8bv32)[8:0]; [L33] mp_add_~a2~0 := ~bvlshr32(mp_add_~a, 16bv32)[8:0]; [L34] mp_add_~a3~0 := ~bvlshr32(mp_add_~a, 24bv32)[8:0]; [L35] mp_add_~b0~0 := mp_add_~b[8:0]; [L36] mp_add_~b1~0 := ~bvlshr32(mp_add_~b, 8bv32)[8:0]; [L37] mp_add_~b2~0 := ~bvlshr32(mp_add_~b, 16bv32)[8:0]; [L38] mp_add_~b3~0 := ~bvlshr32(mp_add_~b, 24bv32)[8:0]; [L39] mp_add_~na~0 := 4bv8; [L40-L48] assume !(~zero_extendFrom8To32(mp_add_~a3~0) == ~zero_extendFrom8To32(0bv8)); [L49] mp_add_~nb~0 := 4bv8; [L50-L58] assume ~zero_extendFrom8To32(mp_add_~b3~0) == ~zero_extendFrom8To32(0bv8); [L51] mp_add_~nb~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~nb~0), 1bv32)[8:0]; [L52-L57] assume !(~zero_extendFrom8To32(mp_add_~b2~0) == ~zero_extendFrom8To32(0bv8)); [L59] mp_add_~carry~0 := 0bv16; [L60] mp_add_~i~0 := 0bv8; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=0bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8] [L61-L86] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64-L69] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)); [L65] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8); [L65] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a0~0))[16:0]; [L66] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L67] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L68] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L70-L75] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)); [L71] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8); [L71] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b0~0))[16:0]; [L72] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L73] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L74] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L76-L79] assume ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)); [L77] mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] mp_add_~carry~0 := 1bv16; [L80] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8); [L80] mp_add_~r0~0 := mp_add_~partial_sum~0[8:0]; [L81] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L82] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L83] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=1bv16, mp_add_~i~0=1bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=0bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=1bv8, mp_add_~r2~0=4bv8, mp_add_~r3~0=0bv8] [L61-L86] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64-L69] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)); [L65] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L66] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8); [L66] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a1~0))[16:0]; [L67] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L68] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L70-L75] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)); [L71] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L72] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8); [L72] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b1~0))[16:0]; [L73] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L74] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L76-L79] assume !~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)); [L80] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L81] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8); [L81] mp_add_~r1~0 := mp_add_~partial_sum~0[8:0]; [L82] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L83] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=2bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=129bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=4bv8, mp_add_~r3~0=0bv8] [L61-L86] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64-L69] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)); [L65] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L66] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L67] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8); [L67] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a2~0))[16:0]; [L68] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L70-L75] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)); [L71] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L72] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L73] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8); [L73] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b2~0))[16:0]; [L74] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L76-L79] assume ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)); [L77] mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] mp_add_~carry~0 := 1bv16; [L80] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L81] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L82] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8); [L82] mp_add_~r2~0 := mp_add_~partial_sum~0[8:0]; [L83] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)); [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=1bv16, mp_add_~i~0=3bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=255bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=0bv8] [L61-L86] assume !!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64-L69] assume ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)); [L65] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L66] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L67] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L68] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8); [L68] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a3~0))[16:0]; [L70-L75] assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)); [L76-L79] assume !~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)); [L80] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)); [L81] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)); [L82] assume !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)); [L83] assume ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8); [L83] mp_add_~r3~0 := mp_add_~partial_sum~0[8:0]; [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8] [L61-L86] assume !((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)); VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8] [L88-L95] assume !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(4bv8)); [L97] mp_add_~r~0 := ~bvor32(~bvor32(~bvor32(~zero_extendFrom8To32(mp_add_~r0~0), ~bvshl32(~zero_extendFrom8To32(mp_add_~r1~0), 8bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r2~0), 16bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r3~0), 24bv32)); [L99] mp_add_#res := mp_add_~r~0; [L110] main_#t~ret2 := mp_add_#res; [L110] main_~r~1 := main_#t~ret2; [L110] havoc main_#t~ret2; [L112] __VERIFIER_assert_#in~cond := (if main_~r~1 == ~bvadd32(main_~a~0, main_~b~0) then 1bv32 else 0bv32); [L112] havoc __VERIFIER_assert_~cond; [L4-L9] __VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [L5-L7] assume 0bv32 == __VERIFIER_assert_~cond; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [L6] assert false; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~ret2, main_~a~0, main_~b~0, main_~r~1; [L105] havoc main_~a~0; [L105] havoc main_~b~0; [L105] havoc main_~r~1; [L107] main_~a~0 := main_#t~nondet0; [L107] havoc main_#t~nondet0; [L108] main_~b~0 := main_#t~nondet1; [L108] havoc main_#t~nondet1; [L110] mp_add_#in~a, mp_add_#in~b := main_~a~0, main_~b~0; [L110] havoc mp_add_#res; [L110] havoc mp_add_~a, mp_add_~b, mp_add_~a0~0, mp_add_~a1~0, mp_add_~a2~0, mp_add_~a3~0, mp_add_~b0~0, mp_add_~b1~0, mp_add_~b2~0, mp_add_~b3~0, mp_add_~r0~0, mp_add_~r1~0, mp_add_~r2~0, mp_add_~r3~0, mp_add_~carry~0, mp_add_~partial_sum~0, mp_add_~r~0, mp_add_~i~0, mp_add_~na~0, mp_add_~nb~0; [L21-L100] mp_add_~a := mp_add_#in~a; [L21-L100] mp_add_~b := mp_add_#in~b; [L23] havoc mp_add_~a0~0; [L23] havoc mp_add_~a1~0; [L23] havoc mp_add_~a2~0; [L23] havoc mp_add_~a3~0; [L24] havoc mp_add_~b0~0; [L24] havoc mp_add_~b1~0; [L24] havoc mp_add_~b2~0; [L24] havoc mp_add_~b3~0; [L25] havoc mp_add_~r0~0; [L25] havoc mp_add_~r1~0; [L25] havoc mp_add_~r2~0; [L25] havoc mp_add_~r3~0; [L26] havoc mp_add_~carry~0; [L27] havoc mp_add_~partial_sum~0; [L28] havoc mp_add_~r~0; [L29] havoc mp_add_~i~0; [L30] havoc mp_add_~na~0; [L30] havoc mp_add_~nb~0; [L31] mp_add_~a0~0 := mp_add_~a[8:0]; [L32] mp_add_~a1~0 := ~bvlshr32(mp_add_~a, 8bv32)[8:0]; [L33] mp_add_~a2~0 := ~bvlshr32(mp_add_~a, 16bv32)[8:0]; [L34] mp_add_~a3~0 := ~bvlshr32(mp_add_~a, 24bv32)[8:0]; [L35] mp_add_~b0~0 := mp_add_~b[8:0]; [L36] mp_add_~b1~0 := ~bvlshr32(mp_add_~b, 8bv32)[8:0]; [L37] mp_add_~b2~0 := ~bvlshr32(mp_add_~b, 16bv32)[8:0]; [L38] mp_add_~b3~0 := ~bvlshr32(mp_add_~b, 24bv32)[8:0]; [L39] mp_add_~na~0 := 4bv8; [L40] COND FALSE !(~zero_extendFrom8To32(mp_add_~a3~0) == ~zero_extendFrom8To32(0bv8)) [L49] mp_add_~nb~0 := 4bv8; [L50] COND TRUE ~zero_extendFrom8To32(mp_add_~b3~0) == ~zero_extendFrom8To32(0bv8) [L51] mp_add_~nb~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~nb~0), 1bv32)[8:0]; [L52] COND FALSE !(~zero_extendFrom8To32(mp_add_~b2~0) == ~zero_extendFrom8To32(0bv8)) [L59] mp_add_~carry~0 := 0bv16; [L60] mp_add_~i~0 := 0bv8; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=0bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8] [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) [L65] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8) [L65] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a0~0))[16:0]; [L66] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)) [L71] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8) [L71] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b0~0))[16:0]; [L72] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L73] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L74] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND TRUE ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)) [L77] mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] mp_add_~carry~0 := 1bv16; [L80] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8) [L80] mp_add_~r0~0 := mp_add_~partial_sum~0[8:0]; [L81] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=1bv16, mp_add_~i~0=1bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=0bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=1bv8, mp_add_~r2~0=4bv8, mp_add_~r3~0=0bv8] [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8) [L66] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a1~0))[16:0]; [L67] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)) [L71] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L72] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8) [L72] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b1~0))[16:0]; [L73] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L74] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND FALSE !(~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8))) [L80] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8) [L81] mp_add_~r1~0 := mp_add_~partial_sum~0[8:0]; [L82] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=2bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=129bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=4bv8, mp_add_~r3~0=0bv8] [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8) [L67] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a2~0))[16:0]; [L68] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)) [L71] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L72] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L73] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8) [L73] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b2~0))[16:0]; [L74] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND TRUE ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)) [L77] mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] mp_add_~carry~0 := 1bv16; [L80] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8) [L82] mp_add_~r2~0 := mp_add_~partial_sum~0[8:0]; [L83] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=1bv16, mp_add_~i~0=3bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=255bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=0bv8] [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8) [L68] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a3~0))[16:0]; [L70] COND FALSE !(~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) [L76] COND FALSE !(~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8))) [L80] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8) [L83] mp_add_~r3~0 := mp_add_~partial_sum~0[8:0]; [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8] [L61-L86] COND TRUE !((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)) VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8] [L88-L95] COND TRUE !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(4bv8)) [L97] mp_add_~r~0 := ~bvor32(~bvor32(~bvor32(~zero_extendFrom8To32(mp_add_~r0~0), ~bvshl32(~zero_extendFrom8To32(mp_add_~r1~0), 8bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r2~0), 16bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r3~0), 24bv32)); [L99] mp_add_#res := mp_add_~r~0; [L110] main_#t~ret2 := mp_add_#res; [L110] main_~r~1 := main_#t~ret2; [L110] havoc main_#t~ret2; [L112] __VERIFIER_assert_#in~cond := (if main_~r~1 == ~bvadd32(main_~a~0, main_~b~0) then 1bv32 else 0bv32); [L112] havoc __VERIFIER_assert_~cond; [L4-L9] __VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [L5] COND TRUE 0bv32 == __VERIFIER_assert_~cond VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [L6] assert false; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~ret2, main_~a~0, main_~b~0, main_~r~1; [L105] havoc main_~a~0; [L105] havoc main_~b~0; [L105] havoc main_~r~1; [L107] main_~a~0 := main_#t~nondet0; [L107] havoc main_#t~nondet0; [L108] main_~b~0 := main_#t~nondet1; [L108] havoc main_#t~nondet1; [L110] mp_add_#in~a, mp_add_#in~b := main_~a~0, main_~b~0; [L110] havoc mp_add_#res; [L110] havoc mp_add_~a, mp_add_~b, mp_add_~a0~0, mp_add_~a1~0, mp_add_~a2~0, mp_add_~a3~0, mp_add_~b0~0, mp_add_~b1~0, mp_add_~b2~0, mp_add_~b3~0, mp_add_~r0~0, mp_add_~r1~0, mp_add_~r2~0, mp_add_~r3~0, mp_add_~carry~0, mp_add_~partial_sum~0, mp_add_~r~0, mp_add_~i~0, mp_add_~na~0, mp_add_~nb~0; [L21-L100] mp_add_~a := mp_add_#in~a; [L21-L100] mp_add_~b := mp_add_#in~b; [L23] havoc mp_add_~a0~0; [L23] havoc mp_add_~a1~0; [L23] havoc mp_add_~a2~0; [L23] havoc mp_add_~a3~0; [L24] havoc mp_add_~b0~0; [L24] havoc mp_add_~b1~0; [L24] havoc mp_add_~b2~0; [L24] havoc mp_add_~b3~0; [L25] havoc mp_add_~r0~0; [L25] havoc mp_add_~r1~0; [L25] havoc mp_add_~r2~0; [L25] havoc mp_add_~r3~0; [L26] havoc mp_add_~carry~0; [L27] havoc mp_add_~partial_sum~0; [L28] havoc mp_add_~r~0; [L29] havoc mp_add_~i~0; [L30] havoc mp_add_~na~0; [L30] havoc mp_add_~nb~0; [L31] mp_add_~a0~0 := mp_add_~a[8:0]; [L32] mp_add_~a1~0 := ~bvlshr32(mp_add_~a, 8bv32)[8:0]; [L33] mp_add_~a2~0 := ~bvlshr32(mp_add_~a, 16bv32)[8:0]; [L34] mp_add_~a3~0 := ~bvlshr32(mp_add_~a, 24bv32)[8:0]; [L35] mp_add_~b0~0 := mp_add_~b[8:0]; [L36] mp_add_~b1~0 := ~bvlshr32(mp_add_~b, 8bv32)[8:0]; [L37] mp_add_~b2~0 := ~bvlshr32(mp_add_~b, 16bv32)[8:0]; [L38] mp_add_~b3~0 := ~bvlshr32(mp_add_~b, 24bv32)[8:0]; [L39] mp_add_~na~0 := 4bv8; [L40] COND FALSE !(~zero_extendFrom8To32(mp_add_~a3~0) == ~zero_extendFrom8To32(0bv8)) [L49] mp_add_~nb~0 := 4bv8; [L50] COND TRUE ~zero_extendFrom8To32(mp_add_~b3~0) == ~zero_extendFrom8To32(0bv8) [L51] mp_add_~nb~0 := ~bvsub32(~zero_extendFrom8To32(mp_add_~nb~0), 1bv32)[8:0]; [L52] COND FALSE !(~zero_extendFrom8To32(mp_add_~b2~0) == ~zero_extendFrom8To32(0bv8)) [L59] mp_add_~carry~0 := 0bv16; [L60] mp_add_~i~0 := 0bv8; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=0bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8] [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) [L65] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8) [L65] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a0~0))[16:0]; [L66] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)) [L71] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8) [L71] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b0~0))[16:0]; [L72] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L73] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L74] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND TRUE ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)) [L77] mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] mp_add_~carry~0 := 1bv16; [L80] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8) [L80] mp_add_~r0~0 := mp_add_~partial_sum~0[8:0]; [L81] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=1bv16, mp_add_~i~0=1bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=0bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=1bv8, mp_add_~r2~0=4bv8, mp_add_~r3~0=0bv8] [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8) [L66] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a1~0))[16:0]; [L67] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)) [L71] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L72] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8) [L72] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b1~0))[16:0]; [L73] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L74] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND FALSE !(~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8))) [L80] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8) [L81] mp_add_~r1~0 := mp_add_~partial_sum~0[8:0]; [L82] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=2bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=129bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=4bv8, mp_add_~r3~0=0bv8] [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8) [L67] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a2~0))[16:0]; [L68] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0)) [L71] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L72] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L73] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8) [L73] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~b2~0))[16:0]; [L74] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND TRUE ~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8)) [L77] mp_add_~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] mp_add_~carry~0 := 1bv16; [L80] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8) [L82] mp_add_~r2~0 := mp_add_~partial_sum~0[8:0]; [L83] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=1bv16, mp_add_~i~0=3bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=255bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=0bv8] [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] mp_add_~partial_sum~0 := mp_add_~carry~0; [L63] mp_add_~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8) [L68] mp_add_~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(mp_add_~a3~0))[16:0]; [L70] COND FALSE !(~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) [L76] COND FALSE !(~bvsgt32(~zero_extendFrom16To32(mp_add_~partial_sum~0), ~zero_extendFrom8To32(254bv8))) [L80] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND FALSE !(~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND TRUE ~zero_extendFrom8To32(mp_add_~i~0) == ~zero_extendFrom8To32(3bv8) [L83] mp_add_~r3~0 := mp_add_~partial_sum~0[8:0]; [L85] mp_add_~i~0 := ~bvadd32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8] [L61-L86] COND TRUE !((~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~na~0)) || ~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(mp_add_~nb~0))) || ~zero_extendFrom16To32(mp_add_~carry~0) != ~zero_extendFrom16To32(0bv16)) VAL [main_~a~0=2198888672bv32, main_~b~0=15671328bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8] [L88-L95] COND TRUE !~bvslt32(~zero_extendFrom8To32(mp_add_~i~0), ~zero_extendFrom8To32(4bv8)) [L97] mp_add_~r~0 := ~bvor32(~bvor32(~bvor32(~zero_extendFrom8To32(mp_add_~r0~0), ~bvshl32(~zero_extendFrom8To32(mp_add_~r1~0), 8bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r2~0), 16bv32)), ~bvshl32(~zero_extendFrom8To32(mp_add_~r3~0), 24bv32)); [L99] mp_add_#res := mp_add_~r~0; [L110] main_#t~ret2 := mp_add_#res; [L110] main_~r~1 := main_#t~ret2; [L110] havoc main_#t~ret2; [L112] __VERIFIER_assert_#in~cond := (if main_~r~1 == ~bvadd32(main_~a~0, main_~b~0) then 1bv32 else 0bv32); [L112] havoc __VERIFIER_assert_~cond; [L4-L9] __VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [L5] COND TRUE 0bv32 == __VERIFIER_assert_~cond VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [L6] assert false; VAL [__VERIFIER_assert_#in~cond=0bv32, __VERIFIER_assert_~cond=0bv32, main_~a~0=2198888672bv32, main_~b~0=15671328bv32, main_~r~1=2231337216bv32, mp_add_#in~a=2198888672bv32, mp_add_#in~b=15671328bv32, mp_add_#res=2231337216bv32, mp_add_~a=2198888672bv32, mp_add_~a0~0=224bv8, mp_add_~a1~0=96bv8, mp_add_~a2~0=16bv8, mp_add_~a3~0=131bv8, mp_add_~b=15671328bv32, mp_add_~b0~0=32bv8, mp_add_~b1~0=32bv8, mp_add_~b2~0=239bv8, mp_add_~b3~0=0bv8, mp_add_~carry~0=0bv16, mp_add_~i~0=4bv8, mp_add_~na~0=4bv8, mp_add_~nb~0=3bv8, mp_add_~partial_sum~0=132bv16, mp_add_~r0~0=0bv8, mp_add_~r1~0=129bv8, mp_add_~r2~0=255bv8, mp_add_~r3~0=132bv8, mp_add_~r~0=2231337216bv32] [L105] havoc ~a~0; [L105] havoc ~b~0; [L105] havoc ~r~1; [L107] ~a~0 := #t~nondet0; [L107] havoc #t~nondet0; [L108] ~b~0 := #t~nondet1; [L108] havoc #t~nondet1; [L21-L100] ~a := #in~a; [L21-L100] ~b := #in~b; [L23] havoc ~a0~0; [L23] havoc ~a1~0; [L23] havoc ~a2~0; [L23] havoc ~a3~0; [L24] havoc ~b0~0; [L24] havoc ~b1~0; [L24] havoc ~b2~0; [L24] havoc ~b3~0; [L25] havoc ~r0~0; [L25] havoc ~r1~0; [L25] havoc ~r2~0; [L25] havoc ~r3~0; [L26] havoc ~carry~0; [L27] havoc ~partial_sum~0; [L28] havoc ~r~0; [L29] havoc ~i~0; [L30] havoc ~na~0; [L30] havoc ~nb~0; [L31] ~a0~0 := ~a[8:0]; [L32] ~a1~0 := ~bvlshr32(~a, 8bv32)[8:0]; [L33] ~a2~0 := ~bvlshr32(~a, 16bv32)[8:0]; [L34] ~a3~0 := ~bvlshr32(~a, 24bv32)[8:0]; [L35] ~b0~0 := ~b[8:0]; [L36] ~b1~0 := ~bvlshr32(~b, 8bv32)[8:0]; [L37] ~b2~0 := ~bvlshr32(~b, 16bv32)[8:0]; [L38] ~b3~0 := ~bvlshr32(~b, 24bv32)[8:0]; [L39] ~na~0 := 4bv8; [L40] COND FALSE !(~zero_extendFrom8To32(~a3~0) == ~zero_extendFrom8To32(0bv8)) [L49] ~nb~0 := 4bv8; [L50] COND TRUE ~zero_extendFrom8To32(~b3~0) == ~zero_extendFrom8To32(0bv8) [L51] ~nb~0 := ~bvsub32(~zero_extendFrom8To32(~nb~0), 1bv32)[8:0]; [L52] COND FALSE !(~zero_extendFrom8To32(~b2~0) == ~zero_extendFrom8To32(0bv8)) [L59] ~carry~0 := 0bv16; [L60] ~i~0 := 0bv8; [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] ~partial_sum~0 := ~carry~0; [L63] ~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) [L65] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8) [L65] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~a0~0))[16:0]; [L66] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0)) [L71] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8) [L71] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~b0~0))[16:0]; [L72] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L73] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L74] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND TRUE ~bvsgt32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(254bv8)) [L77] ~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] ~carry~0 := 1bv16; [L80] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8) [L80] ~r0~0 := ~partial_sum~0[8:0]; [L81] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] ~i~0 := ~bvadd32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] ~partial_sum~0 := ~carry~0; [L63] ~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8) [L66] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~a1~0))[16:0]; [L67] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0)) [L71] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L72] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8) [L72] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~b1~0))[16:0]; [L73] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L74] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND FALSE !(~bvsgt32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(254bv8))) [L80] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8) [L81] ~r1~0 := ~partial_sum~0[8:0]; [L82] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] ~i~0 := ~bvadd32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] ~partial_sum~0 := ~carry~0; [L63] ~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8) [L67] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~a2~0))[16:0]; [L68] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0)) [L71] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L72] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L73] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8) [L73] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~b2~0))[16:0]; [L74] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND TRUE ~bvsgt32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(254bv8)) [L77] ~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] ~carry~0 := 1bv16; [L80] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8) [L82] ~r2~0 := ~partial_sum~0[8:0]; [L83] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] ~i~0 := ~bvadd32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] ~partial_sum~0 := ~carry~0; [L63] ~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8) [L68] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~a3~0))[16:0]; [L70] COND FALSE !(~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) [L76] COND FALSE !(~bvsgt32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(254bv8))) [L80] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8) [L83] ~r3~0 := ~partial_sum~0[8:0]; [L85] ~i~0 := ~bvadd32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; [L61-L86] COND TRUE !((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16)) [L88-L95] COND TRUE !~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(4bv8)) [L97] ~r~0 := ~bvor32(~bvor32(~bvor32(~zero_extendFrom8To32(~r0~0), ~bvshl32(~zero_extendFrom8To32(~r1~0), 8bv32)), ~bvshl32(~zero_extendFrom8To32(~r2~0), 16bv32)), ~bvshl32(~zero_extendFrom8To32(~r3~0), 24bv32)); [L99] #res := ~r~0; [L110] ~r~1 := #t~ret2; [L110] havoc #t~ret2; [L4-L9] ~cond := #in~cond; [L5] COND TRUE 0bv32 == ~cond [L6] assert false; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L105] havoc ~a~0; [L105] havoc ~b~0; [L105] havoc ~r~1; [L107] ~a~0 := #t~nondet0; [L107] havoc #t~nondet0; [L108] ~b~0 := #t~nondet1; [L108] havoc #t~nondet1; [L21-L100] ~a := #in~a; [L21-L100] ~b := #in~b; [L23] havoc ~a0~0; [L23] havoc ~a1~0; [L23] havoc ~a2~0; [L23] havoc ~a3~0; [L24] havoc ~b0~0; [L24] havoc ~b1~0; [L24] havoc ~b2~0; [L24] havoc ~b3~0; [L25] havoc ~r0~0; [L25] havoc ~r1~0; [L25] havoc ~r2~0; [L25] havoc ~r3~0; [L26] havoc ~carry~0; [L27] havoc ~partial_sum~0; [L28] havoc ~r~0; [L29] havoc ~i~0; [L30] havoc ~na~0; [L30] havoc ~nb~0; [L31] ~a0~0 := ~a[8:0]; [L32] ~a1~0 := ~bvlshr32(~a, 8bv32)[8:0]; [L33] ~a2~0 := ~bvlshr32(~a, 16bv32)[8:0]; [L34] ~a3~0 := ~bvlshr32(~a, 24bv32)[8:0]; [L35] ~b0~0 := ~b[8:0]; [L36] ~b1~0 := ~bvlshr32(~b, 8bv32)[8:0]; [L37] ~b2~0 := ~bvlshr32(~b, 16bv32)[8:0]; [L38] ~b3~0 := ~bvlshr32(~b, 24bv32)[8:0]; [L39] ~na~0 := 4bv8; [L40] COND FALSE !(~zero_extendFrom8To32(~a3~0) == ~zero_extendFrom8To32(0bv8)) [L49] ~nb~0 := 4bv8; [L50] COND TRUE ~zero_extendFrom8To32(~b3~0) == ~zero_extendFrom8To32(0bv8) [L51] ~nb~0 := ~bvsub32(~zero_extendFrom8To32(~nb~0), 1bv32)[8:0]; [L52] COND FALSE !(~zero_extendFrom8To32(~b2~0) == ~zero_extendFrom8To32(0bv8)) [L59] ~carry~0 := 0bv16; [L60] ~i~0 := 0bv8; [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] ~partial_sum~0 := ~carry~0; [L63] ~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) [L65] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8) [L65] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~a0~0))[16:0]; [L66] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0)) [L71] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8) [L71] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~b0~0))[16:0]; [L72] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L73] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L74] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND TRUE ~bvsgt32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(254bv8)) [L77] ~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] ~carry~0 := 1bv16; [L80] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8) [L80] ~r0~0 := ~partial_sum~0[8:0]; [L81] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] ~i~0 := ~bvadd32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] ~partial_sum~0 := ~carry~0; [L63] ~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8) [L66] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~a1~0))[16:0]; [L67] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0)) [L71] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L72] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8) [L72] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~b1~0))[16:0]; [L73] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L74] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND FALSE !(~bvsgt32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(254bv8))) [L80] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8) [L81] ~r1~0 := ~partial_sum~0[8:0]; [L82] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] ~i~0 := ~bvadd32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] ~partial_sum~0 := ~carry~0; [L63] ~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8) [L67] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~a2~0))[16:0]; [L68] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L70] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0)) [L71] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L72] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L73] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8) [L73] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~b2~0))[16:0]; [L74] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L76] COND TRUE ~bvsgt32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(254bv8)) [L77] ~partial_sum~0 := ~bvand32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(255bv8))[16:0]; [L78] ~carry~0 := 1bv16; [L80] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8) [L82] ~r2~0 := ~partial_sum~0[8:0]; [L83] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8)) [L85] ~i~0 := ~bvadd32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; [L61-L86] COND FALSE !(!((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16))) [L62] ~partial_sum~0 := ~carry~0; [L63] ~carry~0 := 0bv16; [L64] COND TRUE ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) [L65] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L66] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L67] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L68] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8) [L68] ~partial_sum~0 := ~bvadd32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(~a3~0))[16:0]; [L70] COND FALSE !(~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) [L76] COND FALSE !(~bvsgt32(~zero_extendFrom16To32(~partial_sum~0), ~zero_extendFrom8To32(254bv8))) [L80] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(0bv8)) [L81] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(1bv8)) [L82] COND FALSE !(~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(2bv8)) [L83] COND TRUE ~zero_extendFrom8To32(~i~0) == ~zero_extendFrom8To32(3bv8) [L83] ~r3~0 := ~partial_sum~0[8:0]; [L85] ~i~0 := ~bvadd32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(1bv8))[8:0]; [L61-L86] COND TRUE !((~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~na~0)) || ~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(~nb~0))) || ~zero_extendFrom16To32(~carry~0) != ~zero_extendFrom16To32(0bv16)) [L88-L95] COND TRUE !~bvslt32(~zero_extendFrom8To32(~i~0), ~zero_extendFrom8To32(4bv8)) [L97] ~r~0 := ~bvor32(~bvor32(~bvor32(~zero_extendFrom8To32(~r0~0), ~bvshl32(~zero_extendFrom8To32(~r1~0), 8bv32)), ~bvshl32(~zero_extendFrom8To32(~r2~0), 16bv32)), ~bvshl32(~zero_extendFrom8To32(~r3~0), 24bv32)); [L99] #res := ~r~0; [L110] ~r~1 := #t~ret2; [L110] havoc #t~ret2; [L4-L9] ~cond := #in~cond; [L5] COND TRUE 0bv32 == ~cond [L6] assert false; [L105] unsigned int a, b, r; [L107] a = __VERIFIER_nondet_uint() [L108] b = __VERIFIER_nondet_uint() [L23] unsigned char a0, a1, a2, a3; [L24] unsigned char b0, b1, b2, b3; [L25] unsigned char r0, r1, r2, r3; [L26] unsigned short carry; [L27] unsigned short partial_sum; [L28] unsigned int r; [L29] unsigned char i; [L30] unsigned char na, nb; [L31] a0 = a [L32] a1 = a >> 8 [L33] a2 = a >> 16U [L34] a3 = a >> 24U [L35] b0 = b [L36] b1 = b >> 8U [L37] b2 = b >> 16U [L38] b3 = b >> 24U [L39] na = (unsigned char)4 [L40] COND FALSE !(a3 == (unsigned char)0) [L49] nb = (unsigned char)4 [L50] COND TRUE b3 == (unsigned char)0 [L51] nb = nb - 1 [L52] COND FALSE !(b2 == (unsigned char)0) [L59] carry = (unsigned short)0 [L60] i = (unsigned char)0 [L61] COND TRUE (i < na) || (i < nb) || (carry != (unsigned short)0) [L62] partial_sum = carry [L63] carry = (unsigned short)0 [L64] COND TRUE i < na [L65] COND TRUE i == (unsigned char)0 [L65] partial_sum = partial_sum + a0 [L66] COND FALSE !(i == (unsigned char)1) [L67] COND FALSE !(i == (unsigned char)2) [L68] COND FALSE !(i == (unsigned char)3) [L70] COND TRUE i < nb [L71] COND TRUE i == (unsigned char)0 [L71] partial_sum = partial_sum + b0 [L72] COND FALSE !(i == (unsigned char)1) [L73] COND FALSE !(i == (unsigned char)2) [L74] COND FALSE !(i == (unsigned char)3) [L76] COND TRUE partial_sum > ((unsigned char)254) [L77] partial_sum = partial_sum & ((unsigned char)255) [L78] carry = (unsigned short)1 [L80] COND TRUE i == (unsigned char)0 [L80] r0 = (unsigned char)partial_sum [L81] COND FALSE !(i == (unsigned char)1) [L82] COND FALSE !(i == (unsigned char)2) [L83] COND FALSE !(i == (unsigned char)3) [L85] i = i + (unsigned char)1 [L61] COND TRUE (i < na) || (i < nb) || (carry != (unsigned short)0) [L62] partial_sum = carry [L63] carry = (unsigned short)0 [L64] COND TRUE i < na [L65] COND FALSE !(i == (unsigned char)0) [L66] COND TRUE i == (unsigned char)1 [L66] partial_sum = partial_sum + a1 [L67] COND FALSE !(i == (unsigned char)2) [L68] COND FALSE !(i == (unsigned char)3) [L70] COND TRUE i < nb [L71] COND FALSE !(i == (unsigned char)0) [L72] COND TRUE i == (unsigned char)1 [L72] partial_sum = partial_sum + b1 [L73] COND FALSE !(i == (unsigned char)2) [L74] COND FALSE !(i == (unsigned char)3) [L76] COND FALSE !(partial_sum > ((unsigned char)254)) [L80] COND FALSE !(i == (unsigned char)0) [L81] COND TRUE i == (unsigned char)1 [L81] r1 = (unsigned char)partial_sum [L82] COND FALSE !(i == (unsigned char)2) [L83] COND FALSE !(i == (unsigned char)3) [L85] i = i + (unsigned char)1 [L61] COND TRUE (i < na) || (i < nb) || (carry != (unsigned short)0) [L62] partial_sum = carry [L63] carry = (unsigned short)0 [L64] COND TRUE i < na [L65] COND FALSE !(i == (unsigned char)0) [L66] COND FALSE !(i == (unsigned char)1) [L67] COND TRUE i == (unsigned char)2 [L67] partial_sum = partial_sum + a2 [L68] COND FALSE !(i == (unsigned char)3) [L70] COND TRUE i < nb [L71] COND FALSE !(i == (unsigned char)0) [L72] COND FALSE !(i == (unsigned char)1) [L73] COND TRUE i == (unsigned char)2 [L73] partial_sum = partial_sum + b2 [L74] COND FALSE !(i == (unsigned char)3) [L76] COND TRUE partial_sum > ((unsigned char)254) [L77] partial_sum = partial_sum & ((unsigned char)255) [L78] carry = (unsigned short)1 [L80] COND FALSE !(i == (unsigned char)0) [L81] COND FALSE !(i == (unsigned char)1) [L82] COND TRUE i == (unsigned char)2 [L82] r2 = (unsigned char)partial_sum [L83] COND FALSE !(i == (unsigned char)3) [L85] i = i + (unsigned char)1 [L61] COND TRUE (i < na) || (i < nb) || (carry != (unsigned short)0) [L62] partial_sum = carry [L63] carry = (unsigned short)0 [L64] COND TRUE i < na [L65] COND FALSE !(i == (unsigned char)0) [L66] COND FALSE !(i == (unsigned char)1) [L67] COND FALSE !(i == (unsigned char)2) [L68] COND TRUE i == (unsigned char)3 [L68] partial_sum = partial_sum + a3 [L70] COND FALSE !(i < nb) [L76] COND FALSE !(partial_sum > ((unsigned char)254)) [L80] COND FALSE !(i == (unsigned char)0) [L81] COND FALSE !(i == (unsigned char)1) [L82] COND FALSE !(i == (unsigned char)2) [L83] COND TRUE i == (unsigned char)3 [L83] r3 = (unsigned char)partial_sum [L85] i = i + (unsigned char)1 [L61] COND FALSE !((i < na) || (i < nb) || (carry != (unsigned short)0)) [L88] COND FALSE !(i < (unsigned char)4) [L97] r = r0 | (r1 << 8U) | (r2 << 16U) | ((unsigned int)r3 << 24U) [L99] return r; [L110] r = mp_add(a, b) [L5] COND TRUE !(cond) [L6] __VERIFIER_error() ----- [2018-11-22 23:19:07,072 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_089c191b-bb06-4560-820e-b8c6262834d8/bin-2019/ukojak/witness.graphml [2018-11-22 23:19:07,072 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-22 23:19:07,073 INFO L168 Benchmark]: Toolchain (without parser) took 1974.47 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 120.1 MB). Free memory was 949.7 MB in the beginning and 933.6 MB in the end (delta: 16.1 MB). Peak memory consumption was 136.2 MB. Max. memory is 11.5 GB. [2018-11-22 23:19:07,074 INFO L168 Benchmark]: CDTParser took 0.17 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 23:19:07,074 INFO L168 Benchmark]: CACSL2BoogieTranslator took 201.48 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 933.6 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-22 23:19:07,074 INFO L168 Benchmark]: Boogie Procedure Inliner took 28.25 ms. Allocated memory is still 1.0 GB. Free memory is still 933.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 23:19:07,074 INFO L168 Benchmark]: Boogie Preprocessor took 28.53 ms. Allocated memory is still 1.0 GB. Free memory was 933.6 MB in the beginning and 928.3 MB in the end (delta: 5.4 MB). Peak memory consumption was 5.4 MB. Max. memory is 11.5 GB. [2018-11-22 23:19:07,074 INFO L168 Benchmark]: RCFGBuilder took 662.81 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 120.1 MB). Free memory was 928.3 MB in the beginning and 1.0 GB in the end (delta: -114.3 MB). Peak memory consumption was 18.2 MB. Max. memory is 11.5 GB. [2018-11-22 23:19:07,074 INFO L168 Benchmark]: CodeCheck took 739.07 ms. Allocated memory is still 1.1 GB. Free memory was 1.0 GB in the beginning and 947.2 MB in the end (delta: 95.4 MB). Peak memory consumption was 95.4 MB. Max. memory is 11.5 GB. [2018-11-22 23:19:07,075 INFO L168 Benchmark]: Witness Printer took 311.48 ms. Allocated memory is still 1.1 GB. Free memory was 947.2 MB in the beginning and 933.6 MB in the end (delta: 13.5 MB). Peak memory consumption was 13.5 MB. Max. memory is 11.5 GB. [2018-11-22 23:19:07,076 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - StatisticsResult: Ultimate CodeCheck benchmark data CFG has 1 procedures, 41 locations, 1 error locations. UNSAFE Result, 0.6s OverallTime, 5 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 24 SDtfs, 44 SDslu, 0 SDs, 0 SdLazy, 254 SolverSat, 154 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.3s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 224 GetRequests, 210 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 35 NumberOfCodeBlocks, 35 NumberOfCodeBlocksAsserted, 5 NumberOfCheckSat, 22 ConstructedInterpolants, 0 QuantifiedInterpolants, 402 SizeOfPredicates, 4 NumberOfNonLiveVariables, 170 ConjunctsInSsa, 14 ConjunctsInUnsatCore, 4 InterpolantComputations, 1 PerfectInterpolantSequences, 0/10 InterpolantCoveringCapability, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - CounterExampleResult [Line: 6]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L105] unsigned int a, b, r; [L107] a = __VERIFIER_nondet_uint() [L108] b = __VERIFIER_nondet_uint() [L23] unsigned char a0, a1, a2, a3; [L24] unsigned char b0, b1, b2, b3; [L25] unsigned char r0, r1, r2, r3; [L26] unsigned short carry; [L27] unsigned short partial_sum; [L28] unsigned int r; [L29] unsigned char i; [L30] unsigned char na, nb; [L31] a0 = a [L32] a1 = a >> 8 [L33] a2 = a >> 16U [L34] a3 = a >> 24U [L35] b0 = b [L36] b1 = b >> 8U [L37] b2 = b >> 16U [L38] b3 = b >> 24U [L39] na = (unsigned char)4 [L40] COND FALSE !(a3 == (unsigned char)0) [L49] nb = (unsigned char)4 [L50] COND TRUE b3 == (unsigned char)0 [L51] nb = nb - 1 [L52] COND FALSE !(b2 == (unsigned char)0) [L59] carry = (unsigned short)0 [L60] i = (unsigned char)0 [L61] COND TRUE (i < na) || (i < nb) || (carry != (unsigned short)0) [L62] partial_sum = carry [L63] carry = (unsigned short)0 [L64] COND TRUE i < na [L65] COND TRUE i == (unsigned char)0 [L65] partial_sum = partial_sum + a0 [L66] COND FALSE !(i == (unsigned char)1) [L67] COND FALSE !(i == (unsigned char)2) [L68] COND FALSE !(i == (unsigned char)3) [L70] COND TRUE i < nb [L71] COND TRUE i == (unsigned char)0 [L71] partial_sum = partial_sum + b0 [L72] COND FALSE !(i == (unsigned char)1) [L73] COND FALSE !(i == (unsigned char)2) [L74] COND FALSE !(i == (unsigned char)3) [L76] COND TRUE partial_sum > ((unsigned char)254) [L77] partial_sum = partial_sum & ((unsigned char)255) [L78] carry = (unsigned short)1 [L80] COND TRUE i == (unsigned char)0 [L80] r0 = (unsigned char)partial_sum [L81] COND FALSE !(i == (unsigned char)1) [L82] COND FALSE !(i == (unsigned char)2) [L83] COND FALSE !(i == (unsigned char)3) [L85] i = i + (unsigned char)1 [L61] COND TRUE (i < na) || (i < nb) || (carry != (unsigned short)0) [L62] partial_sum = carry [L63] carry = (unsigned short)0 [L64] COND TRUE i < na [L65] COND FALSE !(i == (unsigned char)0) [L66] COND TRUE i == (unsigned char)1 [L66] partial_sum = partial_sum + a1 [L67] COND FALSE !(i == (unsigned char)2) [L68] COND FALSE !(i == (unsigned char)3) [L70] COND TRUE i < nb [L71] COND FALSE !(i == (unsigned char)0) [L72] COND TRUE i == (unsigned char)1 [L72] partial_sum = partial_sum + b1 [L73] COND FALSE !(i == (unsigned char)2) [L74] COND FALSE !(i == (unsigned char)3) [L76] COND FALSE !(partial_sum > ((unsigned char)254)) [L80] COND FALSE !(i == (unsigned char)0) [L81] COND TRUE i == (unsigned char)1 [L81] r1 = (unsigned char)partial_sum [L82] COND FALSE !(i == (unsigned char)2) [L83] COND FALSE !(i == (unsigned char)3) [L85] i = i + (unsigned char)1 [L61] COND TRUE (i < na) || (i < nb) || (carry != (unsigned short)0) [L62] partial_sum = carry [L63] carry = (unsigned short)0 [L64] COND TRUE i < na [L65] COND FALSE !(i == (unsigned char)0) [L66] COND FALSE !(i == (unsigned char)1) [L67] COND TRUE i == (unsigned char)2 [L67] partial_sum = partial_sum + a2 [L68] COND FALSE !(i == (unsigned char)3) [L70] COND TRUE i < nb [L71] COND FALSE !(i == (unsigned char)0) [L72] COND FALSE !(i == (unsigned char)1) [L73] COND TRUE i == (unsigned char)2 [L73] partial_sum = partial_sum + b2 [L74] COND FALSE !(i == (unsigned char)3) [L76] COND TRUE partial_sum > ((unsigned char)254) [L77] partial_sum = partial_sum & ((unsigned char)255) [L78] carry = (unsigned short)1 [L80] COND FALSE !(i == (unsigned char)0) [L81] COND FALSE !(i == (unsigned char)1) [L82] COND TRUE i == (unsigned char)2 [L82] r2 = (unsigned char)partial_sum [L83] COND FALSE !(i == (unsigned char)3) [L85] i = i + (unsigned char)1 [L61] COND TRUE (i < na) || (i < nb) || (carry != (unsigned short)0) [L62] partial_sum = carry [L63] carry = (unsigned short)0 [L64] COND TRUE i < na [L65] COND FALSE !(i == (unsigned char)0) [L66] COND FALSE !(i == (unsigned char)1) [L67] COND FALSE !(i == (unsigned char)2) [L68] COND TRUE i == (unsigned char)3 [L68] partial_sum = partial_sum + a3 [L70] COND FALSE !(i < nb) [L76] COND FALSE !(partial_sum > ((unsigned char)254)) [L80] COND FALSE !(i == (unsigned char)0) [L81] COND FALSE !(i == (unsigned char)1) [L82] COND FALSE !(i == (unsigned char)2) [L83] COND TRUE i == (unsigned char)3 [L83] r3 = (unsigned char)partial_sum [L85] i = i + (unsigned char)1 [L61] COND FALSE !((i < na) || (i < nb) || (carry != (unsigned short)0)) [L88] COND FALSE !(i < (unsigned char)4) [L97] r = r0 | (r1 << 8U) | (r2 << 16U) | ((unsigned int)r3 << 24U) [L99] return r; [L110] r = mp_add(a, b) [L5] COND TRUE !(cond) [L6] __VERIFIER_error() * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.17 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 201.48 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 933.6 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 28.25 ms. Allocated memory is still 1.0 GB. Free memory is still 933.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 28.53 ms. Allocated memory is still 1.0 GB. Free memory was 933.6 MB in the beginning and 928.3 MB in the end (delta: 5.4 MB). Peak memory consumption was 5.4 MB. Max. memory is 11.5 GB. * RCFGBuilder took 662.81 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 120.1 MB). Free memory was 928.3 MB in the beginning and 1.0 GB in the end (delta: -114.3 MB). Peak memory consumption was 18.2 MB. Max. memory is 11.5 GB. * CodeCheck took 739.07 ms. Allocated memory is still 1.1 GB. Free memory was 1.0 GB in the beginning and 947.2 MB in the end (delta: 95.4 MB). Peak memory consumption was 95.4 MB. Max. memory is 11.5 GB. * Witness Printer took 311.48 ms. Allocated memory is still 1.1 GB. Free memory was 947.2 MB in the beginning and 933.6 MB in the end (delta: 13.5 MB). Peak memory consumption was 13.5 MB. Max. memory is 11.5 GB. RESULT: Ultimate proved your program to be incorrect! Received shutdown request...