./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/pthread/bigshot_s_true-unreach-call.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_0bcff387-9d02-492f-be3e-32dd767875e4/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_0bcff387-9d02-492f-be3e-32dd767875e4/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_0bcff387-9d02-492f-be3e-32dd767875e4/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_0bcff387-9d02-492f-be3e-32dd767875e4/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/pthread/bigshot_s_true-unreach-call.i -s /tmp/vcloud-vcloud-master/worker/working_dir_0bcff387-9d02-492f-be3e-32dd767875e4/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_0bcff387-9d02-492f-be3e-32dd767875e4/bin-2019/uautomizer --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 Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 655cb1db762a7e354d9e519dfd96f5af8758beab ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. 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-23 06:37:29,691 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 06:37:29,692 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 06:37:29,702 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 06:37:29,702 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 06:37:29,703 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 06:37:29,704 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 06:37:29,705 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 06:37:29,706 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 06:37:29,707 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 06:37:29,708 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 06:37:29,708 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 06:37:29,709 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 06:37:29,710 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 06:37:29,711 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 06:37:29,711 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 06:37:29,712 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 06:37:29,713 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 06:37:29,715 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 06:37:29,716 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 06:37:29,716 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 06:37:29,717 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 06:37:29,719 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 06:37:29,720 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 06:37:29,720 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 06:37:29,720 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 06:37:29,721 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 06:37:29,721 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 06:37:29,722 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 06:37:29,723 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 06:37:29,723 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 06:37:29,724 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 06:37:29,724 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 06:37:29,724 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 06:37:29,725 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 06:37:29,725 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 06:37:29,726 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_0bcff387-9d02-492f-be3e-32dd767875e4/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 06:37:29,737 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 06:37:29,737 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 06:37:29,738 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 06:37:29,738 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 06:37:29,738 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 06:37:29,739 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 06:37:29,739 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 06:37:29,739 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 06:37:29,739 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 06:37:29,739 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 06:37:29,739 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 06:37:29,739 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 06:37:29,740 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 06:37:29,740 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 06:37:29,740 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 06:37:29,740 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 06:37:29,740 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 06:37:29,740 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 06:37:29,740 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 06:37:29,741 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 06:37:29,741 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 06:37:29,741 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 06:37:29,741 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 06:37:29,741 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 06:37:29,741 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 06:37:29,742 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 06:37:29,742 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 06:37:29,742 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 06:37:29,742 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 06:37:29,742 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 06:37:29,742 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_0bcff387-9d02-492f-be3e-32dd767875e4/bin-2019/uautomizer 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 -> Automizer 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 -> 655cb1db762a7e354d9e519dfd96f5af8758beab [2018-11-23 06:37:29,771 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 06:37:29,781 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 06:37:29,784 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 06:37:29,786 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 06:37:29,786 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 06:37:29,786 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_0bcff387-9d02-492f-be3e-32dd767875e4/bin-2019/uautomizer/../../sv-benchmarks/c/pthread/bigshot_s_true-unreach-call.i [2018-11-23 06:37:29,840 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_0bcff387-9d02-492f-be3e-32dd767875e4/bin-2019/uautomizer/data/be1b166bd/5a5732a9c25b4570a01b23cfb74d7b4c/FLAG4a834bf01 [2018-11-23 06:37:30,255 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 06:37:30,256 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_0bcff387-9d02-492f-be3e-32dd767875e4/sv-benchmarks/c/pthread/bigshot_s_true-unreach-call.i [2018-11-23 06:37:30,267 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_0bcff387-9d02-492f-be3e-32dd767875e4/bin-2019/uautomizer/data/be1b166bd/5a5732a9c25b4570a01b23cfb74d7b4c/FLAG4a834bf01 [2018-11-23 06:37:30,278 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_0bcff387-9d02-492f-be3e-32dd767875e4/bin-2019/uautomizer/data/be1b166bd/5a5732a9c25b4570a01b23cfb74d7b4c [2018-11-23 06:37:30,281 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 06:37:30,282 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 06:37:30,282 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 06:37:30,282 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 06:37:30,285 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 06:37:30,285 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:37:30" (1/1) ... [2018-11-23 06:37:30,287 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@61ab206d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:37:30, skipping insertion in model container [2018-11-23 06:37:30,287 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:37:30" (1/1) ... [2018-11-23 06:37:30,294 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 06:37:30,329 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 06:37:30,645 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:37:30,653 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 06:37:30,743 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:37:30,819 INFO L195 MainTranslator]: Completed translation [2018-11-23 06:37:30,820 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:37:30 WrapperNode [2018-11-23 06:37:30,820 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 06:37:30,820 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 06:37:30,820 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 06:37:30,820 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 06:37:30,826 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:37:30" (1/1) ... [2018-11-23 06:37:30,841 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:37:30" (1/1) ... [2018-11-23 06:37:30,858 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 06:37:30,859 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 06:37:30,859 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 06:37:30,859 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 06:37:30,867 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:37:30" (1/1) ... [2018-11-23 06:37:30,868 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:37:30" (1/1) ... [2018-11-23 06:37:30,869 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:37:30" (1/1) ... [2018-11-23 06:37:30,870 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:37:30" (1/1) ... [2018-11-23 06:37:30,874 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:37:30" (1/1) ... [2018-11-23 06:37:30,876 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:37:30" (1/1) ... [2018-11-23 06:37:30,877 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:37:30" (1/1) ... [2018-11-23 06:37:30,879 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 06:37:30,879 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 06:37:30,879 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 06:37:30,879 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 06:37:30,880 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:37:30" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_0bcff387-9d02-492f-be3e-32dd767875e4/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (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:2000 [2018-11-23 06:37:30,920 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 06:37:30,921 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-23 06:37:30,921 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 06:37:30,921 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 06:37:30,921 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2018-11-23 06:37:30,921 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2018-11-23 06:37:30,921 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2018-11-23 06:37:30,922 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2018-11-23 06:37:30,922 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 06:37:30,922 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 06:37:30,922 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 06:37:30,923 WARN L198 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to SingleStatement [2018-11-23 06:37:31,152 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 06:37:31,153 INFO L280 CfgBuilder]: Removed 9 assue(true) statements. [2018-11-23 06:37:31,153 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:37:31 BoogieIcfgContainer [2018-11-23 06:37:31,153 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 06:37:31,154 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 06:37:31,154 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 06:37:31,157 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 06:37:31,157 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 06:37:30" (1/3) ... [2018-11-23 06:37:31,158 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@38c70f63 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 06:37:31, skipping insertion in model container [2018-11-23 06:37:31,158 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:37:30" (2/3) ... [2018-11-23 06:37:31,158 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@38c70f63 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 06:37:31, skipping insertion in model container [2018-11-23 06:37:31,158 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:37:31" (3/3) ... [2018-11-23 06:37:31,161 INFO L112 eAbstractionObserver]: Analyzing ICFG bigshot_s_true-unreach-call.i [2018-11-23 06:37:31,191 WARN L317 ript$VariableManager]: TermVariabe |Thread1_thread1_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,192 WARN L317 ript$VariableManager]: TermVariabe |Thread1_thread1_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,192 WARN L317 ript$VariableManager]: TermVariabe Thread1_thread1_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,192 WARN L317 ript$VariableManager]: TermVariabe Thread1_thread1_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,192 WARN L317 ript$VariableManager]: TermVariabe |Thread1_thread1_#t~malloc0.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,192 WARN L317 ript$VariableManager]: TermVariabe |Thread1_thread1_#t~malloc0.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,193 WARN L317 ript$VariableManager]: TermVariabe |Thread1_thread1_#t~malloc0.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,193 WARN L317 ript$VariableManager]: TermVariabe |Thread1_thread1_#t~malloc0.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,193 WARN L317 ript$VariableManager]: TermVariabe |Thread1_thread1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,193 WARN L317 ript$VariableManager]: TermVariabe |Thread1_thread1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,193 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,193 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,193 WARN L317 ript$VariableManager]: TermVariabe Thread0_thread2_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,194 WARN L317 ript$VariableManager]: TermVariabe Thread0_thread2_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,194 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_src.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,194 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_dest.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,194 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_src.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,194 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_dest.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,194 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,194 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,194 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,194 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,195 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,195 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,195 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,195 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_src.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,195 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_src.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,195 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,195 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,195 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,195 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_dest.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,195 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,195 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_dest.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,196 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,196 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_dest.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,196 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_dest.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,196 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,196 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,196 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,196 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,196 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,196 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#t~strcpy~res2.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,196 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#t~strcpy~res2.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,197 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,197 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,197 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#t~strcpy~res2.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,197 WARN L317 ript$VariableManager]: TermVariabe |Thread0_thread2_#t~strcpy~res2.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:37:31,208 WARN L145 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2018-11-23 06:37:31,208 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 06:37:31,214 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 06:37:31,225 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 06:37:31,245 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 06:37:31,245 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 06:37:31,245 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 06:37:31,246 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 06:37:31,246 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 06:37:31,246 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 06:37:31,246 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 06:37:31,246 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 06:37:31,246 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 06:37:31,253 INFO L100 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 62places, 66 transitions [2018-11-23 06:37:31,266 INFO L122 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result 100 states. [2018-11-23 06:37:31,268 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states. [2018-11-23 06:37:31,276 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2018-11-23 06:37:31,277 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:37:31,277 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:37:31,279 INFO L423 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:37:31,283 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:37:31,283 INFO L82 PathProgramCache]: Analyzing trace with hash 1697446965, now seen corresponding path program 1 times [2018-11-23 06:37:31,284 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 06:37:31,285 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 06:37:31,329 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:37:31,329 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:37:31,329 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:37:31,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:37:31,489 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-23 06:37:31,491 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:37:31,491 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 06:37:31,494 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 06:37:31,502 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 06:37:31,503 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 06:37:31,505 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 4 states. [2018-11-23 06:37:31,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:37:31,550 INFO L93 Difference]: Finished difference Result 100 states and 143 transitions. [2018-11-23 06:37:31,550 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 06:37:31,551 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 36 [2018-11-23 06:37:31,552 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:37:31,559 INFO L225 Difference]: With dead ends: 100 [2018-11-23 06:37:31,560 INFO L226 Difference]: Without dead ends: 90 [2018-11-23 06:37:31,561 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 06:37:31,575 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2018-11-23 06:37:31,589 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 90. [2018-11-23 06:37:31,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 90 states. [2018-11-23 06:37:31,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 133 transitions. [2018-11-23 06:37:31,593 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 133 transitions. Word has length 36 [2018-11-23 06:37:31,594 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:37:31,594 INFO L480 AbstractCegarLoop]: Abstraction has 90 states and 133 transitions. [2018-11-23 06:37:31,594 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 06:37:31,594 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 133 transitions. [2018-11-23 06:37:31,595 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2018-11-23 06:37:31,596 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:37:31,596 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:37:31,596 INFO L423 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:37:31,596 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:37:31,597 INFO L82 PathProgramCache]: Analyzing trace with hash -343771056, now seen corresponding path program 1 times [2018-11-23 06:37:31,597 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 06:37:31,597 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 06:37:31,601 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:37:31,602 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:37:31,602 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:37:31,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:37:31,695 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-23 06:37:31,695 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:37:31,695 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 06:37:31,697 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 06:37:31,698 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 06:37:31,698 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-23 06:37:31,698 INFO L87 Difference]: Start difference. First operand 90 states and 133 transitions. Second operand 5 states. [2018-11-23 06:37:31,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:37:31,730 INFO L93 Difference]: Finished difference Result 94 states and 136 transitions. [2018-11-23 06:37:31,730 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 06:37:31,730 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 46 [2018-11-23 06:37:31,730 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:37:31,731 INFO L225 Difference]: With dead ends: 94 [2018-11-23 06:37:31,731 INFO L226 Difference]: Without dead ends: 90 [2018-11-23 06:37:31,732 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2018-11-23 06:37:31,732 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2018-11-23 06:37:31,736 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 90. [2018-11-23 06:37:31,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 90 states. [2018-11-23 06:37:31,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 132 transitions. [2018-11-23 06:37:31,737 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 132 transitions. Word has length 46 [2018-11-23 06:37:31,737 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:37:31,737 INFO L480 AbstractCegarLoop]: Abstraction has 90 states and 132 transitions. [2018-11-23 06:37:31,737 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 06:37:31,737 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 132 transitions. [2018-11-23 06:37:31,738 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2018-11-23 06:37:31,738 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:37:31,738 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:37:31,738 INFO L423 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:37:31,738 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:37:31,739 INFO L82 PathProgramCache]: Analyzing trace with hash 1416720268, now seen corresponding path program 1 times [2018-11-23 06:37:31,739 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 06:37:31,739 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 06:37:31,741 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:37:31,741 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:37:31,741 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:37:31,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:37:31,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:37:31,797 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.modelcheckerutils.cfg.transformations.BlockEncodingBacktranslator [?] -1 [115] ULTIMATE.startENTRY-->L-1: Formula: (and (= |v_#NULL.offset_1| 0) (= |v_#NULL.base_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] VAL [|#NULL.base|=0, |#NULL.offset|=0] [?] -1 [93] L-1-->L1221: Formula: (= |v_#valid_7| (store |v_#valid_8| 0 0)) InVars {#valid=|v_#valid_8|} OutVars{#valid=|v_#valid_7|} AuxVars[] AssignedVars[#valid] VAL [|#NULL.base|=0, |#NULL.offset|=0] [?] -1 [97] L1221-->L1221-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_#t~string1.base_2| 8)) (not (= |v_#t~string1.base_2| 0)) (= |v_#t~string1.offset_2| 0) (= |v_#valid_9| (store |v_#valid_10| |v_#t~string1.base_2| 1)) (= 0 (select |v_#valid_10| |v_#t~string1.base_2|))) InVars {#length=|v_#length_4|, #valid=|v_#valid_10|} OutVars{#t~string1.base=|v_#t~string1.base_2|, #t~string1.offset=|v_#t~string1.offset_2|, #length=|v_#length_3|, #valid=|v_#valid_9|} AuxVars[] AssignedVars[#t~string1.offset, #valid, #t~string1.base, #length] VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0] [?] -1 [88] L1221-1-->L-1-1: Formula: (and (= v_~v~0.offset_5 0) (= v_~v~0.base_5 0)) InVars {} OutVars{~v~0.offset=v_~v~0.offset_5, ~v~0.base=v_~v~0.base_5} AuxVars[] AssignedVars[~v~0.offset, ~v~0.base] VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 [148] L-1-1-->L-1-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res] VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 [145] L-1-2-->L1226: Formula: true InVars {} OutVars{ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_3|, ULTIMATE.start_main_#t~mem7=|v_ULTIMATE.start_main_#t~mem7_2|, ULTIMATE.start_main_#t~nondet5=|v_ULTIMATE.start_main_#t~nondet5_1|, ULTIMATE.start_main_#t~nondet3=|v_ULTIMATE.start_main_#t~nondet3_1|, ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_3|, ULTIMATE.start_main_#t~mem6=|v_ULTIMATE.start_main_#t~mem6_1|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_3|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_3|, ULTIMATE.start_main_#t~mem4=|v_ULTIMATE.start_main_#t~mem4_1|, ULTIMATE.start_main_#t~short8=|v_ULTIMATE.start_main_#t~short8_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t1~0.base, ULTIMATE.start_main_#t~mem7, ULTIMATE.start_main_#t~nondet5, ULTIMATE.start_main_#t~nondet3, ULTIMATE.start_main_~#t2~0.offset, ULTIMATE.start_main_#t~mem6, ULTIMATE.start_main_~#t1~0.offset, ULTIMATE.start_main_~#t2~0.base, ULTIMATE.start_main_#t~mem4, ULTIMATE.start_main_#t~short8] VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 [134] L1226-->L1226-1: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t1~0.base_4| 4)) (= 0 |v_ULTIMATE.start_main_~#t1~0.offset_4|) (= 0 (select |v_#valid_12| |v_ULTIMATE.start_main_~#t1~0.base_4|)) (= |v_#valid_11| (store |v_#valid_12| |v_ULTIMATE.start_main_~#t1~0.base_4| 1)) (not (= 0 |v_ULTIMATE.start_main_~#t1~0.base_4|))) InVars {#length=|v_#length_6|, #valid=|v_#valid_12|} OutVars{ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_4|, #valid=|v_#valid_11|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t1~0.base, #valid, #length, ULTIMATE.start_main_~#t1~0.offset] VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 [114] L1226-1-->L1226-2: Formula: (and (= |v_#length_7| (store |v_#length_8| |v_ULTIMATE.start_main_~#t2~0.base_4| 4)) (not (= 0 |v_ULTIMATE.start_main_~#t2~0.base_4|)) (= |v_ULTIMATE.start_main_~#t2~0.offset_4| 0) (= |v_#valid_13| (store |v_#valid_14| |v_ULTIMATE.start_main_~#t2~0.base_4| 1)) (= 0 (select |v_#valid_14| |v_ULTIMATE.start_main_~#t2~0.base_4|))) InVars {#length=|v_#length_8|, #valid=|v_#valid_14|} OutVars{ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_4|, #length=|v_#length_7|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_4|, #valid=|v_#valid_13|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#t2~0.offset, #length, ULTIMATE.start_main_~#t2~0.base] VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 [119] L1226-2-->L1227: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t1~0.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t1~0.base_5|) |v_ULTIMATE.start_main_~#t1~0.offset_5| 0)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_5|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_5|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_5|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_5|} AuxVars[] AssignedVars[#memory_int] VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] FORK -1 [176] L1227-->thread1ENTRY: Formula: (and (= v_Thread1_thread1_thidvar0_2 0) (= |v_Thread1_thread1_#in~arg.offset_3| 0) (= 0 |v_Thread1_thread1_#in~arg.base_3|)) InVars {} OutVars{Thread1_thread1_#in~arg.base=|v_Thread1_thread1_#in~arg.base_3|, Thread1_thread1_thidvar0=v_Thread1_thread1_thidvar0_2, Thread1_thread1_#in~arg.offset=|v_Thread1_thread1_#in~arg.offset_3|} AuxVars[] AssignedVars[Thread1_thread1_#in~arg.base, Thread1_thread1_thidvar0, Thread1_thread1_#in~arg.offset] VAL [Thread1_thread1_thidvar0=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 [149] L1227-1-->L1228: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3=|v_ULTIMATE.start_main_#t~nondet3_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3] VAL [Thread1_thread1_thidvar0=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] 0 [152] thread1ENTRY-->L1216: Formula: (and (= v_Thread1_thread1_~arg.offset_1 |v_Thread1_thread1_#in~arg.offset_1|) (= v_Thread1_thread1_~arg.base_1 |v_Thread1_thread1_#in~arg.base_1|)) InVars {Thread1_thread1_#in~arg.base=|v_Thread1_thread1_#in~arg.base_1|, Thread1_thread1_#in~arg.offset=|v_Thread1_thread1_#in~arg.offset_1|} OutVars{Thread1_thread1_#in~arg.base=|v_Thread1_thread1_#in~arg.base_1|, Thread1_thread1_~arg.offset=v_Thread1_thread1_~arg.offset_1, Thread1_thread1_#in~arg.offset=|v_Thread1_thread1_#in~arg.offset_1|, Thread1_thread1_~arg.base=v_Thread1_thread1_~arg.base_1} AuxVars[] AssignedVars[Thread1_thread1_~arg.offset, Thread1_thread1_~arg.base] VAL [Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] 0 [153] L1216-->L1216-1: Formula: (and (= |v_Thread1_thread1_#t~malloc0.offset_1| 0) (= |v_#valid_1| (store |v_#valid_2| |v_Thread1_thread1_#t~malloc0.base_1| 1)) (not (= 0 |v_Thread1_thread1_#t~malloc0.base_1|)) (= |v_#length_1| (store |v_#length_2| |v_Thread1_thread1_#t~malloc0.base_1| 8)) (= 0 (select |v_#valid_2| |v_Thread1_thread1_#t~malloc0.base_1|))) InVars {#length=|v_#length_2|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, Thread1_thread1_#t~malloc0.base=|v_Thread1_thread1_#t~malloc0.base_1|, Thread1_thread1_#t~malloc0.offset=|v_Thread1_thread1_#t~malloc0.offset_1|, #valid=|v_#valid_1|} AuxVars[] AssignedVars[Thread1_thread1_#t~malloc0.base, Thread1_thread1_#t~malloc0.offset, #valid, #length] VAL [Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] 0 [154] L1216-1-->L1217: Formula: (and (= v_~v~0.base_1 |v_Thread1_thread1_#t~malloc0.base_2|) (= v_~v~0.offset_1 |v_Thread1_thread1_#t~malloc0.offset_2|)) InVars {Thread1_thread1_#t~malloc0.base=|v_Thread1_thread1_#t~malloc0.base_2|, Thread1_thread1_#t~malloc0.offset=|v_Thread1_thread1_#t~malloc0.offset_2|} OutVars{Thread1_thread1_#t~malloc0.base=|v_Thread1_thread1_#t~malloc0.base_2|, Thread1_thread1_#t~malloc0.offset=|v_Thread1_thread1_#t~malloc0.offset_2|, ~v~0.offset=v_~v~0.offset_1, ~v~0.base=v_~v~0.base_1} AuxVars[] AssignedVars[~v~0.offset, ~v~0.base] VAL [Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [90] L1228-->L1228-1: Formula: (= |v_ULTIMATE.start_main_#t~mem4_2| (select (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t1~0.base_6|) |v_ULTIMATE.start_main_~#t1~0.offset_6|)) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_6|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_6|} OutVars{#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_6|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_6|, ULTIMATE.start_main_#t~mem4=|v_ULTIMATE.start_main_#t~mem4_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem4] VAL [Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 0 [155] L1217-->thread1FINAL: Formula: (and (= |v_Thread1_thread1_#res.offset_1| 0) (= |v_Thread1_thread1_#res.base_1| 0)) InVars {} OutVars{Thread1_thread1_#res.offset=|v_Thread1_thread1_#res.offset_1|, Thread1_thread1_#res.base=|v_Thread1_thread1_#res.base_1|} AuxVars[] AssignedVars[Thread1_thread1_#res.offset, Thread1_thread1_#res.base] VAL [Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 0 [156] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] VAL [Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] JOIN 0 [177] thread1EXIT-->L1228-2: Formula: (= |v_ULTIMATE.start_main_#t~mem4_5| v_Thread1_thread1_thidvar0_4) InVars {Thread1_thread1_thidvar0=v_Thread1_thread1_thidvar0_4, ULTIMATE.start_main_#t~mem4=|v_ULTIMATE.start_main_#t~mem4_5|} OutVars{Thread1_thread1_thidvar0=v_Thread1_thread1_thidvar0_4, ULTIMATE.start_main_#t~mem4=|v_ULTIMATE.start_main_#t~mem4_5|} AuxVars[] AssignedVars[] VAL [Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [92] L1228-2-->L1229: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem4=|v_ULTIMATE.start_main_#t~mem4_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem4] VAL [Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [104] L1229-->L1229-1: Formula: (= |v_#memory_int_7| (store |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0.base_5| (store (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0.base_5|) |v_ULTIMATE.start_main_~#t2~0.offset_5| 1))) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_5|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_5|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_5|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_5|} AuxVars[] AssignedVars[#memory_int] VAL [Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] FORK -1 [175] L1229-1-->thread2ENTRY: Formula: (and (= 0 |v_Thread0_thread2_#in~arg.offset_3|) (= v_Thread0_thread2_thidvar0_2 1) (= 0 |v_Thread0_thread2_#in~arg.base_3|)) InVars {} OutVars{Thread0_thread2_thidvar0=v_Thread0_thread2_thidvar0_2, Thread0_thread2_#in~arg.offset=|v_Thread0_thread2_#in~arg.offset_3|, Thread0_thread2_#in~arg.base=|v_Thread0_thread2_#in~arg.base_3|} AuxVars[] AssignedVars[Thread0_thread2_thidvar0, Thread0_thread2_#in~arg.offset, Thread0_thread2_#in~arg.base] VAL [Thread0_thread2_thidvar0=1, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [108] L1229-2-->L1230: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5=|v_ULTIMATE.start_main_#t~nondet5_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5] VAL [Thread0_thread2_thidvar0=1, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [129] L1230-->L1230-1: Formula: (= |v_ULTIMATE.start_main_#t~mem6_2| (select (select |v_#memory_int_9| |v_ULTIMATE.start_main_~#t2~0.base_6|) |v_ULTIMATE.start_main_~#t2~0.offset_6|)) InVars {ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_6|, #memory_int=|v_#memory_int_9|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_6|} OutVars{ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_6|, #memory_int=|v_#memory_int_9|, ULTIMATE.start_main_#t~mem6=|v_ULTIMATE.start_main_#t~mem6_2|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem6] VAL [Thread0_thread2_thidvar0=1, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [157] thread2ENTRY-->L1221: Formula: (and (= v_Thread0_thread2_~arg.base_1 |v_Thread0_thread2_#in~arg.base_1|) (= v_Thread0_thread2_~arg.offset_1 |v_Thread0_thread2_#in~arg.offset_1|)) InVars {Thread0_thread2_#in~arg.offset=|v_Thread0_thread2_#in~arg.offset_1|, Thread0_thread2_#in~arg.base=|v_Thread0_thread2_#in~arg.base_1|} OutVars{Thread0_thread2_~arg.offset=v_Thread0_thread2_~arg.offset_1, Thread0_thread2_~arg.base=v_Thread0_thread2_~arg.base_1, Thread0_thread2_#in~arg.offset=|v_Thread0_thread2_#in~arg.offset_1|, Thread0_thread2_#in~arg.base=|v_Thread0_thread2_#in~arg.base_1|} AuxVars[] AssignedVars[Thread0_thread2_~arg.offset, Thread0_thread2_~arg.base] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [158] L1221-->L1221-1: Formula: (or (not (= 0 v_~v~0.base_2)) (not (= v_~v~0.offset_2 0))) InVars {~v~0.offset=v_~v~0.offset_2, ~v~0.base=v_~v~0.base_2} OutVars{~v~0.offset=v_~v~0.offset_2, ~v~0.base=v_~v~0.base_2} AuxVars[] AssignedVars[] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [160] L1221-1-->L1221-2: Formula: (and (= |v_Thread0_thread2_#Ultimate.C_strcpy_src.base_1| |v_#t~string1.base_1|) (= |v_Thread0_thread2_#Ultimate.C_strcpy_src.offset_1| |v_#t~string1.offset_1|) (= |v_Thread0_thread2_#Ultimate.C_strcpy_dest.offset_1| v_~v~0.offset_3) (= |v_Thread0_thread2_#Ultimate.C_strcpy_dest.base_1| v_~v~0.base_3)) InVars {#t~string1.base=|v_#t~string1.base_1|, #t~string1.offset=|v_#t~string1.offset_1|, ~v~0.offset=v_~v~0.offset_3, ~v~0.base=v_~v~0.base_3} OutVars{#t~string1.offset=|v_#t~string1.offset_1|, Thread0_thread2_#Ultimate.C_strcpy_dest.base=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.base_1|, Thread0_thread2_#Ultimate.C_strcpy_src.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_src.offset_1|, ~v~0.offset=v_~v~0.offset_3, Thread0_thread2_#Ultimate.C_strcpy_src.base=|v_Thread0_thread2_#Ultimate.C_strcpy_src.base_1|, Thread0_thread2_#Ultimate.C_strcpy_dest.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.offset_1|, #t~string1.base=|v_#t~string1.base_1|, ~v~0.base=v_~v~0.base_3} AuxVars[] AssignedVars[Thread0_thread2_#Ultimate.C_strcpy_dest.base, Thread0_thread2_#Ultimate.C_strcpy_src.offset, Thread0_thread2_#Ultimate.C_strcpy_src.base, Thread0_thread2_#Ultimate.C_strcpy_dest.offset] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [162] L1221-2-->L1221-3: Formula: true InVars {} OutVars{Thread0_thread2_#Ultimate.C_strcpy_#res.base=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.base_1|, Thread0_thread2_#Ultimate.C_strcpy_#res.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.offset_1|} AuxVars[] AssignedVars[Thread0_thread2_#Ultimate.C_strcpy_#res.offset, Thread0_thread2_#Ultimate.C_strcpy_#res.base] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [164] L1221-3-->L-1: Formula: true InVars {} OutVars{Thread0_thread2_#Ultimate.C_strcpy_#t~offset10=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~offset10_1|, Thread0_thread2_#Ultimate.C_strcpy_#t~mem11=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~mem11_1|} AuxVars[] AssignedVars[Thread0_thread2_#Ultimate.C_strcpy_#t~offset10, Thread0_thread2_#Ultimate.C_strcpy_#t~mem11] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [165] L-1-->L-1-6: Formula: (= |v_Thread0_thread2_#Ultimate.C_strcpy_#t~offset10_2| 0) InVars {} OutVars{Thread0_thread2_#Ultimate.C_strcpy_#t~offset10=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~offset10_2|} AuxVars[] AssignedVars[Thread0_thread2_#Ultimate.C_strcpy_#t~offset10] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [166] L-1-6-->L-1-2: Formula: (= |v_Thread0_thread2_#Ultimate.C_strcpy_#t~mem11_2| (select (select |v_#memory_int_1| |v_Thread0_thread2_#Ultimate.C_strcpy_src.base_2|) (+ |v_Thread0_thread2_#Ultimate.C_strcpy_#t~offset10_3| |v_Thread0_thread2_#Ultimate.C_strcpy_src.offset_2|))) InVars {Thread0_thread2_#Ultimate.C_strcpy_#t~offset10=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~offset10_3|, #memory_int=|v_#memory_int_1|, Thread0_thread2_#Ultimate.C_strcpy_src.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_src.offset_2|, Thread0_thread2_#Ultimate.C_strcpy_src.base=|v_Thread0_thread2_#Ultimate.C_strcpy_src.base_2|} OutVars{Thread0_thread2_#Ultimate.C_strcpy_#t~offset10=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~offset10_3|, #memory_int=|v_#memory_int_1|, Thread0_thread2_#Ultimate.C_strcpy_#t~mem11=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~mem11_2|, Thread0_thread2_#Ultimate.C_strcpy_src.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_src.offset_2|, Thread0_thread2_#Ultimate.C_strcpy_src.base=|v_Thread0_thread2_#Ultimate.C_strcpy_src.base_2|} AuxVars[] AssignedVars[Thread0_thread2_#Ultimate.C_strcpy_#t~mem11] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [168] L-1-2-->L-1-3: Formula: (= (store |v_#memory_int_3| |v_Thread0_thread2_#Ultimate.C_strcpy_dest.base_2| (store (select |v_#memory_int_3| |v_Thread0_thread2_#Ultimate.C_strcpy_dest.base_2|) (+ |v_Thread0_thread2_#Ultimate.C_strcpy_dest.offset_2| |v_Thread0_thread2_#Ultimate.C_strcpy_#t~offset10_4|) |v_Thread0_thread2_#Ultimate.C_strcpy_#t~mem11_3|)) |v_#memory_int_2|) InVars {Thread0_thread2_#Ultimate.C_strcpy_#t~offset10=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~offset10_4|, #memory_int=|v_#memory_int_3|, Thread0_thread2_#Ultimate.C_strcpy_dest.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.offset_2|, Thread0_thread2_#Ultimate.C_strcpy_#t~mem11=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~mem11_3|, Thread0_thread2_#Ultimate.C_strcpy_dest.base=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.base_2|} OutVars{Thread0_thread2_#Ultimate.C_strcpy_#t~offset10=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~offset10_4|, #memory_int=|v_#memory_int_2|, Thread0_thread2_#Ultimate.C_strcpy_dest.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.offset_2|, Thread0_thread2_#Ultimate.C_strcpy_#t~mem11=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~mem11_3|, Thread0_thread2_#Ultimate.C_strcpy_dest.base=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.base_2|} AuxVars[] AssignedVars[#memory_int] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [170] L-1-3-->L-1-7: Formula: (= |v_Thread0_thread2_#Ultimate.C_strcpy_#t~mem11_4| 0) InVars {Thread0_thread2_#Ultimate.C_strcpy_#t~mem11=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~mem11_4|} OutVars{Thread0_thread2_#Ultimate.C_strcpy_#t~mem11=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~mem11_4|} AuxVars[] AssignedVars[] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [169] L-1-7-->L1221-4: Formula: (and (= |v_Thread0_thread2_#Ultimate.C_strcpy_dest.base_3| |v_Thread0_thread2_#Ultimate.C_strcpy_#res.base_2|) (= |v_Thread0_thread2_#Ultimate.C_strcpy_#res.offset_2| |v_Thread0_thread2_#Ultimate.C_strcpy_dest.offset_3|)) InVars {Thread0_thread2_#Ultimate.C_strcpy_dest.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.offset_3|, Thread0_thread2_#Ultimate.C_strcpy_#res.base=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.base_2|, Thread0_thread2_#Ultimate.C_strcpy_dest.base=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.base_3|, Thread0_thread2_#Ultimate.C_strcpy_#res.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.offset_2|} OutVars{Thread0_thread2_#Ultimate.C_strcpy_dest.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.offset_3|, Thread0_thread2_#Ultimate.C_strcpy_#res.base=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.base_2|, Thread0_thread2_#Ultimate.C_strcpy_dest.base=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.base_3|, Thread0_thread2_#Ultimate.C_strcpy_#res.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.offset_2|} AuxVars[] AssignedVars[] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [172] L1221-4-->L1221-5: Formula: (and (= |v_Thread0_thread2_#t~strcpy~res2.base_1| |v_Thread0_thread2_#Ultimate.C_strcpy_#res.base_3|) (= |v_Thread0_thread2_#t~strcpy~res2.offset_1| |v_Thread0_thread2_#Ultimate.C_strcpy_#res.offset_3|)) InVars {Thread0_thread2_#Ultimate.C_strcpy_#res.base=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.base_3|, Thread0_thread2_#Ultimate.C_strcpy_#res.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.offset_3|} OutVars{Thread0_thread2_#Ultimate.C_strcpy_#res.base=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.base_3|, Thread0_thread2_#t~strcpy~res2.offset=|v_Thread0_thread2_#t~strcpy~res2.offset_1|, Thread0_thread2_#t~strcpy~res2.base=|v_Thread0_thread2_#t~strcpy~res2.base_1|, Thread0_thread2_#Ultimate.C_strcpy_#res.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.offset_3|} AuxVars[] AssignedVars[Thread0_thread2_#t~strcpy~res2.base, Thread0_thread2_#t~strcpy~res2.offset] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#t~strcpy~res2.base|=70, |Thread0_thread2_#t~strcpy~res2.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [174] L1221-5-->L1221-7: Formula: true InVars {} OutVars{Thread0_thread2_#t~strcpy~res2.offset=|v_Thread0_thread2_#t~strcpy~res2.offset_2|, Thread0_thread2_#t~strcpy~res2.base=|v_Thread0_thread2_#t~strcpy~res2.base_2|} AuxVars[] AssignedVars[Thread0_thread2_#t~strcpy~res2.base, Thread0_thread2_#t~strcpy~res2.offset] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [161] L1221-7-->thread2FINAL: Formula: (and (= |v_Thread0_thread2_#res.base_1| 0) (= |v_Thread0_thread2_#res.offset_1| 0)) InVars {} OutVars{Thread0_thread2_#res.offset=|v_Thread0_thread2_#res.offset_1|, Thread0_thread2_#res.base=|v_Thread0_thread2_#res.base_1|} AuxVars[] AssignedVars[Thread0_thread2_#res.base, Thread0_thread2_#res.offset] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [163] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] JOIN 1 [180] thread2EXIT-->L1230-2: Formula: (= |v_ULTIMATE.start_main_#t~mem6_7| v_Thread0_thread2_thidvar0_6) InVars {Thread0_thread2_thidvar0=v_Thread0_thread2_thidvar0_6, ULTIMATE.start_main_#t~mem6=|v_ULTIMATE.start_main_#t~mem6_7|} OutVars{Thread0_thread2_thidvar0=v_Thread0_thread2_thidvar0_6, ULTIMATE.start_main_#t~mem6=|v_ULTIMATE.start_main_#t~mem6_7|} AuxVars[] AssignedVars[] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [132] L1230-2-->L1231: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem6=|v_ULTIMATE.start_main_#t~mem6_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem6] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [151] L1231-->L1231-1: Formula: (let ((.cse0 (= v_~v~0.offset_6 0)) (.cse1 (= 0 v_~v~0.base_6))) (or (and |v_ULTIMATE.start_main_#t~short8_4| .cse0 .cse1) (and (not |v_ULTIMATE.start_main_#t~short8_4|) (or (not .cse0) (not .cse1))))) InVars {~v~0.offset=v_~v~0.offset_6, ~v~0.base=v_~v~0.base_6} OutVars{~v~0.offset=v_~v~0.offset_6, ~v~0.base=v_~v~0.base_6, ULTIMATE.start_main_#t~short8=|v_ULTIMATE.start_main_#t~short8_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~short8] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [143] L1231-1-->L1231-3: Formula: (not |v_ULTIMATE.start_main_#t~short8_6|) InVars {ULTIMATE.start_main_#t~short8=|v_ULTIMATE.start_main_#t~short8_6|} OutVars{ULTIMATE.start_main_#t~short8=|v_ULTIMATE.start_main_#t~short8_6|} AuxVars[] AssignedVars[] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [144] L1231-3-->L1231-4: Formula: (= |v_ULTIMATE.start_main_#t~mem7_3| (select (select |v_#memory_int_10| v_~v~0.base_7) v_~v~0.offset_7)) InVars {#memory_int=|v_#memory_int_10|, ~v~0.offset=v_~v~0.offset_7, ~v~0.base=v_~v~0.base_7} OutVars{#memory_int=|v_#memory_int_10|, ULTIMATE.start_main_#t~mem7=|v_ULTIMATE.start_main_#t~mem7_3|, ~v~0.offset=v_~v~0.offset_7, ~v~0.base=v_~v~0.base_7} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem7] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [147] L1231-4-->L1231-5: Formula: (let ((.cse0 (= |v_ULTIMATE.start_main_#t~mem7_4| 66))) (or (and (not .cse0) (not |v_ULTIMATE.start_main_#t~short8_7|)) (and |v_ULTIMATE.start_main_#t~short8_7| .cse0))) InVars {ULTIMATE.start_main_#t~mem7=|v_ULTIMATE.start_main_#t~mem7_4|} OutVars{ULTIMATE.start_main_#t~short8=|v_ULTIMATE.start_main_#t~short8_7|, ULTIMATE.start_main_#t~mem7=|v_ULTIMATE.start_main_#t~mem7_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~short8] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [150] L1231-5-->L1231-6: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_#in~expression_1| (ite |v_ULTIMATE.start_main_#t~short8_1| 1 0)) InVars {ULTIMATE.start_main_#t~short8=|v_ULTIMATE.start_main_#t~short8_1|} OutVars{ULTIMATE.start_main_#t~short8=|v_ULTIMATE.start_main_#t~short8_1|, ULTIMATE.start___VERIFIER_assert_#in~expression=|v_ULTIMATE.start___VERIFIER_assert_#in~expression_1|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~expression] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [135] L1231-6-->L1212: Formula: true InVars {} OutVars{ULTIMATE.start___VERIFIER_assert_~expression=v_ULTIMATE.start___VERIFIER_assert_~expression_1} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~expression] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [137] L1212-->L1212-1: Formula: (= v_ULTIMATE.start___VERIFIER_assert_~expression_2 |v_ULTIMATE.start___VERIFIER_assert_#in~expression_2|) InVars {ULTIMATE.start___VERIFIER_assert_#in~expression=|v_ULTIMATE.start___VERIFIER_assert_#in~expression_2|} OutVars{ULTIMATE.start___VERIFIER_assert_~expression=v_ULTIMATE.start___VERIFIER_assert_~expression_2, ULTIMATE.start___VERIFIER_assert_#in~expression=|v_ULTIMATE.start___VERIFIER_assert_#in~expression_2|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~expression] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, ULTIMATE.start___VERIFIER_assert_~expression=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [138] L1212-1-->L1212-2: Formula: (= v_ULTIMATE.start___VERIFIER_assert_~expression_3 0) InVars {ULTIMATE.start___VERIFIER_assert_~expression=v_ULTIMATE.start___VERIFIER_assert_~expression_3} OutVars{ULTIMATE.start___VERIFIER_assert_~expression=v_ULTIMATE.start___VERIFIER_assert_~expression_3} AuxVars[] AssignedVars[] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, ULTIMATE.start___VERIFIER_assert_~expression=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [140] L1212-2-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, ULTIMATE.start___VERIFIER_assert_~expression=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 #NULL.base, #NULL.offset := 0, 0; VAL [|#NULL.base|=0, |#NULL.offset|=0] [?] -1 #valid := #valid[0 := 0]; VAL [|#NULL.base|=0, |#NULL.offset|=0] [?] -1 SUMMARY for call #t~string1.base, #t~string1.offset := #Ultimate.alloc(8); srcloc: L1221 VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0] [?] -1 ~v~0.base, ~v~0.offset := 0, 0; VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#res; VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#t~nondet3, main_#t~mem4, main_#t~nondet5, main_#t~mem6, main_#t~mem7, main_#t~short8, main_~#t1~0.base, main_~#t1~0.offset, main_~#t2~0.base, main_~#t2~0.offset; VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 SUMMARY for call main_~#t1~0.base, main_~#t1~0.offset := #Ultimate.alloc(4); srcloc: L1226 VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 SUMMARY for call main_~#t2~0.base, main_~#t2~0.offset := #Ultimate.alloc(4); srcloc: L1226-1 VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 SUMMARY for call write~int(0, main_~#t1~0.base, main_~#t1~0.offset, 4); srcloc: L1226-2 VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] FORK -1 fork 0 thread1(0, 0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#t~nondet3; VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] 0 ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] 0 SUMMARY for call #t~malloc0.base, #t~malloc0.offset := #Ultimate.alloc(8); srcloc: L1216 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] 0 ~v~0.base, ~v~0.offset := #t~malloc0.base, #t~malloc0.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 SUMMARY for call main_#t~mem4 := read~int(main_~#t1~0.base, main_~#t1~0.offset, 4); srcloc: L1228 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 0 #res.base, #res.offset := 0, 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 0 assume true; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] JOIN 0 join main_#t~mem4; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 havoc main_#t~mem4; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 SUMMARY for call write~int(1, main_~#t2~0.base, main_~#t2~0.offset, 4); srcloc: L1229 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] FORK -1 fork 1 thread2(0, 0); VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 havoc main_#t~nondet5; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 SUMMARY for call main_#t~mem6 := read~int(main_~#t2~0.base, main_~#t2~0.offset, 4); srcloc: L1230 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume ~v~0.base != 0 || ~v~0.offset != 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #Ultimate.C_strcpy_dest.base, #Ultimate.C_strcpy_dest.offset, #Ultimate.C_strcpy_src.base, #Ultimate.C_strcpy_src.offset := ~v~0.base, ~v~0.offset, #t~string1.base, #t~string1.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 havoc #Ultimate.C_strcpy_#res.base, #Ultimate.C_strcpy_#res.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 havoc #Ultimate.C_strcpy_#t~offset10, #Ultimate.C_strcpy_#t~mem11; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #Ultimate.C_strcpy_#t~offset10 := 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 SUMMARY for call #Ultimate.C_strcpy_#t~mem11 := read~int(#Ultimate.C_strcpy_src.base, #Ultimate.C_strcpy_src.offset + #Ultimate.C_strcpy_#t~offset10, 1); srcloc: L-1-6 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 SUMMARY for call write~unchecked~int(#Ultimate.C_strcpy_#t~mem11, #Ultimate.C_strcpy_dest.base, #Ultimate.C_strcpy_dest.offset + #Ultimate.C_strcpy_#t~offset10, 1); srcloc: L-1-2 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume 0 == #Ultimate.C_strcpy_#t~mem11; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume #Ultimate.C_strcpy_#res.base == #Ultimate.C_strcpy_dest.base && #Ultimate.C_strcpy_#res.offset == #Ultimate.C_strcpy_dest.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #t~strcpy~res2.base, #t~strcpy~res2.offset := #Ultimate.C_strcpy_#res.base, #Ultimate.C_strcpy_#res.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#t~strcpy~res2.base|=70, |thread2_#t~strcpy~res2.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 havoc #t~strcpy~res2.base, #t~strcpy~res2.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #res.base, #res.offset := 0, 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume true; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] JOIN 1 join main_#t~mem6; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 havoc main_#t~mem6; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 main_#t~short8 := ~v~0.base == 0 && ~v~0.offset == 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 assume !main_#t~short8; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 SUMMARY for call main_#t~mem7 := read~int(~v~0.base, ~v~0.offset, 1); srcloc: L1231-3 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 main_#t~short8 := 66 == main_#t~mem7; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 __VERIFIER_assert_#in~expression := (if main_#t~short8 then 1 else 0); VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 havoc __VERIFIER_assert_~expression; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 __VERIFIER_assert_~expression := __VERIFIER_assert_#in~expression; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, ULTIMATE.start___VERIFIER_assert_~expression=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 assume 0 == __VERIFIER_assert_~expression; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, ULTIMATE.start___VERIFIER_assert_~expression=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 assume !false; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, ULTIMATE.start___VERIFIER_assert_~expression=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] -1 #NULL.base, #NULL.offset := 0, 0; VAL [|#NULL.base|=0, |#NULL.offset|=0] [?] -1 #valid := #valid[0 := 0]; VAL [|#NULL.base|=0, |#NULL.offset|=0] [?] -1 SUMMARY for call #t~string1.base, #t~string1.offset := #Ultimate.alloc(8); srcloc: L1221 VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0] [?] -1 ~v~0.base, ~v~0.offset := 0, 0; VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#res; VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#t~nondet3, main_#t~mem4, main_#t~nondet5, main_#t~mem6, main_#t~mem7, main_#t~short8, main_~#t1~0.base, main_~#t1~0.offset, main_~#t2~0.base, main_~#t2~0.offset; VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 SUMMARY for call main_~#t1~0.base, main_~#t1~0.offset := #Ultimate.alloc(4); srcloc: L1226 VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 SUMMARY for call main_~#t2~0.base, main_~#t2~0.offset := #Ultimate.alloc(4); srcloc: L1226-1 VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 SUMMARY for call write~int(0, main_~#t1~0.base, main_~#t1~0.offset, 4); srcloc: L1226-2 VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] FORK -1 fork 0 thread1(0, 0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#t~nondet3; VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] 0 ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] 0 SUMMARY for call #t~malloc0.base, #t~malloc0.offset := #Ultimate.alloc(8); srcloc: L1216 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] 0 ~v~0.base, ~v~0.offset := #t~malloc0.base, #t~malloc0.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 SUMMARY for call main_#t~mem4 := read~int(main_~#t1~0.base, main_~#t1~0.offset, 4); srcloc: L1228 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 0 #res.base, #res.offset := 0, 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 0 assume true; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] JOIN 0 join main_#t~mem4; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 havoc main_#t~mem4; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 SUMMARY for call write~int(1, main_~#t2~0.base, main_~#t2~0.offset, 4); srcloc: L1229 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] FORK -1 fork 1 thread2(0, 0); VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 havoc main_#t~nondet5; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 SUMMARY for call main_#t~mem6 := read~int(main_~#t2~0.base, main_~#t2~0.offset, 4); srcloc: L1230 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume ~v~0.base != 0 || ~v~0.offset != 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #Ultimate.C_strcpy_dest.base, #Ultimate.C_strcpy_dest.offset, #Ultimate.C_strcpy_src.base, #Ultimate.C_strcpy_src.offset := ~v~0.base, ~v~0.offset, #t~string1.base, #t~string1.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 havoc #Ultimate.C_strcpy_#res.base, #Ultimate.C_strcpy_#res.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 havoc #Ultimate.C_strcpy_#t~offset10, #Ultimate.C_strcpy_#t~mem11; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #Ultimate.C_strcpy_#t~offset10 := 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 SUMMARY for call #Ultimate.C_strcpy_#t~mem11 := read~int(#Ultimate.C_strcpy_src.base, #Ultimate.C_strcpy_src.offset + #Ultimate.C_strcpy_#t~offset10, 1); srcloc: L-1-6 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 SUMMARY for call write~unchecked~int(#Ultimate.C_strcpy_#t~mem11, #Ultimate.C_strcpy_dest.base, #Ultimate.C_strcpy_dest.offset + #Ultimate.C_strcpy_#t~offset10, 1); srcloc: L-1-2 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume 0 == #Ultimate.C_strcpy_#t~mem11; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume #Ultimate.C_strcpy_#res.base == #Ultimate.C_strcpy_dest.base && #Ultimate.C_strcpy_#res.offset == #Ultimate.C_strcpy_dest.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #t~strcpy~res2.base, #t~strcpy~res2.offset := #Ultimate.C_strcpy_#res.base, #Ultimate.C_strcpy_#res.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#t~strcpy~res2.base|=70, |thread2_#t~strcpy~res2.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 havoc #t~strcpy~res2.base, #t~strcpy~res2.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #res.base, #res.offset := 0, 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume true; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] JOIN 1 join main_#t~mem6; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 havoc main_#t~mem6; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 main_#t~short8 := ~v~0.base == 0 && ~v~0.offset == 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 assume !main_#t~short8; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 SUMMARY for call main_#t~mem7 := read~int(~v~0.base, ~v~0.offset, 1); srcloc: L1231-3 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 main_#t~short8 := 66 == main_#t~mem7; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 __VERIFIER_assert_#in~expression := (if main_#t~short8 then 1 else 0); VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 havoc __VERIFIER_assert_~expression; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 __VERIFIER_assert_~expression := __VERIFIER_assert_#in~expression; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, ULTIMATE.start___VERIFIER_assert_~expression=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 assume 0 == __VERIFIER_assert_~expression; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, ULTIMATE.start___VERIFIER_assert_~expression=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 assume !false; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, ULTIMATE.start___VERIFIER_assert_~expression=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 #NULL.base, #NULL.offset := 0, 0; VAL [#NULL.base=0, #NULL.offset=0] [?] -1 #valid := #valid[0 := 0]; VAL [#NULL.base=0, #NULL.offset=0] [L1221] -1 call #t~string1.base, #t~string1.offset := #Ultimate.alloc(8); VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0] [L1213] -1 ~v~0.base, ~v~0.offset := 0, 0; VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#res; VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#t~nondet3, main_#t~mem4, main_#t~nondet5, main_#t~mem6, main_#t~mem7, main_#t~short8, main_~#t1~0.base, main_~#t1~0.offset, main_~#t2~0.base, main_~#t2~0.offset; VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1226] -1 call main_~#t1~0.base, main_~#t1~0.offset := #Ultimate.alloc(4); VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1226] -1 call main_~#t2~0.base, main_~#t2~0.offset := #Ultimate.alloc(4); VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1227] -1 call write~int(0, main_~#t1~0.base, main_~#t1~0.offset, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1227] FORK -1 fork 0 thread1(0, 0); VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1227] -1 havoc main_#t~nondet3; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1214-L1218] 0 ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1216] 0 call #t~malloc0.base, #t~malloc0.offset := #Ultimate.alloc(8); VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1216] 0 ~v~0.base, ~v~0.offset := #t~malloc0.base, #t~malloc0.offset; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1228] -1 call main_#t~mem4 := read~int(main_~#t1~0.base, main_~#t1~0.offset, 4); VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem4=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1217] 0 #res.base, #res.offset := 0, 0; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem4=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1214-L1218] 0 ensures true; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem4=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1228] JOIN 0 join main_#t~mem4; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem4=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1228] -1 havoc main_#t~mem4; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1229] -1 call write~int(1, main_~#t2~0.base, main_~#t2~0.offset, 4); VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1229] FORK -1 fork 1 thread2(0, 0); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1229] -1 havoc main_#t~nondet5; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1230] -1 call main_#t~mem6 := read~int(main_~#t2~0.base, main_~#t2~0.offset, 4); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1219-L1223] 1 ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 assume ~v~0.base != 0 || ~v~0.offset != 0; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 #Ultimate.C_strcpy_dest.base, #Ultimate.C_strcpy_dest.offset, #Ultimate.C_strcpy_src.base, #Ultimate.C_strcpy_src.offset := ~v~0.base, ~v~0.offset, #t~string1.base, #t~string1.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 havoc #Ultimate.C_strcpy_#res.base, #Ultimate.C_strcpy_#res.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 havoc #Ultimate.C_strcpy_#t~offset10, #Ultimate.C_strcpy_#t~mem11; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #Ultimate.C_strcpy_#t~offset10 := 0; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 call #Ultimate.C_strcpy_#t~mem11 := read~int(#Ultimate.C_strcpy_src.base, #Ultimate.C_strcpy_src.offset + #Ultimate.C_strcpy_#t~offset10, 1); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 call write~unchecked~int(#Ultimate.C_strcpy_#t~mem11, #Ultimate.C_strcpy_dest.base, #Ultimate.C_strcpy_dest.offset + #Ultimate.C_strcpy_#t~offset10, 1); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume 0 == #Ultimate.C_strcpy_#t~mem11; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume #Ultimate.C_strcpy_#res.base == #Ultimate.C_strcpy_dest.base && #Ultimate.C_strcpy_#res.offset == #Ultimate.C_strcpy_dest.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 #t~strcpy~res2.base, #t~strcpy~res2.offset := #Ultimate.C_strcpy_#res.base, #Ultimate.C_strcpy_#res.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~strcpy~res2.base=70, #t~strcpy~res2.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 havoc #t~strcpy~res2.base, #t~strcpy~res2.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1222] 1 #res.base, #res.offset := 0, 0; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1219-L1223] 1 ensures true; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1230] JOIN 1 join main_#t~mem6; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1230] -1 havoc main_#t~mem6; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 main_#t~short8 := ~v~0.base == 0 && ~v~0.offset == 0; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 assume !main_#t~short8; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 call main_#t~mem7 := read~int(~v~0.base, ~v~0.offset, 1); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 main_#t~short8 := 66 == main_#t~mem7; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 __VERIFIER_assert_#in~expression := (if main_#t~short8 then 1 else 0); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 havoc __VERIFIER_assert_~expression; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1212] -1 __VERIFIER_assert_~expression := __VERIFIER_assert_#in~expression; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1212] -1 assume 0 == __VERIFIER_assert_~expression; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1212] -1 assert false; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] ----- [2018-11-23 06:37:31,918 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,919 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,919 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,920 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,920 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,920 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,920 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,921 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,921 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,921 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,921 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,922 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,922 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,922 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,922 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,923 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,923 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,923 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,924 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,924 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,924 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,924 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,925 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,925 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,925 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,926 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,926 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,926 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,926 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,927 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,927 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,927 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,927 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,927 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,928 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,928 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,928 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,928 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,929 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,929 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,929 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,929 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,929 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,930 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,930 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,930 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,930 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,931 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,931 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,931 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,931 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,931 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,932 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,932 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,932 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,932 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,933 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,933 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,933 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,933 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,934 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,934 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,934 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,934 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,935 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,935 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,935 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,935 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,935 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,936 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,936 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,936 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,936 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,937 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,937 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,937 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,937 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,937 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,938 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,938 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,938 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,938 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,939 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,939 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,939 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,939 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,939 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,940 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,940 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,940 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,940 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,940 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,941 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,941 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,941 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,941 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,941 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,942 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,942 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,942 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,942 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,943 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,943 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,943 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,943 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,943 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,944 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,944 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,944 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,944 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,944 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,945 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,945 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,945 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,945 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,945 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,946 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,946 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,946 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,946 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,946 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:31,947 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:31,947 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:31,947 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] -1 #NULL.base, #NULL.offset := 0, 0; VAL [#NULL.base=0, #NULL.offset=0] [?] -1 #valid := #valid[0 := 0]; VAL [#NULL.base=0, #NULL.offset=0] [L1221] -1 call #t~string1.base, #t~string1.offset := #Ultimate.alloc(8); VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0] [L1213] -1 ~v~0.base, ~v~0.offset := 0, 0; VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#res; VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#t~nondet3, main_#t~mem4, main_#t~nondet5, main_#t~mem6, main_#t~mem7, main_#t~short8, main_~#t1~0.base, main_~#t1~0.offset, main_~#t2~0.base, main_~#t2~0.offset; VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1226] -1 call main_~#t1~0.base, main_~#t1~0.offset := #Ultimate.alloc(4); VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1226] -1 call main_~#t2~0.base, main_~#t2~0.offset := #Ultimate.alloc(4); VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1227] -1 call write~int(0, main_~#t1~0.base, main_~#t1~0.offset, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1227] FORK -1 fork 0 thread1(0, 0); VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1227] -1 havoc main_#t~nondet3; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1214-L1218] 0 ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1216] 0 call #t~malloc0.base, #t~malloc0.offset := #Ultimate.alloc(8); VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1216] 0 ~v~0.base, ~v~0.offset := #t~malloc0.base, #t~malloc0.offset; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1228] -1 call main_#t~mem4 := read~int(main_~#t1~0.base, main_~#t1~0.offset, 4); VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem4=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1217] 0 #res.base, #res.offset := 0, 0; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem4=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1214-L1218] 0 ensures true; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem4=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1228] JOIN 0 join main_#t~mem4; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem4=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1228] -1 havoc main_#t~mem4; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1229] -1 call write~int(1, main_~#t2~0.base, main_~#t2~0.offset, 4); VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1229] FORK -1 fork 1 thread2(0, 0); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1229] -1 havoc main_#t~nondet5; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1230] -1 call main_#t~mem6 := read~int(main_~#t2~0.base, main_~#t2~0.offset, 4); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1219-L1223] 1 ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 assume ~v~0.base != 0 || ~v~0.offset != 0; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 #Ultimate.C_strcpy_dest.base, #Ultimate.C_strcpy_dest.offset, #Ultimate.C_strcpy_src.base, #Ultimate.C_strcpy_src.offset := ~v~0.base, ~v~0.offset, #t~string1.base, #t~string1.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 havoc #Ultimate.C_strcpy_#res.base, #Ultimate.C_strcpy_#res.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 havoc #Ultimate.C_strcpy_#t~offset10, #Ultimate.C_strcpy_#t~mem11; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #Ultimate.C_strcpy_#t~offset10 := 0; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 call #Ultimate.C_strcpy_#t~mem11 := read~int(#Ultimate.C_strcpy_src.base, #Ultimate.C_strcpy_src.offset + #Ultimate.C_strcpy_#t~offset10, 1); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 call write~unchecked~int(#Ultimate.C_strcpy_#t~mem11, #Ultimate.C_strcpy_dest.base, #Ultimate.C_strcpy_dest.offset + #Ultimate.C_strcpy_#t~offset10, 1); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume 0 == #Ultimate.C_strcpy_#t~mem11; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume #Ultimate.C_strcpy_#res.base == #Ultimate.C_strcpy_dest.base && #Ultimate.C_strcpy_#res.offset == #Ultimate.C_strcpy_dest.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 #t~strcpy~res2.base, #t~strcpy~res2.offset := #Ultimate.C_strcpy_#res.base, #Ultimate.C_strcpy_#res.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~strcpy~res2.base=70, #t~strcpy~res2.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 havoc #t~strcpy~res2.base, #t~strcpy~res2.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1222] 1 #res.base, #res.offset := 0, 0; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1219-L1223] 1 ensures true; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1230] JOIN 1 join main_#t~mem6; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1230] -1 havoc main_#t~mem6; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 main_#t~short8 := ~v~0.base == 0 && ~v~0.offset == 0; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 assume !main_#t~short8; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 call main_#t~mem7 := read~int(~v~0.base, ~v~0.offset, 1); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 main_#t~short8 := 66 == main_#t~mem7; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 __VERIFIER_assert_#in~expression := (if main_#t~short8 then 1 else 0); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 havoc __VERIFIER_assert_~expression; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1212] -1 __VERIFIER_assert_~expression := __VERIFIER_assert_#in~expression; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1212] -1 assume 0 == __VERIFIER_assert_~expression; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1212] -1 assert false; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 #NULL := { base: 0, offset: 0 }; VAL [#NULL!base=0, #NULL!offset=0] [?] -1 #valid[0] := 0; VAL [#NULL!base=0, #NULL!offset=0] [L1221] FCALL -1 call #t~string1 := #Ultimate.alloc(8); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0] [L1213] -1 ~v~0 := { base: 0, offset: 0 }; VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [?] -1 havoc main_#res; VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [?] -1 havoc main_#t~nondet3, main_#t~mem4, main_#t~nondet5, main_#t~mem6, main_#t~mem7, main_#t~short8, main_~#t1~0, main_~#t2~0; VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1226] FCALL -1 call main_~#t1~0 := #Ultimate.alloc(4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1226] FCALL -1 call main_~#t2~0 := #Ultimate.alloc(4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] FCALL -1 call write~int(0, main_~#t1~0, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] FORK -1 fork 0 thread1({ base: 0, offset: 0 }); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] -1 havoc main_#t~nondet3; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1214-L1218] 0 ~arg := #in~arg; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1216] FCALL 0 call #t~malloc0 := #Ultimate.alloc(8); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1216] 0 ~v~0 := #t~malloc0; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] FCALL -1 call main_#t~mem4 := read~int(main_~#t1~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem4=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1217] 0 #res := { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem4=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] JOIN 0 join main_#t~mem4; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem4=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] -1 havoc main_#t~mem4; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] FCALL -1 call write~int(1, main_~#t2~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] FORK -1 fork 1 thread2({ base: 0, offset: 0 }); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] -1 havoc main_#t~nondet5; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] FCALL -1 call main_#t~mem6 := read~int(main_~#t2~0, 4); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1219-L1223] 1 ~arg := #in~arg; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] COND TRUE 1 ~v~0 != { base: 0, offset: 0 } VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 #Ultimate.C_strcpy_dest, #Ultimate.C_strcpy_src := ~v~0, #t~string1; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 havoc #Ultimate.C_strcpy_#res; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 havoc #Ultimate.C_strcpy_#t~offset10, #Ultimate.C_strcpy_#t~mem11; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] 1 #Ultimate.C_strcpy_#t~offset10 := 0; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] FCALL 1 call #Ultimate.C_strcpy_#t~mem11 := read~int({ base: #Ultimate.C_strcpy_src!base, offset: #Ultimate.C_strcpy_src!offset + #Ultimate.C_strcpy_#t~offset10 }, 1); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] FCALL 1 call write~unchecked~int(#Ultimate.C_strcpy_#t~mem11, { base: #Ultimate.C_strcpy_dest!base, offset: #Ultimate.C_strcpy_dest!offset + #Ultimate.C_strcpy_#t~offset10 }, 1); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] COND TRUE 1 0 == #Ultimate.C_strcpy_#t~mem11 VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] 1 assume #Ultimate.C_strcpy_#res == #Ultimate.C_strcpy_dest; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 #t~strcpy~res2 := #Ultimate.C_strcpy_#res; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~strcpy~res2!base=70, #t~strcpy~res2!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 havoc #t~strcpy~res2; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1222] 1 #res := { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] JOIN 1 join main_#t~mem6; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] -1 havoc main_#t~mem6; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 main_#t~short8 := ~v~0 == { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] COND FALSE -1 !(main_#t~short8) VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] FCALL -1 call main_#t~mem7 := read~int({ base: ~v~0!base, offset: ~v~0!offset }, 1); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 main_#t~short8 := 66 == main_#t~mem7; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 __VERIFIER_assert_#in~expression := (if main_#t~short8 then 1 else 0); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 havoc __VERIFIER_assert_~expression; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] -1 __VERIFIER_assert_~expression := __VERIFIER_assert_#in~expression; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] COND TRUE -1 0 == __VERIFIER_assert_~expression VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] -1 assert false; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] -1 #NULL := { base: 0, offset: 0 }; VAL [#NULL!base=0, #NULL!offset=0] [?] -1 #valid[0] := 0; VAL [#NULL!base=0, #NULL!offset=0] [L1221] FCALL -1 call #t~string1 := #Ultimate.alloc(8); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0] [L1213] -1 ~v~0 := { base: 0, offset: 0 }; VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [?] -1 havoc main_#res; VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [?] -1 havoc main_#t~nondet3, main_#t~mem4, main_#t~nondet5, main_#t~mem6, main_#t~mem7, main_#t~short8, main_~#t1~0, main_~#t2~0; VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1226] FCALL -1 call main_~#t1~0 := #Ultimate.alloc(4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1226] FCALL -1 call main_~#t2~0 := #Ultimate.alloc(4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] FCALL -1 call write~int(0, main_~#t1~0, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] FORK -1 fork 0 thread1({ base: 0, offset: 0 }); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] -1 havoc main_#t~nondet3; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1214-L1218] 0 ~arg := #in~arg; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1216] FCALL 0 call #t~malloc0 := #Ultimate.alloc(8); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1216] 0 ~v~0 := #t~malloc0; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] FCALL -1 call main_#t~mem4 := read~int(main_~#t1~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem4=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1217] 0 #res := { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem4=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] JOIN 0 join main_#t~mem4; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem4=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] -1 havoc main_#t~mem4; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] FCALL -1 call write~int(1, main_~#t2~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] FORK -1 fork 1 thread2({ base: 0, offset: 0 }); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] -1 havoc main_#t~nondet5; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] FCALL -1 call main_#t~mem6 := read~int(main_~#t2~0, 4); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1219-L1223] 1 ~arg := #in~arg; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] COND TRUE 1 ~v~0 != { base: 0, offset: 0 } VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 #Ultimate.C_strcpy_dest, #Ultimate.C_strcpy_src := ~v~0, #t~string1; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 havoc #Ultimate.C_strcpy_#res; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 havoc #Ultimate.C_strcpy_#t~offset10, #Ultimate.C_strcpy_#t~mem11; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] 1 #Ultimate.C_strcpy_#t~offset10 := 0; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] FCALL 1 call #Ultimate.C_strcpy_#t~mem11 := read~int({ base: #Ultimate.C_strcpy_src!base, offset: #Ultimate.C_strcpy_src!offset + #Ultimate.C_strcpy_#t~offset10 }, 1); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] FCALL 1 call write~unchecked~int(#Ultimate.C_strcpy_#t~mem11, { base: #Ultimate.C_strcpy_dest!base, offset: #Ultimate.C_strcpy_dest!offset + #Ultimate.C_strcpy_#t~offset10 }, 1); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] COND TRUE 1 0 == #Ultimate.C_strcpy_#t~mem11 VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] 1 assume #Ultimate.C_strcpy_#res == #Ultimate.C_strcpy_dest; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 #t~strcpy~res2 := #Ultimate.C_strcpy_#res; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~strcpy~res2!base=70, #t~strcpy~res2!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 havoc #t~strcpy~res2; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1222] 1 #res := { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] JOIN 1 join main_#t~mem6; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] -1 havoc main_#t~mem6; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 main_#t~short8 := ~v~0 == { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] COND FALSE -1 !(main_#t~short8) VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] FCALL -1 call main_#t~mem7 := read~int({ base: ~v~0!base, offset: ~v~0!offset }, 1); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 main_#t~short8 := 66 == main_#t~mem7; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 __VERIFIER_assert_#in~expression := (if main_#t~short8 then 1 else 0); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 havoc __VERIFIER_assert_~expression; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] -1 __VERIFIER_assert_~expression := __VERIFIER_assert_#in~expression; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] COND TRUE -1 0 == __VERIFIER_assert_~expression VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] -1 assert false; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] -1 #NULL := { base: 0, offset: 0 }; VAL [#NULL!base=0, #NULL!offset=0] [?] -1 #valid[0] := 0; VAL [#NULL!base=0, #NULL!offset=0] [L1221] FCALL -1 call #t~string1 := #Ultimate.alloc(8); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0] [L1213] -1 ~v~0 := { base: 0, offset: 0 }; VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1226] FCALL -1 call ~#t1~0 := #Ultimate.alloc(4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1226] FCALL -1 call ~#t2~0 := #Ultimate.alloc(4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] FCALL -1 call write~int(0, ~#t1~0, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] FORK -1 fork 0 thread1({ base: 0, offset: 0 }); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] -1 havoc #t~nondet3; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1214-L1218] 0 ~arg := #in~arg; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1216] FCALL 0 call #t~malloc0 := #Ultimate.alloc(8); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1216] 0 ~v~0 := #t~malloc0; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] FCALL -1 call #t~mem4 := read~int(~#t1~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1217] 0 #res := { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] JOIN 0 join #t~mem4; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] -1 havoc #t~mem4; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] FCALL -1 call write~int(1, ~#t2~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] FORK -1 fork 1 thread2({ base: 0, offset: 0 }); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] -1 havoc #t~nondet5; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] FCALL -1 call #t~mem6 := read~int(~#t2~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1219-L1223] 1 ~arg := #in~arg; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] COND TRUE 1 ~v~0 != { base: 0, offset: 0 } VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] 1 #t~offset10 := 0; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] FCALL 1 call #t~mem11 := read~int({ base: src!base, offset: src!offset + #t~offset10 }, 1); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] FCALL 1 call write~unchecked~int(#t~mem11, { base: dest!base, offset: dest!offset + #t~offset10 }, 1); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] COND TRUE 1 0 == #t~mem11 VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] 1 free ensures #res == dest; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 havoc #t~strcpy~res2; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1222] 1 #res := { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] JOIN 1 join #t~mem6; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] -1 havoc #t~mem6; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 #t~short8 := ~v~0 == { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] COND FALSE -1 !(#t~short8) VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] FCALL -1 call #t~mem7 := read~int({ base: ~v~0!base, offset: ~v~0!offset }, 1); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 #t~short8 := 66 == #t~mem7; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] -1 ~expression := #in~expression; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] COND TRUE -1 0 == ~expression VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] -1 assert false; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] -1 #NULL := { base: 0, offset: 0 }; VAL [#NULL!base=0, #NULL!offset=0] [?] -1 #valid[0] := 0; VAL [#NULL!base=0, #NULL!offset=0] [L1221] FCALL -1 call #t~string1 := #Ultimate.alloc(8); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0] [L1213] -1 ~v~0 := { base: 0, offset: 0 }; VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1226] FCALL -1 call ~#t1~0 := #Ultimate.alloc(4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1226] FCALL -1 call ~#t2~0 := #Ultimate.alloc(4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] FCALL -1 call write~int(0, ~#t1~0, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] FORK -1 fork 0 thread1({ base: 0, offset: 0 }); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] -1 havoc #t~nondet3; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1214-L1218] 0 ~arg := #in~arg; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1216] FCALL 0 call #t~malloc0 := #Ultimate.alloc(8); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1216] 0 ~v~0 := #t~malloc0; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] FCALL -1 call #t~mem4 := read~int(~#t1~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1217] 0 #res := { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] JOIN 0 join #t~mem4; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] -1 havoc #t~mem4; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] FCALL -1 call write~int(1, ~#t2~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] FORK -1 fork 1 thread2({ base: 0, offset: 0 }); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] -1 havoc #t~nondet5; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] FCALL -1 call #t~mem6 := read~int(~#t2~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1219-L1223] 1 ~arg := #in~arg; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] COND TRUE 1 ~v~0 != { base: 0, offset: 0 } VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] 1 #t~offset10 := 0; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] FCALL 1 call #t~mem11 := read~int({ base: src!base, offset: src!offset + #t~offset10 }, 1); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] FCALL 1 call write~unchecked~int(#t~mem11, { base: dest!base, offset: dest!offset + #t~offset10 }, 1); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] COND TRUE 1 0 == #t~mem11 VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] 1 free ensures #res == dest; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 havoc #t~strcpy~res2; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1222] 1 #res := { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] JOIN 1 join #t~mem6; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] -1 havoc #t~mem6; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 #t~short8 := ~v~0 == { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] COND FALSE -1 !(#t~short8) VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] FCALL -1 call #t~mem7 := read~int({ base: ~v~0!base, offset: ~v~0!offset }, 1); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 #t~short8 := 66 == #t~mem7; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] -1 ~expression := #in~expression; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] COND TRUE -1 0 == ~expression VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] -1 assert false; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1213] -1 char *v; VAL [v={0:0}] [L1226] -1 pthread_t t1, t2; VAL [v={0:0}] [L1227] FCALL, FORK -1 pthread_create(&t1, 0, thread1, 0) VAL [arg={0:0}, v={0:0}] [L1216] 0 v = malloc(sizeof(char) * 8) VAL [arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1228] -1 \read(t1) VAL [arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1217] 0 return 0; VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1228] FCALL, JOIN 0 pthread_join(t1, 0) VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1229] FCALL, FORK -1 pthread_create(&t2, 0, thread2, 0) VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1230] -1 \read(t2) VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1221] COND TRUE 1 \read(*v) VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1222] 1 return 0; VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1230] FCALL, JOIN 1 pthread_join(t2, 0) VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1231] -1 !v || v[0] == 'B' VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1231] EXPR -1 v[0] VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1231] -1 !v || v[0] == 'B' VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1212] COND TRUE -1 !expression VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1212] -1 __VERIFIER_error() VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] ----- [2018-11-23 06:37:32,131 INFO L305 ceAbstractionStarter]: Did not count any witness invariants because Icfg is not BoogieIcfg [2018-11-23 06:37:32,133 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 06:37:32 BasicIcfg [2018-11-23 06:37:32,133 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 06:37:32,133 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 06:37:32,133 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 06:37:32,134 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 06:37:32,134 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:37:31" (3/4) ... [2018-11-23 06:37:32,137 INFO L138 WitnessPrinter]: Generating witness for reachability counterexample ----- class de.uni_freiburg.informatik.ultimate.modelcheckerutils.cfg.transformations.BlockEncodingBacktranslator [?] -1 [115] ULTIMATE.startENTRY-->L-1: Formula: (and (= |v_#NULL.offset_1| 0) (= |v_#NULL.base_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] VAL [|#NULL.base|=0, |#NULL.offset|=0] [?] -1 [93] L-1-->L1221: Formula: (= |v_#valid_7| (store |v_#valid_8| 0 0)) InVars {#valid=|v_#valid_8|} OutVars{#valid=|v_#valid_7|} AuxVars[] AssignedVars[#valid] VAL [|#NULL.base|=0, |#NULL.offset|=0] [?] -1 [97] L1221-->L1221-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_#t~string1.base_2| 8)) (not (= |v_#t~string1.base_2| 0)) (= |v_#t~string1.offset_2| 0) (= |v_#valid_9| (store |v_#valid_10| |v_#t~string1.base_2| 1)) (= 0 (select |v_#valid_10| |v_#t~string1.base_2|))) InVars {#length=|v_#length_4|, #valid=|v_#valid_10|} OutVars{#t~string1.base=|v_#t~string1.base_2|, #t~string1.offset=|v_#t~string1.offset_2|, #length=|v_#length_3|, #valid=|v_#valid_9|} AuxVars[] AssignedVars[#t~string1.offset, #valid, #t~string1.base, #length] VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0] [?] -1 [88] L1221-1-->L-1-1: Formula: (and (= v_~v~0.offset_5 0) (= v_~v~0.base_5 0)) InVars {} OutVars{~v~0.offset=v_~v~0.offset_5, ~v~0.base=v_~v~0.base_5} AuxVars[] AssignedVars[~v~0.offset, ~v~0.base] VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 [148] L-1-1-->L-1-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res] VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 [145] L-1-2-->L1226: Formula: true InVars {} OutVars{ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_3|, ULTIMATE.start_main_#t~mem7=|v_ULTIMATE.start_main_#t~mem7_2|, ULTIMATE.start_main_#t~nondet5=|v_ULTIMATE.start_main_#t~nondet5_1|, ULTIMATE.start_main_#t~nondet3=|v_ULTIMATE.start_main_#t~nondet3_1|, ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_3|, ULTIMATE.start_main_#t~mem6=|v_ULTIMATE.start_main_#t~mem6_1|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_3|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_3|, ULTIMATE.start_main_#t~mem4=|v_ULTIMATE.start_main_#t~mem4_1|, ULTIMATE.start_main_#t~short8=|v_ULTIMATE.start_main_#t~short8_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t1~0.base, ULTIMATE.start_main_#t~mem7, ULTIMATE.start_main_#t~nondet5, ULTIMATE.start_main_#t~nondet3, ULTIMATE.start_main_~#t2~0.offset, ULTIMATE.start_main_#t~mem6, ULTIMATE.start_main_~#t1~0.offset, ULTIMATE.start_main_~#t2~0.base, ULTIMATE.start_main_#t~mem4, ULTIMATE.start_main_#t~short8] VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 [134] L1226-->L1226-1: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t1~0.base_4| 4)) (= 0 |v_ULTIMATE.start_main_~#t1~0.offset_4|) (= 0 (select |v_#valid_12| |v_ULTIMATE.start_main_~#t1~0.base_4|)) (= |v_#valid_11| (store |v_#valid_12| |v_ULTIMATE.start_main_~#t1~0.base_4| 1)) (not (= 0 |v_ULTIMATE.start_main_~#t1~0.base_4|))) InVars {#length=|v_#length_6|, #valid=|v_#valid_12|} OutVars{ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_4|, #valid=|v_#valid_11|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t1~0.base, #valid, #length, ULTIMATE.start_main_~#t1~0.offset] VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 [114] L1226-1-->L1226-2: Formula: (and (= |v_#length_7| (store |v_#length_8| |v_ULTIMATE.start_main_~#t2~0.base_4| 4)) (not (= 0 |v_ULTIMATE.start_main_~#t2~0.base_4|)) (= |v_ULTIMATE.start_main_~#t2~0.offset_4| 0) (= |v_#valid_13| (store |v_#valid_14| |v_ULTIMATE.start_main_~#t2~0.base_4| 1)) (= 0 (select |v_#valid_14| |v_ULTIMATE.start_main_~#t2~0.base_4|))) InVars {#length=|v_#length_8|, #valid=|v_#valid_14|} OutVars{ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_4|, #length=|v_#length_7|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_4|, #valid=|v_#valid_13|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#t2~0.offset, #length, ULTIMATE.start_main_~#t2~0.base] VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 [119] L1226-2-->L1227: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t1~0.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t1~0.base_5|) |v_ULTIMATE.start_main_~#t1~0.offset_5| 0)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_5|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_5|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_5|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_5|} AuxVars[] AssignedVars[#memory_int] VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] FORK -1 [176] L1227-->thread1ENTRY: Formula: (and (= v_Thread1_thread1_thidvar0_2 0) (= |v_Thread1_thread1_#in~arg.offset_3| 0) (= 0 |v_Thread1_thread1_#in~arg.base_3|)) InVars {} OutVars{Thread1_thread1_#in~arg.base=|v_Thread1_thread1_#in~arg.base_3|, Thread1_thread1_thidvar0=v_Thread1_thread1_thidvar0_2, Thread1_thread1_#in~arg.offset=|v_Thread1_thread1_#in~arg.offset_3|} AuxVars[] AssignedVars[Thread1_thread1_#in~arg.base, Thread1_thread1_thidvar0, Thread1_thread1_#in~arg.offset] VAL [Thread1_thread1_thidvar0=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 [149] L1227-1-->L1228: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3=|v_ULTIMATE.start_main_#t~nondet3_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3] VAL [Thread1_thread1_thidvar0=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] 0 [152] thread1ENTRY-->L1216: Formula: (and (= v_Thread1_thread1_~arg.offset_1 |v_Thread1_thread1_#in~arg.offset_1|) (= v_Thread1_thread1_~arg.base_1 |v_Thread1_thread1_#in~arg.base_1|)) InVars {Thread1_thread1_#in~arg.base=|v_Thread1_thread1_#in~arg.base_1|, Thread1_thread1_#in~arg.offset=|v_Thread1_thread1_#in~arg.offset_1|} OutVars{Thread1_thread1_#in~arg.base=|v_Thread1_thread1_#in~arg.base_1|, Thread1_thread1_~arg.offset=v_Thread1_thread1_~arg.offset_1, Thread1_thread1_#in~arg.offset=|v_Thread1_thread1_#in~arg.offset_1|, Thread1_thread1_~arg.base=v_Thread1_thread1_~arg.base_1} AuxVars[] AssignedVars[Thread1_thread1_~arg.offset, Thread1_thread1_~arg.base] VAL [Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] 0 [153] L1216-->L1216-1: Formula: (and (= |v_Thread1_thread1_#t~malloc0.offset_1| 0) (= |v_#valid_1| (store |v_#valid_2| |v_Thread1_thread1_#t~malloc0.base_1| 1)) (not (= 0 |v_Thread1_thread1_#t~malloc0.base_1|)) (= |v_#length_1| (store |v_#length_2| |v_Thread1_thread1_#t~malloc0.base_1| 8)) (= 0 (select |v_#valid_2| |v_Thread1_thread1_#t~malloc0.base_1|))) InVars {#length=|v_#length_2|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, Thread1_thread1_#t~malloc0.base=|v_Thread1_thread1_#t~malloc0.base_1|, Thread1_thread1_#t~malloc0.offset=|v_Thread1_thread1_#t~malloc0.offset_1|, #valid=|v_#valid_1|} AuxVars[] AssignedVars[Thread1_thread1_#t~malloc0.base, Thread1_thread1_#t~malloc0.offset, #valid, #length] VAL [Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] 0 [154] L1216-1-->L1217: Formula: (and (= v_~v~0.base_1 |v_Thread1_thread1_#t~malloc0.base_2|) (= v_~v~0.offset_1 |v_Thread1_thread1_#t~malloc0.offset_2|)) InVars {Thread1_thread1_#t~malloc0.base=|v_Thread1_thread1_#t~malloc0.base_2|, Thread1_thread1_#t~malloc0.offset=|v_Thread1_thread1_#t~malloc0.offset_2|} OutVars{Thread1_thread1_#t~malloc0.base=|v_Thread1_thread1_#t~malloc0.base_2|, Thread1_thread1_#t~malloc0.offset=|v_Thread1_thread1_#t~malloc0.offset_2|, ~v~0.offset=v_~v~0.offset_1, ~v~0.base=v_~v~0.base_1} AuxVars[] AssignedVars[~v~0.offset, ~v~0.base] VAL [Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [90] L1228-->L1228-1: Formula: (= |v_ULTIMATE.start_main_#t~mem4_2| (select (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t1~0.base_6|) |v_ULTIMATE.start_main_~#t1~0.offset_6|)) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_6|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_6|} OutVars{#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_6|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_6|, ULTIMATE.start_main_#t~mem4=|v_ULTIMATE.start_main_#t~mem4_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem4] VAL [Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 0 [155] L1217-->thread1FINAL: Formula: (and (= |v_Thread1_thread1_#res.offset_1| 0) (= |v_Thread1_thread1_#res.base_1| 0)) InVars {} OutVars{Thread1_thread1_#res.offset=|v_Thread1_thread1_#res.offset_1|, Thread1_thread1_#res.base=|v_Thread1_thread1_#res.base_1|} AuxVars[] AssignedVars[Thread1_thread1_#res.offset, Thread1_thread1_#res.base] VAL [Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 0 [156] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] VAL [Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] JOIN 0 [177] thread1EXIT-->L1228-2: Formula: (= |v_ULTIMATE.start_main_#t~mem4_5| v_Thread1_thread1_thidvar0_4) InVars {Thread1_thread1_thidvar0=v_Thread1_thread1_thidvar0_4, ULTIMATE.start_main_#t~mem4=|v_ULTIMATE.start_main_#t~mem4_5|} OutVars{Thread1_thread1_thidvar0=v_Thread1_thread1_thidvar0_4, ULTIMATE.start_main_#t~mem4=|v_ULTIMATE.start_main_#t~mem4_5|} AuxVars[] AssignedVars[] VAL [Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [92] L1228-2-->L1229: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem4=|v_ULTIMATE.start_main_#t~mem4_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem4] VAL [Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [104] L1229-->L1229-1: Formula: (= |v_#memory_int_7| (store |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0.base_5| (store (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0.base_5|) |v_ULTIMATE.start_main_~#t2~0.offset_5| 1))) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_5|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_5|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_5|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_5|} AuxVars[] AssignedVars[#memory_int] VAL [Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] FORK -1 [175] L1229-1-->thread2ENTRY: Formula: (and (= 0 |v_Thread0_thread2_#in~arg.offset_3|) (= v_Thread0_thread2_thidvar0_2 1) (= 0 |v_Thread0_thread2_#in~arg.base_3|)) InVars {} OutVars{Thread0_thread2_thidvar0=v_Thread0_thread2_thidvar0_2, Thread0_thread2_#in~arg.offset=|v_Thread0_thread2_#in~arg.offset_3|, Thread0_thread2_#in~arg.base=|v_Thread0_thread2_#in~arg.base_3|} AuxVars[] AssignedVars[Thread0_thread2_thidvar0, Thread0_thread2_#in~arg.offset, Thread0_thread2_#in~arg.base] VAL [Thread0_thread2_thidvar0=1, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [108] L1229-2-->L1230: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5=|v_ULTIMATE.start_main_#t~nondet5_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5] VAL [Thread0_thread2_thidvar0=1, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [129] L1230-->L1230-1: Formula: (= |v_ULTIMATE.start_main_#t~mem6_2| (select (select |v_#memory_int_9| |v_ULTIMATE.start_main_~#t2~0.base_6|) |v_ULTIMATE.start_main_~#t2~0.offset_6|)) InVars {ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_6|, #memory_int=|v_#memory_int_9|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_6|} OutVars{ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_6|, #memory_int=|v_#memory_int_9|, ULTIMATE.start_main_#t~mem6=|v_ULTIMATE.start_main_#t~mem6_2|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem6] VAL [Thread0_thread2_thidvar0=1, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [157] thread2ENTRY-->L1221: Formula: (and (= v_Thread0_thread2_~arg.base_1 |v_Thread0_thread2_#in~arg.base_1|) (= v_Thread0_thread2_~arg.offset_1 |v_Thread0_thread2_#in~arg.offset_1|)) InVars {Thread0_thread2_#in~arg.offset=|v_Thread0_thread2_#in~arg.offset_1|, Thread0_thread2_#in~arg.base=|v_Thread0_thread2_#in~arg.base_1|} OutVars{Thread0_thread2_~arg.offset=v_Thread0_thread2_~arg.offset_1, Thread0_thread2_~arg.base=v_Thread0_thread2_~arg.base_1, Thread0_thread2_#in~arg.offset=|v_Thread0_thread2_#in~arg.offset_1|, Thread0_thread2_#in~arg.base=|v_Thread0_thread2_#in~arg.base_1|} AuxVars[] AssignedVars[Thread0_thread2_~arg.offset, Thread0_thread2_~arg.base] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [158] L1221-->L1221-1: Formula: (or (not (= 0 v_~v~0.base_2)) (not (= v_~v~0.offset_2 0))) InVars {~v~0.offset=v_~v~0.offset_2, ~v~0.base=v_~v~0.base_2} OutVars{~v~0.offset=v_~v~0.offset_2, ~v~0.base=v_~v~0.base_2} AuxVars[] AssignedVars[] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [160] L1221-1-->L1221-2: Formula: (and (= |v_Thread0_thread2_#Ultimate.C_strcpy_src.base_1| |v_#t~string1.base_1|) (= |v_Thread0_thread2_#Ultimate.C_strcpy_src.offset_1| |v_#t~string1.offset_1|) (= |v_Thread0_thread2_#Ultimate.C_strcpy_dest.offset_1| v_~v~0.offset_3) (= |v_Thread0_thread2_#Ultimate.C_strcpy_dest.base_1| v_~v~0.base_3)) InVars {#t~string1.base=|v_#t~string1.base_1|, #t~string1.offset=|v_#t~string1.offset_1|, ~v~0.offset=v_~v~0.offset_3, ~v~0.base=v_~v~0.base_3} OutVars{#t~string1.offset=|v_#t~string1.offset_1|, Thread0_thread2_#Ultimate.C_strcpy_dest.base=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.base_1|, Thread0_thread2_#Ultimate.C_strcpy_src.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_src.offset_1|, ~v~0.offset=v_~v~0.offset_3, Thread0_thread2_#Ultimate.C_strcpy_src.base=|v_Thread0_thread2_#Ultimate.C_strcpy_src.base_1|, Thread0_thread2_#Ultimate.C_strcpy_dest.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.offset_1|, #t~string1.base=|v_#t~string1.base_1|, ~v~0.base=v_~v~0.base_3} AuxVars[] AssignedVars[Thread0_thread2_#Ultimate.C_strcpy_dest.base, Thread0_thread2_#Ultimate.C_strcpy_src.offset, Thread0_thread2_#Ultimate.C_strcpy_src.base, Thread0_thread2_#Ultimate.C_strcpy_dest.offset] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [162] L1221-2-->L1221-3: Formula: true InVars {} OutVars{Thread0_thread2_#Ultimate.C_strcpy_#res.base=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.base_1|, Thread0_thread2_#Ultimate.C_strcpy_#res.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.offset_1|} AuxVars[] AssignedVars[Thread0_thread2_#Ultimate.C_strcpy_#res.offset, Thread0_thread2_#Ultimate.C_strcpy_#res.base] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [164] L1221-3-->L-1: Formula: true InVars {} OutVars{Thread0_thread2_#Ultimate.C_strcpy_#t~offset10=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~offset10_1|, Thread0_thread2_#Ultimate.C_strcpy_#t~mem11=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~mem11_1|} AuxVars[] AssignedVars[Thread0_thread2_#Ultimate.C_strcpy_#t~offset10, Thread0_thread2_#Ultimate.C_strcpy_#t~mem11] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [165] L-1-->L-1-6: Formula: (= |v_Thread0_thread2_#Ultimate.C_strcpy_#t~offset10_2| 0) InVars {} OutVars{Thread0_thread2_#Ultimate.C_strcpy_#t~offset10=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~offset10_2|} AuxVars[] AssignedVars[Thread0_thread2_#Ultimate.C_strcpy_#t~offset10] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [166] L-1-6-->L-1-2: Formula: (= |v_Thread0_thread2_#Ultimate.C_strcpy_#t~mem11_2| (select (select |v_#memory_int_1| |v_Thread0_thread2_#Ultimate.C_strcpy_src.base_2|) (+ |v_Thread0_thread2_#Ultimate.C_strcpy_#t~offset10_3| |v_Thread0_thread2_#Ultimate.C_strcpy_src.offset_2|))) InVars {Thread0_thread2_#Ultimate.C_strcpy_#t~offset10=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~offset10_3|, #memory_int=|v_#memory_int_1|, Thread0_thread2_#Ultimate.C_strcpy_src.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_src.offset_2|, Thread0_thread2_#Ultimate.C_strcpy_src.base=|v_Thread0_thread2_#Ultimate.C_strcpy_src.base_2|} OutVars{Thread0_thread2_#Ultimate.C_strcpy_#t~offset10=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~offset10_3|, #memory_int=|v_#memory_int_1|, Thread0_thread2_#Ultimate.C_strcpy_#t~mem11=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~mem11_2|, Thread0_thread2_#Ultimate.C_strcpy_src.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_src.offset_2|, Thread0_thread2_#Ultimate.C_strcpy_src.base=|v_Thread0_thread2_#Ultimate.C_strcpy_src.base_2|} AuxVars[] AssignedVars[Thread0_thread2_#Ultimate.C_strcpy_#t~mem11] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [168] L-1-2-->L-1-3: Formula: (= (store |v_#memory_int_3| |v_Thread0_thread2_#Ultimate.C_strcpy_dest.base_2| (store (select |v_#memory_int_3| |v_Thread0_thread2_#Ultimate.C_strcpy_dest.base_2|) (+ |v_Thread0_thread2_#Ultimate.C_strcpy_dest.offset_2| |v_Thread0_thread2_#Ultimate.C_strcpy_#t~offset10_4|) |v_Thread0_thread2_#Ultimate.C_strcpy_#t~mem11_3|)) |v_#memory_int_2|) InVars {Thread0_thread2_#Ultimate.C_strcpy_#t~offset10=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~offset10_4|, #memory_int=|v_#memory_int_3|, Thread0_thread2_#Ultimate.C_strcpy_dest.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.offset_2|, Thread0_thread2_#Ultimate.C_strcpy_#t~mem11=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~mem11_3|, Thread0_thread2_#Ultimate.C_strcpy_dest.base=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.base_2|} OutVars{Thread0_thread2_#Ultimate.C_strcpy_#t~offset10=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~offset10_4|, #memory_int=|v_#memory_int_2|, Thread0_thread2_#Ultimate.C_strcpy_dest.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.offset_2|, Thread0_thread2_#Ultimate.C_strcpy_#t~mem11=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~mem11_3|, Thread0_thread2_#Ultimate.C_strcpy_dest.base=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.base_2|} AuxVars[] AssignedVars[#memory_int] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [170] L-1-3-->L-1-7: Formula: (= |v_Thread0_thread2_#Ultimate.C_strcpy_#t~mem11_4| 0) InVars {Thread0_thread2_#Ultimate.C_strcpy_#t~mem11=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~mem11_4|} OutVars{Thread0_thread2_#Ultimate.C_strcpy_#t~mem11=|v_Thread0_thread2_#Ultimate.C_strcpy_#t~mem11_4|} AuxVars[] AssignedVars[] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [169] L-1-7-->L1221-4: Formula: (and (= |v_Thread0_thread2_#Ultimate.C_strcpy_dest.base_3| |v_Thread0_thread2_#Ultimate.C_strcpy_#res.base_2|) (= |v_Thread0_thread2_#Ultimate.C_strcpy_#res.offset_2| |v_Thread0_thread2_#Ultimate.C_strcpy_dest.offset_3|)) InVars {Thread0_thread2_#Ultimate.C_strcpy_dest.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.offset_3|, Thread0_thread2_#Ultimate.C_strcpy_#res.base=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.base_2|, Thread0_thread2_#Ultimate.C_strcpy_dest.base=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.base_3|, Thread0_thread2_#Ultimate.C_strcpy_#res.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.offset_2|} OutVars{Thread0_thread2_#Ultimate.C_strcpy_dest.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.offset_3|, Thread0_thread2_#Ultimate.C_strcpy_#res.base=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.base_2|, Thread0_thread2_#Ultimate.C_strcpy_dest.base=|v_Thread0_thread2_#Ultimate.C_strcpy_dest.base_3|, Thread0_thread2_#Ultimate.C_strcpy_#res.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.offset_2|} AuxVars[] AssignedVars[] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [172] L1221-4-->L1221-5: Formula: (and (= |v_Thread0_thread2_#t~strcpy~res2.base_1| |v_Thread0_thread2_#Ultimate.C_strcpy_#res.base_3|) (= |v_Thread0_thread2_#t~strcpy~res2.offset_1| |v_Thread0_thread2_#Ultimate.C_strcpy_#res.offset_3|)) InVars {Thread0_thread2_#Ultimate.C_strcpy_#res.base=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.base_3|, Thread0_thread2_#Ultimate.C_strcpy_#res.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.offset_3|} OutVars{Thread0_thread2_#Ultimate.C_strcpy_#res.base=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.base_3|, Thread0_thread2_#t~strcpy~res2.offset=|v_Thread0_thread2_#t~strcpy~res2.offset_1|, Thread0_thread2_#t~strcpy~res2.base=|v_Thread0_thread2_#t~strcpy~res2.base_1|, Thread0_thread2_#Ultimate.C_strcpy_#res.offset=|v_Thread0_thread2_#Ultimate.C_strcpy_#res.offset_3|} AuxVars[] AssignedVars[Thread0_thread2_#t~strcpy~res2.base, Thread0_thread2_#t~strcpy~res2.offset] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#t~strcpy~res2.base|=70, |Thread0_thread2_#t~strcpy~res2.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [174] L1221-5-->L1221-7: Formula: true InVars {} OutVars{Thread0_thread2_#t~strcpy~res2.offset=|v_Thread0_thread2_#t~strcpy~res2.offset_2|, Thread0_thread2_#t~strcpy~res2.base=|v_Thread0_thread2_#t~strcpy~res2.base_2|} AuxVars[] AssignedVars[Thread0_thread2_#t~strcpy~res2.base, Thread0_thread2_#t~strcpy~res2.offset] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [161] L1221-7-->thread2FINAL: Formula: (and (= |v_Thread0_thread2_#res.base_1| 0) (= |v_Thread0_thread2_#res.offset_1| 0)) InVars {} OutVars{Thread0_thread2_#res.offset=|v_Thread0_thread2_#res.offset_1|, Thread0_thread2_#res.base=|v_Thread0_thread2_#res.base_1|} AuxVars[] AssignedVars[Thread0_thread2_#res.base, Thread0_thread2_#res.offset] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 [163] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] JOIN 1 [180] thread2EXIT-->L1230-2: Formula: (= |v_ULTIMATE.start_main_#t~mem6_7| v_Thread0_thread2_thidvar0_6) InVars {Thread0_thread2_thidvar0=v_Thread0_thread2_thidvar0_6, ULTIMATE.start_main_#t~mem6=|v_ULTIMATE.start_main_#t~mem6_7|} OutVars{Thread0_thread2_thidvar0=v_Thread0_thread2_thidvar0_6, ULTIMATE.start_main_#t~mem6=|v_ULTIMATE.start_main_#t~mem6_7|} AuxVars[] AssignedVars[] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [132] L1230-2-->L1231: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem6=|v_ULTIMATE.start_main_#t~mem6_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem6] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [151] L1231-->L1231-1: Formula: (let ((.cse0 (= v_~v~0.offset_6 0)) (.cse1 (= 0 v_~v~0.base_6))) (or (and |v_ULTIMATE.start_main_#t~short8_4| .cse0 .cse1) (and (not |v_ULTIMATE.start_main_#t~short8_4|) (or (not .cse0) (not .cse1))))) InVars {~v~0.offset=v_~v~0.offset_6, ~v~0.base=v_~v~0.base_6} OutVars{~v~0.offset=v_~v~0.offset_6, ~v~0.base=v_~v~0.base_6, ULTIMATE.start_main_#t~short8=|v_ULTIMATE.start_main_#t~short8_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~short8] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [143] L1231-1-->L1231-3: Formula: (not |v_ULTIMATE.start_main_#t~short8_6|) InVars {ULTIMATE.start_main_#t~short8=|v_ULTIMATE.start_main_#t~short8_6|} OutVars{ULTIMATE.start_main_#t~short8=|v_ULTIMATE.start_main_#t~short8_6|} AuxVars[] AssignedVars[] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [144] L1231-3-->L1231-4: Formula: (= |v_ULTIMATE.start_main_#t~mem7_3| (select (select |v_#memory_int_10| v_~v~0.base_7) v_~v~0.offset_7)) InVars {#memory_int=|v_#memory_int_10|, ~v~0.offset=v_~v~0.offset_7, ~v~0.base=v_~v~0.base_7} OutVars{#memory_int=|v_#memory_int_10|, ULTIMATE.start_main_#t~mem7=|v_ULTIMATE.start_main_#t~mem7_3|, ~v~0.offset=v_~v~0.offset_7, ~v~0.base=v_~v~0.base_7} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem7] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [147] L1231-4-->L1231-5: Formula: (let ((.cse0 (= |v_ULTIMATE.start_main_#t~mem7_4| 66))) (or (and (not .cse0) (not |v_ULTIMATE.start_main_#t~short8_7|)) (and |v_ULTIMATE.start_main_#t~short8_7| .cse0))) InVars {ULTIMATE.start_main_#t~mem7=|v_ULTIMATE.start_main_#t~mem7_4|} OutVars{ULTIMATE.start_main_#t~short8=|v_ULTIMATE.start_main_#t~short8_7|, ULTIMATE.start_main_#t~mem7=|v_ULTIMATE.start_main_#t~mem7_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~short8] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [150] L1231-5-->L1231-6: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_#in~expression_1| (ite |v_ULTIMATE.start_main_#t~short8_1| 1 0)) InVars {ULTIMATE.start_main_#t~short8=|v_ULTIMATE.start_main_#t~short8_1|} OutVars{ULTIMATE.start_main_#t~short8=|v_ULTIMATE.start_main_#t~short8_1|, ULTIMATE.start___VERIFIER_assert_#in~expression=|v_ULTIMATE.start___VERIFIER_assert_#in~expression_1|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~expression] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [135] L1231-6-->L1212: Formula: true InVars {} OutVars{ULTIMATE.start___VERIFIER_assert_~expression=v_ULTIMATE.start___VERIFIER_assert_~expression_1} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~expression] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [137] L1212-->L1212-1: Formula: (= v_ULTIMATE.start___VERIFIER_assert_~expression_2 |v_ULTIMATE.start___VERIFIER_assert_#in~expression_2|) InVars {ULTIMATE.start___VERIFIER_assert_#in~expression=|v_ULTIMATE.start___VERIFIER_assert_#in~expression_2|} OutVars{ULTIMATE.start___VERIFIER_assert_~expression=v_ULTIMATE.start___VERIFIER_assert_~expression_2, ULTIMATE.start___VERIFIER_assert_#in~expression=|v_ULTIMATE.start___VERIFIER_assert_#in~expression_2|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~expression] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, ULTIMATE.start___VERIFIER_assert_~expression=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [138] L1212-1-->L1212-2: Formula: (= v_ULTIMATE.start___VERIFIER_assert_~expression_3 0) InVars {ULTIMATE.start___VERIFIER_assert_~expression=v_ULTIMATE.start___VERIFIER_assert_~expression_3} OutVars{ULTIMATE.start___VERIFIER_assert_~expression=v_ULTIMATE.start___VERIFIER_assert_~expression_3} AuxVars[] AssignedVars[] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, ULTIMATE.start___VERIFIER_assert_~expression=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 [140] L1212-2-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] VAL [Thread0_thread2_thidvar0=1, Thread0_thread2_~arg.base=0, Thread0_thread2_~arg.offset=0, Thread1_thread1_thidvar0=0, Thread1_thread1_~arg.base=0, Thread1_thread1_~arg.offset=0, ULTIMATE.start___VERIFIER_assert_~expression=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |Thread0_thread2_#in~arg.base|=0, |Thread0_thread2_#in~arg.offset|=0, |Thread0_thread2_#res.base|=0, |Thread0_thread2_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#res.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_#res.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~mem11|=0, |Thread0_thread2_#Ultimate.C_strcpy_#t~offset10|=0, |Thread0_thread2_#Ultimate.C_strcpy_dest.base|=70, |Thread0_thread2_#Ultimate.C_strcpy_dest.offset|=0, |Thread0_thread2_#Ultimate.C_strcpy_src.base|=67, |Thread0_thread2_#Ultimate.C_strcpy_src.offset|=0, |Thread1_thread1_#in~arg.base|=0, |Thread1_thread1_#in~arg.offset|=0, |Thread1_thread1_#res.base|=0, |Thread1_thread1_#res.offset|=0, |Thread1_thread1_#t~malloc0.base|=70, |Thread1_thread1_#t~malloc0.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 #NULL.base, #NULL.offset := 0, 0; VAL [|#NULL.base|=0, |#NULL.offset|=0] [?] -1 #valid := #valid[0 := 0]; VAL [|#NULL.base|=0, |#NULL.offset|=0] [?] -1 SUMMARY for call #t~string1.base, #t~string1.offset := #Ultimate.alloc(8); srcloc: L1221 VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0] [?] -1 ~v~0.base, ~v~0.offset := 0, 0; VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#res; VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#t~nondet3, main_#t~mem4, main_#t~nondet5, main_#t~mem6, main_#t~mem7, main_#t~short8, main_~#t1~0.base, main_~#t1~0.offset, main_~#t2~0.base, main_~#t2~0.offset; VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 SUMMARY for call main_~#t1~0.base, main_~#t1~0.offset := #Ultimate.alloc(4); srcloc: L1226 VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 SUMMARY for call main_~#t2~0.base, main_~#t2~0.offset := #Ultimate.alloc(4); srcloc: L1226-1 VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 SUMMARY for call write~int(0, main_~#t1~0.base, main_~#t1~0.offset, 4); srcloc: L1226-2 VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] FORK -1 fork 0 thread1(0, 0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#t~nondet3; VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] 0 ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] 0 SUMMARY for call #t~malloc0.base, #t~malloc0.offset := #Ultimate.alloc(8); srcloc: L1216 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] 0 ~v~0.base, ~v~0.offset := #t~malloc0.base, #t~malloc0.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 SUMMARY for call main_#t~mem4 := read~int(main_~#t1~0.base, main_~#t1~0.offset, 4); srcloc: L1228 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 0 #res.base, #res.offset := 0, 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 0 assume true; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] JOIN 0 join main_#t~mem4; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 havoc main_#t~mem4; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 SUMMARY for call write~int(1, main_~#t2~0.base, main_~#t2~0.offset, 4); srcloc: L1229 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] FORK -1 fork 1 thread2(0, 0); VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 havoc main_#t~nondet5; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 SUMMARY for call main_#t~mem6 := read~int(main_~#t2~0.base, main_~#t2~0.offset, 4); srcloc: L1230 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume ~v~0.base != 0 || ~v~0.offset != 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #Ultimate.C_strcpy_dest.base, #Ultimate.C_strcpy_dest.offset, #Ultimate.C_strcpy_src.base, #Ultimate.C_strcpy_src.offset := ~v~0.base, ~v~0.offset, #t~string1.base, #t~string1.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 havoc #Ultimate.C_strcpy_#res.base, #Ultimate.C_strcpy_#res.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 havoc #Ultimate.C_strcpy_#t~offset10, #Ultimate.C_strcpy_#t~mem11; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #Ultimate.C_strcpy_#t~offset10 := 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 SUMMARY for call #Ultimate.C_strcpy_#t~mem11 := read~int(#Ultimate.C_strcpy_src.base, #Ultimate.C_strcpy_src.offset + #Ultimate.C_strcpy_#t~offset10, 1); srcloc: L-1-6 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 SUMMARY for call write~unchecked~int(#Ultimate.C_strcpy_#t~mem11, #Ultimate.C_strcpy_dest.base, #Ultimate.C_strcpy_dest.offset + #Ultimate.C_strcpy_#t~offset10, 1); srcloc: L-1-2 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume 0 == #Ultimate.C_strcpy_#t~mem11; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume #Ultimate.C_strcpy_#res.base == #Ultimate.C_strcpy_dest.base && #Ultimate.C_strcpy_#res.offset == #Ultimate.C_strcpy_dest.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #t~strcpy~res2.base, #t~strcpy~res2.offset := #Ultimate.C_strcpy_#res.base, #Ultimate.C_strcpy_#res.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#t~strcpy~res2.base|=70, |thread2_#t~strcpy~res2.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 havoc #t~strcpy~res2.base, #t~strcpy~res2.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #res.base, #res.offset := 0, 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume true; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] JOIN 1 join main_#t~mem6; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 havoc main_#t~mem6; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 main_#t~short8 := ~v~0.base == 0 && ~v~0.offset == 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 assume !main_#t~short8; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 SUMMARY for call main_#t~mem7 := read~int(~v~0.base, ~v~0.offset, 1); srcloc: L1231-3 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 main_#t~short8 := 66 == main_#t~mem7; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 __VERIFIER_assert_#in~expression := (if main_#t~short8 then 1 else 0); VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 havoc __VERIFIER_assert_~expression; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 __VERIFIER_assert_~expression := __VERIFIER_assert_#in~expression; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, ULTIMATE.start___VERIFIER_assert_~expression=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 assume 0 == __VERIFIER_assert_~expression; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, ULTIMATE.start___VERIFIER_assert_~expression=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 assume !false; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, ULTIMATE.start___VERIFIER_assert_~expression=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] -1 #NULL.base, #NULL.offset := 0, 0; VAL [|#NULL.base|=0, |#NULL.offset|=0] [?] -1 #valid := #valid[0 := 0]; VAL [|#NULL.base|=0, |#NULL.offset|=0] [?] -1 SUMMARY for call #t~string1.base, #t~string1.offset := #Ultimate.alloc(8); srcloc: L1221 VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0] [?] -1 ~v~0.base, ~v~0.offset := 0, 0; VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#res; VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#t~nondet3, main_#t~mem4, main_#t~nondet5, main_#t~mem6, main_#t~mem7, main_#t~short8, main_~#t1~0.base, main_~#t1~0.offset, main_~#t2~0.base, main_~#t2~0.offset; VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 SUMMARY for call main_~#t1~0.base, main_~#t1~0.offset := #Ultimate.alloc(4); srcloc: L1226 VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 SUMMARY for call main_~#t2~0.base, main_~#t2~0.offset := #Ultimate.alloc(4); srcloc: L1226-1 VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 SUMMARY for call write~int(0, main_~#t1~0.base, main_~#t1~0.offset, 4); srcloc: L1226-2 VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] FORK -1 fork 0 thread1(0, 0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#t~nondet3; VAL [|#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] 0 ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] 0 SUMMARY for call #t~malloc0.base, #t~malloc0.offset := #Ultimate.alloc(8); srcloc: L1216 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=0, ~v~0.offset=0] [?] 0 ~v~0.base, ~v~0.offset := #t~malloc0.base, #t~malloc0.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 SUMMARY for call main_#t~mem4 := read~int(main_~#t1~0.base, main_~#t1~0.offset, 4); srcloc: L1228 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 0 #res.base, #res.offset := 0, 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 0 assume true; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] JOIN 0 join main_#t~mem4; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_#t~mem4|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 havoc main_#t~mem4; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 SUMMARY for call write~int(1, main_~#t2~0.base, main_~#t2~0.offset, 4); srcloc: L1229 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] FORK -1 fork 1 thread2(0, 0); VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 havoc main_#t~nondet5; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 SUMMARY for call main_#t~mem6 := read~int(main_~#t2~0.base, main_~#t2~0.offset, 4); srcloc: L1230 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume ~v~0.base != 0 || ~v~0.offset != 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #Ultimate.C_strcpy_dest.base, #Ultimate.C_strcpy_dest.offset, #Ultimate.C_strcpy_src.base, #Ultimate.C_strcpy_src.offset := ~v~0.base, ~v~0.offset, #t~string1.base, #t~string1.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 havoc #Ultimate.C_strcpy_#res.base, #Ultimate.C_strcpy_#res.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 havoc #Ultimate.C_strcpy_#t~offset10, #Ultimate.C_strcpy_#t~mem11; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #Ultimate.C_strcpy_#t~offset10 := 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 SUMMARY for call #Ultimate.C_strcpy_#t~mem11 := read~int(#Ultimate.C_strcpy_src.base, #Ultimate.C_strcpy_src.offset + #Ultimate.C_strcpy_#t~offset10, 1); srcloc: L-1-6 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 SUMMARY for call write~unchecked~int(#Ultimate.C_strcpy_#t~mem11, #Ultimate.C_strcpy_dest.base, #Ultimate.C_strcpy_dest.offset + #Ultimate.C_strcpy_#t~offset10, 1); srcloc: L-1-2 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume 0 == #Ultimate.C_strcpy_#t~mem11; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume #Ultimate.C_strcpy_#res.base == #Ultimate.C_strcpy_dest.base && #Ultimate.C_strcpy_#res.offset == #Ultimate.C_strcpy_dest.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #t~strcpy~res2.base, #t~strcpy~res2.offset := #Ultimate.C_strcpy_#res.base, #Ultimate.C_strcpy_#res.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#t~strcpy~res2.base|=70, |thread2_#t~strcpy~res2.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 havoc #t~strcpy~res2.base, #t~strcpy~res2.offset; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #res.base, #res.offset := 0, 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume true; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] JOIN 1 join main_#t~mem6; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem6|=1, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 havoc main_#t~mem6; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 main_#t~short8 := ~v~0.base == 0 && ~v~0.offset == 0; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 assume !main_#t~short8; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 SUMMARY for call main_#t~mem7 := read~int(~v~0.base, ~v~0.offset, 1); srcloc: L1231-3 VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 main_#t~short8 := 66 == main_#t~mem7; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 __VERIFIER_assert_#in~expression := (if main_#t~short8 then 1 else 0); VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 havoc __VERIFIER_assert_~expression; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 __VERIFIER_assert_~expression := __VERIFIER_assert_#in~expression; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, ULTIMATE.start___VERIFIER_assert_~expression=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 assume 0 == __VERIFIER_assert_~expression; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, ULTIMATE.start___VERIFIER_assert_~expression=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 assume !false; VAL [thread1_~arg.base=0, thread1_~arg.offset=0, thread2_~arg.base=0, thread2_~arg.offset=0, ULTIMATE.start___VERIFIER_assert_~expression=0, |#NULL.base|=0, |#NULL.offset|=0, |#t~string1.base|=67, |#t~string1.offset|=0, |thread1_#in~arg.base|=0, |thread1_#in~arg.offset|=0, |thread1_#res.base|=0, |thread1_#res.offset|=0, |thread1_#t~malloc0.base|=70, |thread1_#t~malloc0.offset|=0, |thread2_#in~arg.base|=0, |thread2_#in~arg.offset|=0, |thread2_#res.base|=0, |thread2_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#res.base|=70, |thread2_#Ultimate.C_strcpy_#res.offset|=0, |thread2_#Ultimate.C_strcpy_#t~mem11|=0, |thread2_#Ultimate.C_strcpy_#t~offset10|=0, |thread2_#Ultimate.C_strcpy_dest.base|=70, |thread2_#Ultimate.C_strcpy_dest.offset|=0, |thread2_#Ultimate.C_strcpy_src.base|=67, |thread2_#Ultimate.C_strcpy_src.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~expression|=0, |ULTIMATE.start_main_#t~mem7|=0, |ULTIMATE.start_main_#t~short8|=false, |ULTIMATE.start_main_~#t1~0.base|=68, |ULTIMATE.start_main_~#t1~0.offset|=0, |ULTIMATE.start_main_~#t2~0.base|=69, |ULTIMATE.start_main_~#t2~0.offset|=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 #NULL.base, #NULL.offset := 0, 0; VAL [#NULL.base=0, #NULL.offset=0] [?] -1 #valid := #valid[0 := 0]; VAL [#NULL.base=0, #NULL.offset=0] [L1221] -1 call #t~string1.base, #t~string1.offset := #Ultimate.alloc(8); VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0] [L1213] -1 ~v~0.base, ~v~0.offset := 0, 0; VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#res; VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#t~nondet3, main_#t~mem4, main_#t~nondet5, main_#t~mem6, main_#t~mem7, main_#t~short8, main_~#t1~0.base, main_~#t1~0.offset, main_~#t2~0.base, main_~#t2~0.offset; VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1226] -1 call main_~#t1~0.base, main_~#t1~0.offset := #Ultimate.alloc(4); VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1226] -1 call main_~#t2~0.base, main_~#t2~0.offset := #Ultimate.alloc(4); VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1227] -1 call write~int(0, main_~#t1~0.base, main_~#t1~0.offset, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1227] FORK -1 fork 0 thread1(0, 0); VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1227] -1 havoc main_#t~nondet3; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1214-L1218] 0 ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1216] 0 call #t~malloc0.base, #t~malloc0.offset := #Ultimate.alloc(8); VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1216] 0 ~v~0.base, ~v~0.offset := #t~malloc0.base, #t~malloc0.offset; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1228] -1 call main_#t~mem4 := read~int(main_~#t1~0.base, main_~#t1~0.offset, 4); VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem4=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1217] 0 #res.base, #res.offset := 0, 0; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem4=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1214-L1218] 0 ensures true; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem4=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1228] JOIN 0 join main_#t~mem4; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem4=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1228] -1 havoc main_#t~mem4; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1229] -1 call write~int(1, main_~#t2~0.base, main_~#t2~0.offset, 4); VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1229] FORK -1 fork 1 thread2(0, 0); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1229] -1 havoc main_#t~nondet5; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1230] -1 call main_#t~mem6 := read~int(main_~#t2~0.base, main_~#t2~0.offset, 4); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1219-L1223] 1 ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 assume ~v~0.base != 0 || ~v~0.offset != 0; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 #Ultimate.C_strcpy_dest.base, #Ultimate.C_strcpy_dest.offset, #Ultimate.C_strcpy_src.base, #Ultimate.C_strcpy_src.offset := ~v~0.base, ~v~0.offset, #t~string1.base, #t~string1.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 havoc #Ultimate.C_strcpy_#res.base, #Ultimate.C_strcpy_#res.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 havoc #Ultimate.C_strcpy_#t~offset10, #Ultimate.C_strcpy_#t~mem11; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #Ultimate.C_strcpy_#t~offset10 := 0; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 call #Ultimate.C_strcpy_#t~mem11 := read~int(#Ultimate.C_strcpy_src.base, #Ultimate.C_strcpy_src.offset + #Ultimate.C_strcpy_#t~offset10, 1); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 call write~unchecked~int(#Ultimate.C_strcpy_#t~mem11, #Ultimate.C_strcpy_dest.base, #Ultimate.C_strcpy_dest.offset + #Ultimate.C_strcpy_#t~offset10, 1); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume 0 == #Ultimate.C_strcpy_#t~mem11; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume #Ultimate.C_strcpy_#res.base == #Ultimate.C_strcpy_dest.base && #Ultimate.C_strcpy_#res.offset == #Ultimate.C_strcpy_dest.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 #t~strcpy~res2.base, #t~strcpy~res2.offset := #Ultimate.C_strcpy_#res.base, #Ultimate.C_strcpy_#res.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~strcpy~res2.base=70, #t~strcpy~res2.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 havoc #t~strcpy~res2.base, #t~strcpy~res2.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1222] 1 #res.base, #res.offset := 0, 0; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1219-L1223] 1 ensures true; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1230] JOIN 1 join main_#t~mem6; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1230] -1 havoc main_#t~mem6; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 main_#t~short8 := ~v~0.base == 0 && ~v~0.offset == 0; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 assume !main_#t~short8; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 call main_#t~mem7 := read~int(~v~0.base, ~v~0.offset, 1); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 main_#t~short8 := 66 == main_#t~mem7; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 __VERIFIER_assert_#in~expression := (if main_#t~short8 then 1 else 0); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 havoc __VERIFIER_assert_~expression; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1212] -1 __VERIFIER_assert_~expression := __VERIFIER_assert_#in~expression; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1212] -1 assume 0 == __VERIFIER_assert_~expression; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1212] -1 assert false; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] ----- [2018-11-23 06:37:32,469 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,469 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,469 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,469 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,470 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,470 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,470 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,470 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,470 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,470 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,471 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,471 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,471 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,486 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,486 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,486 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,486 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,486 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,486 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,486 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,487 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,487 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,487 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,487 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,487 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,487 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,488 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,488 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,488 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,488 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,488 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,488 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,489 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,489 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,489 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,489 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,498 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,498 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,499 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,499 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,499 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,499 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,499 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,499 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,500 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,500 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,500 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,500 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,500 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,500 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,501 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,501 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,501 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,501 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,501 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,501 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,502 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,502 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,502 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,510 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,510 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,510 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,510 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,511 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,511 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,511 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,511 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,511 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,511 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,512 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,512 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,512 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,512 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,512 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,513 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,513 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,513 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,513 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,513 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,514 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,514 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,514 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,519 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,519 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,520 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,520 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,520 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,520 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,520 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,521 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,521 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,521 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,521 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,522 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,522 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,522 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,522 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,522 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,522 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,523 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,523 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,523 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,523 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,523 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,524 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,529 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,529 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,529 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,529 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,530 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,530 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,530 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,530 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,530 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,531 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,531 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,531 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,531 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,531 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,531 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,532 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled [2018-11-23 06:37:32,532 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled [2018-11-23 06:37:32,532 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled [2018-11-23 06:37:32,532 WARN L416 cessorBacktranslator]: Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] -1 #NULL.base, #NULL.offset := 0, 0; VAL [#NULL.base=0, #NULL.offset=0] [?] -1 #valid := #valid[0 := 0]; VAL [#NULL.base=0, #NULL.offset=0] [L1221] -1 call #t~string1.base, #t~string1.offset := #Ultimate.alloc(8); VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0] [L1213] -1 ~v~0.base, ~v~0.offset := 0, 0; VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#res; VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, ~v~0.base=0, ~v~0.offset=0] [?] -1 havoc main_#t~nondet3, main_#t~mem4, main_#t~nondet5, main_#t~mem6, main_#t~mem7, main_#t~short8, main_~#t1~0.base, main_~#t1~0.offset, main_~#t2~0.base, main_~#t2~0.offset; VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1226] -1 call main_~#t1~0.base, main_~#t1~0.offset := #Ultimate.alloc(4); VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1226] -1 call main_~#t2~0.base, main_~#t2~0.offset := #Ultimate.alloc(4); VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1227] -1 call write~int(0, main_~#t1~0.base, main_~#t1~0.offset, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1227] FORK -1 fork 0 thread1(0, 0); VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1227] -1 havoc main_#t~nondet3; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1214-L1218] 0 ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1216] 0 call #t~malloc0.base, #t~malloc0.offset := #Ultimate.alloc(8); VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=0, ~v~0.offset=0] [L1216] 0 ~v~0.base, ~v~0.offset := #t~malloc0.base, #t~malloc0.offset; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1228] -1 call main_#t~mem4 := read~int(main_~#t1~0.base, main_~#t1~0.offset, 4); VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem4=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1217] 0 #res.base, #res.offset := 0, 0; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem4=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1214-L1218] 0 ensures true; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem4=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1228] JOIN 0 join main_#t~mem4; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem4=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1228] -1 havoc main_#t~mem4; VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1229] -1 call write~int(1, main_~#t2~0.base, main_~#t2~0.offset, 4); VAL [#in~arg.base=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1229] FORK -1 fork 1 thread2(0, 0); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1229] -1 havoc main_#t~nondet5; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1230] -1 call main_#t~mem6 := read~int(main_~#t2~0.base, main_~#t2~0.offset, 4); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1219-L1223] 1 ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 assume ~v~0.base != 0 || ~v~0.offset != 0; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 #Ultimate.C_strcpy_dest.base, #Ultimate.C_strcpy_dest.offset, #Ultimate.C_strcpy_src.base, #Ultimate.C_strcpy_src.offset := ~v~0.base, ~v~0.offset, #t~string1.base, #t~string1.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 havoc #Ultimate.C_strcpy_#res.base, #Ultimate.C_strcpy_#res.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 havoc #Ultimate.C_strcpy_#t~offset10, #Ultimate.C_strcpy_#t~mem11; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 #Ultimate.C_strcpy_#t~offset10 := 0; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 call #Ultimate.C_strcpy_#t~mem11 := read~int(#Ultimate.C_strcpy_src.base, #Ultimate.C_strcpy_src.offset + #Ultimate.C_strcpy_#t~offset10, 1); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 call write~unchecked~int(#Ultimate.C_strcpy_#t~mem11, #Ultimate.C_strcpy_dest.base, #Ultimate.C_strcpy_dest.offset + #Ultimate.C_strcpy_#t~offset10, 1); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume 0 == #Ultimate.C_strcpy_#t~mem11; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] 1 assume #Ultimate.C_strcpy_#res.base == #Ultimate.C_strcpy_dest.base && #Ultimate.C_strcpy_#res.offset == #Ultimate.C_strcpy_dest.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 #t~strcpy~res2.base, #t~strcpy~res2.offset := #Ultimate.C_strcpy_#res.base, #Ultimate.C_strcpy_#res.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~strcpy~res2.base=70, #t~strcpy~res2.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1221] 1 havoc #t~strcpy~res2.base, #t~strcpy~res2.offset; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1222] 1 #res.base, #res.offset := 0, 0; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1219-L1223] 1 ensures true; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1230] JOIN 1 join main_#t~mem6; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1230] -1 havoc main_#t~mem6; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 main_#t~short8 := ~v~0.base == 0 && ~v~0.offset == 0; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 assume !main_#t~short8; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 call main_#t~mem7 := read~int(~v~0.base, ~v~0.offset, 1); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 main_#t~short8 := 66 == main_#t~mem7; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 __VERIFIER_assert_#in~expression := (if main_#t~short8 then 1 else 0); VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1231] -1 havoc __VERIFIER_assert_~expression; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1212] -1 __VERIFIER_assert_~expression := __VERIFIER_assert_#in~expression; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1212] -1 assume 0 == __VERIFIER_assert_~expression; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [L1212] -1 assert false; VAL [#in~arg.base=0, #in~arg.base=0, #in~arg.offset=0, #in~arg.offset=0, #NULL.base=0, #NULL.offset=0, #res.base=0, #res.base=0, #res.offset=0, #res.offset=0, #t~malloc0.base=70, #t~malloc0.offset=0, #t~string1.base=67, #t~string1.offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0.base=68, main_~#t1~0.offset=0, main_~#t2~0.base=69, main_~#t2~0.offset=0, ~arg.base=0, ~arg.base=0, ~arg.offset=0, ~arg.offset=0, ~v~0.base=70, ~v~0.offset=0] [?] -1 #NULL := { base: 0, offset: 0 }; VAL [#NULL!base=0, #NULL!offset=0] [?] -1 #valid[0] := 0; VAL [#NULL!base=0, #NULL!offset=0] [L1221] FCALL -1 call #t~string1 := #Ultimate.alloc(8); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0] [L1213] -1 ~v~0 := { base: 0, offset: 0 }; VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [?] -1 havoc main_#res; VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [?] -1 havoc main_#t~nondet3, main_#t~mem4, main_#t~nondet5, main_#t~mem6, main_#t~mem7, main_#t~short8, main_~#t1~0, main_~#t2~0; VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1226] FCALL -1 call main_~#t1~0 := #Ultimate.alloc(4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1226] FCALL -1 call main_~#t2~0 := #Ultimate.alloc(4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] FCALL -1 call write~int(0, main_~#t1~0, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] FORK -1 fork 0 thread1({ base: 0, offset: 0 }); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] -1 havoc main_#t~nondet3; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1214-L1218] 0 ~arg := #in~arg; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1216] FCALL 0 call #t~malloc0 := #Ultimate.alloc(8); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1216] 0 ~v~0 := #t~malloc0; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] FCALL -1 call main_#t~mem4 := read~int(main_~#t1~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem4=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1217] 0 #res := { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem4=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] JOIN 0 join main_#t~mem4; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem4=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] -1 havoc main_#t~mem4; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] FCALL -1 call write~int(1, main_~#t2~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] FORK -1 fork 1 thread2({ base: 0, offset: 0 }); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] -1 havoc main_#t~nondet5; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] FCALL -1 call main_#t~mem6 := read~int(main_~#t2~0, 4); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1219-L1223] 1 ~arg := #in~arg; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] COND TRUE 1 ~v~0 != { base: 0, offset: 0 } VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 #Ultimate.C_strcpy_dest, #Ultimate.C_strcpy_src := ~v~0, #t~string1; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 havoc #Ultimate.C_strcpy_#res; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 havoc #Ultimate.C_strcpy_#t~offset10, #Ultimate.C_strcpy_#t~mem11; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] 1 #Ultimate.C_strcpy_#t~offset10 := 0; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] FCALL 1 call #Ultimate.C_strcpy_#t~mem11 := read~int({ base: #Ultimate.C_strcpy_src!base, offset: #Ultimate.C_strcpy_src!offset + #Ultimate.C_strcpy_#t~offset10 }, 1); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] FCALL 1 call write~unchecked~int(#Ultimate.C_strcpy_#t~mem11, { base: #Ultimate.C_strcpy_dest!base, offset: #Ultimate.C_strcpy_dest!offset + #Ultimate.C_strcpy_#t~offset10 }, 1); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] COND TRUE 1 0 == #Ultimate.C_strcpy_#t~mem11 VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] 1 assume #Ultimate.C_strcpy_#res == #Ultimate.C_strcpy_dest; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 #t~strcpy~res2 := #Ultimate.C_strcpy_#res; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~strcpy~res2!base=70, #t~strcpy~res2!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 havoc #t~strcpy~res2; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1222] 1 #res := { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] JOIN 1 join main_#t~mem6; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] -1 havoc main_#t~mem6; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 main_#t~short8 := ~v~0 == { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] COND FALSE -1 !(main_#t~short8) VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] FCALL -1 call main_#t~mem7 := read~int({ base: ~v~0!base, offset: ~v~0!offset }, 1); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 main_#t~short8 := 66 == main_#t~mem7; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 __VERIFIER_assert_#in~expression := (if main_#t~short8 then 1 else 0); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 havoc __VERIFIER_assert_~expression; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] -1 __VERIFIER_assert_~expression := __VERIFIER_assert_#in~expression; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] COND TRUE -1 0 == __VERIFIER_assert_~expression VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] -1 assert false; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] -1 #NULL := { base: 0, offset: 0 }; VAL [#NULL!base=0, #NULL!offset=0] [?] -1 #valid[0] := 0; VAL [#NULL!base=0, #NULL!offset=0] [L1221] FCALL -1 call #t~string1 := #Ultimate.alloc(8); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0] [L1213] -1 ~v~0 := { base: 0, offset: 0 }; VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [?] -1 havoc main_#res; VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [?] -1 havoc main_#t~nondet3, main_#t~mem4, main_#t~nondet5, main_#t~mem6, main_#t~mem7, main_#t~short8, main_~#t1~0, main_~#t2~0; VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1226] FCALL -1 call main_~#t1~0 := #Ultimate.alloc(4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1226] FCALL -1 call main_~#t2~0 := #Ultimate.alloc(4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] FCALL -1 call write~int(0, main_~#t1~0, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] FORK -1 fork 0 thread1({ base: 0, offset: 0 }); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] -1 havoc main_#t~nondet3; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1214-L1218] 0 ~arg := #in~arg; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1216] FCALL 0 call #t~malloc0 := #Ultimate.alloc(8); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1216] 0 ~v~0 := #t~malloc0; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] FCALL -1 call main_#t~mem4 := read~int(main_~#t1~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem4=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1217] 0 #res := { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem4=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] JOIN 0 join main_#t~mem4; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem4=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] -1 havoc main_#t~mem4; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] FCALL -1 call write~int(1, main_~#t2~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] FORK -1 fork 1 thread2({ base: 0, offset: 0 }); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] -1 havoc main_#t~nondet5; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] FCALL -1 call main_#t~mem6 := read~int(main_~#t2~0, 4); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1219-L1223] 1 ~arg := #in~arg; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] COND TRUE 1 ~v~0 != { base: 0, offset: 0 } VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 #Ultimate.C_strcpy_dest, #Ultimate.C_strcpy_src := ~v~0, #t~string1; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 havoc #Ultimate.C_strcpy_#res; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 havoc #Ultimate.C_strcpy_#t~offset10, #Ultimate.C_strcpy_#t~mem11; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] 1 #Ultimate.C_strcpy_#t~offset10 := 0; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] FCALL 1 call #Ultimate.C_strcpy_#t~mem11 := read~int({ base: #Ultimate.C_strcpy_src!base, offset: #Ultimate.C_strcpy_src!offset + #Ultimate.C_strcpy_#t~offset10 }, 1); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] FCALL 1 call write~unchecked~int(#Ultimate.C_strcpy_#t~mem11, { base: #Ultimate.C_strcpy_dest!base, offset: #Ultimate.C_strcpy_dest!offset + #Ultimate.C_strcpy_#t~offset10 }, 1); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] COND TRUE 1 0 == #Ultimate.C_strcpy_#t~mem11 VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] 1 assume #Ultimate.C_strcpy_#res == #Ultimate.C_strcpy_dest; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 #t~strcpy~res2 := #Ultimate.C_strcpy_#res; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~strcpy~res2!base=70, #t~strcpy~res2!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 havoc #t~strcpy~res2; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1222] 1 #res := { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] JOIN 1 join main_#t~mem6; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem6=1, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] -1 havoc main_#t~mem6; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 main_#t~short8 := ~v~0 == { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] COND FALSE -1 !(main_#t~short8) VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] FCALL -1 call main_#t~mem7 := read~int({ base: ~v~0!base, offset: ~v~0!offset }, 1); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 main_#t~short8 := 66 == main_#t~mem7; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 __VERIFIER_assert_#in~expression := (if main_#t~short8 then 1 else 0); VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 havoc __VERIFIER_assert_~expression; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] -1 __VERIFIER_assert_~expression := __VERIFIER_assert_#in~expression; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] COND TRUE -1 0 == __VERIFIER_assert_~expression VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] -1 assert false; VAL [#in~arg!base=0, #in~arg!base=0, #in~arg!offset=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!base=0, #res!offset=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_#t~mem11=0, #Ultimate.C_strcpy_#t~offset10=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, __VERIFIER_assert_#in~expression=0, __VERIFIER_assert_~expression=0, main_#t~mem7=0, main_#t~short8=false, main_~#t1~0!base=68, main_~#t1~0!offset=0, main_~#t2~0!base=69, main_~#t2~0!offset=0, ~arg!base=0, ~arg!base=0, ~arg!offset=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] -1 #NULL := { base: 0, offset: 0 }; VAL [#NULL!base=0, #NULL!offset=0] [?] -1 #valid[0] := 0; VAL [#NULL!base=0, #NULL!offset=0] [L1221] FCALL -1 call #t~string1 := #Ultimate.alloc(8); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0] [L1213] -1 ~v~0 := { base: 0, offset: 0 }; VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1226] FCALL -1 call ~#t1~0 := #Ultimate.alloc(4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1226] FCALL -1 call ~#t2~0 := #Ultimate.alloc(4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] FCALL -1 call write~int(0, ~#t1~0, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] FORK -1 fork 0 thread1({ base: 0, offset: 0 }); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] -1 havoc #t~nondet3; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1214-L1218] 0 ~arg := #in~arg; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1216] FCALL 0 call #t~malloc0 := #Ultimate.alloc(8); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1216] 0 ~v~0 := #t~malloc0; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] FCALL -1 call #t~mem4 := read~int(~#t1~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1217] 0 #res := { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] JOIN 0 join #t~mem4; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] -1 havoc #t~mem4; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] FCALL -1 call write~int(1, ~#t2~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] FORK -1 fork 1 thread2({ base: 0, offset: 0 }); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] -1 havoc #t~nondet5; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] FCALL -1 call #t~mem6 := read~int(~#t2~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1219-L1223] 1 ~arg := #in~arg; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] COND TRUE 1 ~v~0 != { base: 0, offset: 0 } VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] 1 #t~offset10 := 0; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] FCALL 1 call #t~mem11 := read~int({ base: src!base, offset: src!offset + #t~offset10 }, 1); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] FCALL 1 call write~unchecked~int(#t~mem11, { base: dest!base, offset: dest!offset + #t~offset10 }, 1); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] COND TRUE 1 0 == #t~mem11 VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] 1 free ensures #res == dest; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 havoc #t~strcpy~res2; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1222] 1 #res := { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] JOIN 1 join #t~mem6; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] -1 havoc #t~mem6; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 #t~short8 := ~v~0 == { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] COND FALSE -1 !(#t~short8) VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] FCALL -1 call #t~mem7 := read~int({ base: ~v~0!base, offset: ~v~0!offset }, 1); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 #t~short8 := 66 == #t~mem7; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] -1 ~expression := #in~expression; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] COND TRUE -1 0 == ~expression VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] -1 assert false; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] -1 #NULL := { base: 0, offset: 0 }; VAL [#NULL!base=0, #NULL!offset=0] [?] -1 #valid[0] := 0; VAL [#NULL!base=0, #NULL!offset=0] [L1221] FCALL -1 call #t~string1 := #Ultimate.alloc(8); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0] [L1213] -1 ~v~0 := { base: 0, offset: 0 }; VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1226] FCALL -1 call ~#t1~0 := #Ultimate.alloc(4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1226] FCALL -1 call ~#t2~0 := #Ultimate.alloc(4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] FCALL -1 call write~int(0, ~#t1~0, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] FORK -1 fork 0 thread1({ base: 0, offset: 0 }); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1227] -1 havoc #t~nondet3; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1214-L1218] 0 ~arg := #in~arg; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1216] FCALL 0 call #t~malloc0 := #Ultimate.alloc(8); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=0, ~v~0!offset=0] [L1216] 0 ~v~0 := #t~malloc0; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] FCALL -1 call #t~mem4 := read~int(~#t1~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1217] 0 #res := { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] JOIN 0 join #t~mem4; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1228] -1 havoc #t~mem4; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] FCALL -1 call write~int(1, ~#t2~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] FORK -1 fork 1 thread2({ base: 0, offset: 0 }); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1229] -1 havoc #t~nondet5; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] FCALL -1 call #t~mem6 := read~int(~#t2~0, 4); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1219-L1223] 1 ~arg := #in~arg; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] COND TRUE 1 ~v~0 != { base: 0, offset: 0 } VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] 1 #t~offset10 := 0; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] FCALL 1 call #t~mem11 := read~int({ base: src!base, offset: src!offset + #t~offset10 }, 1); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] FCALL 1 call write~unchecked~int(#t~mem11, { base: dest!base, offset: dest!offset + #t~offset10 }, 1); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] COND TRUE 1 0 == #t~mem11 VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [?] 1 free ensures #res == dest; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1221] 1 havoc #t~strcpy~res2; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1222] 1 #res := { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] JOIN 1 join #t~mem6; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1230] -1 havoc #t~mem6; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 #t~short8 := ~v~0 == { base: 0, offset: 0 }; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] COND FALSE -1 !(#t~short8) VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] FCALL -1 call #t~mem7 := read~int({ base: ~v~0!base, offset: ~v~0!offset }, 1); VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1231] -1 #t~short8 := 66 == #t~mem7; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] -1 ~expression := #in~expression; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] COND TRUE -1 0 == ~expression VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1212] -1 assert false; VAL [#in~arg!base=0, #in~arg!offset=0, #NULL!base=0, #NULL!offset=0, #res!base=0, #res!offset=0, #t~malloc0!base=70, #t~malloc0!offset=0, #t~string1!base=67, #t~string1!offset=0, #Ultimate.C_strcpy_#res.base=70, #Ultimate.C_strcpy_#res.offset=0, #Ultimate.C_strcpy_dest.base=70, #Ultimate.C_strcpy_dest.offset=0, #Ultimate.C_strcpy_src.base=67, #Ultimate.C_strcpy_src.offset=0, ~arg!base=0, ~arg!offset=0, ~v~0!base=70, ~v~0!offset=0] [L1213] -1 char *v; VAL [v={0:0}] [L1226] -1 pthread_t t1, t2; VAL [v={0:0}] [L1227] FCALL, FORK -1 pthread_create(&t1, 0, thread1, 0) VAL [arg={0:0}, v={0:0}] [L1216] 0 v = malloc(sizeof(char) * 8) VAL [arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1228] -1 \read(t1) VAL [arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1217] 0 return 0; VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1228] FCALL, JOIN 0 pthread_join(t1, 0) VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1229] FCALL, FORK -1 pthread_create(&t2, 0, thread2, 0) VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1230] -1 \read(t2) VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1221] COND TRUE 1 \read(*v) VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1222] 1 return 0; VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1230] FCALL, JOIN 1 pthread_join(t2, 0) VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1231] -1 !v || v[0] == 'B' VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1231] EXPR -1 v[0] VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1231] -1 !v || v[0] == 'B' VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1212] COND TRUE -1 !expression VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1212] -1 __VERIFIER_error() VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] ----- [2018-11-23 06:37:32,950 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_0bcff387-9d02-492f-be3e-32dd767875e4/bin-2019/uautomizer/witness.graphml [2018-11-23 06:37:32,950 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 06:37:32,951 INFO L168 Benchmark]: Toolchain (without parser) took 2669.72 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 151.0 MB). Free memory was 956.4 MB in the beginning and 908.1 MB in the end (delta: 48.3 MB). Peak memory consumption was 199.3 MB. Max. memory is 11.5 GB. [2018-11-23 06:37:32,952 INFO L168 Benchmark]: CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 06:37:32,953 INFO L168 Benchmark]: CACSL2BoogieTranslator took 537.91 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 151.0 MB). Free memory was 956.4 MB in the beginning and 1.1 GB in the end (delta: -139.5 MB). Peak memory consumption was 39.0 MB. Max. memory is 11.5 GB. [2018-11-23 06:37:32,953 INFO L168 Benchmark]: Boogie Procedure Inliner took 38.16 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: 6.9 MB). Peak memory consumption was 6.9 MB. Max. memory is 11.5 GB. [2018-11-23 06:37:32,954 INFO L168 Benchmark]: Boogie Preprocessor took 20.40 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: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. [2018-11-23 06:37:32,954 INFO L168 Benchmark]: RCFGBuilder took 274.04 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: 21.7 MB). Peak memory consumption was 21.7 MB. Max. memory is 11.5 GB. [2018-11-23 06:37:32,955 INFO L168 Benchmark]: TraceAbstraction took 978.99 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 952.7 MB in the end (delta: 107.7 MB). Peak memory consumption was 107.7 MB. Max. memory is 11.5 GB. [2018-11-23 06:37:32,955 INFO L168 Benchmark]: Witness Printer took 816.70 ms. Allocated memory is still 1.2 GB. Free memory was 952.7 MB in the beginning and 908.1 MB in the end (delta: 44.6 MB). Peak memory consumption was 44.6 MB. Max. memory is 11.5 GB. [2018-11-23 06:37:32,958 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 537.91 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 151.0 MB). Free memory was 956.4 MB in the beginning and 1.1 GB in the end (delta: -139.5 MB). Peak memory consumption was 39.0 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 38.16 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: 6.9 MB). Peak memory consumption was 6.9 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 20.40 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: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. * RCFGBuilder took 274.04 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: 21.7 MB). Peak memory consumption was 21.7 MB. Max. memory is 11.5 GB. * TraceAbstraction took 978.99 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 952.7 MB in the end (delta: 107.7 MB). Peak memory consumption was 107.7 MB. Max. memory is 11.5 GB. * Witness Printer took 816.70 ms. Allocated memory is still 1.2 GB. Free memory was 952.7 MB in the beginning and 908.1 MB in the end (delta: 44.6 MB). Peak memory consumption was 44.6 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_dest : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_#res : $Pointer$ not handled - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Nested struct field access of VarList #Ultimate.C_strcpy_src : $Pointer$ not handled * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 1212]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L1213] -1 char *v; VAL [v={0:0}] [L1226] -1 pthread_t t1, t2; VAL [v={0:0}] [L1227] FCALL, FORK -1 pthread_create(&t1, 0, thread1, 0) VAL [arg={0:0}, v={0:0}] [L1216] 0 v = malloc(sizeof(char) * 8) VAL [arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1228] -1 \read(t1) VAL [arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1217] 0 return 0; VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1228] FCALL, JOIN 0 pthread_join(t1, 0) VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1229] FCALL, FORK -1 pthread_create(&t2, 0, thread2, 0) VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1230] -1 \read(t2) VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1221] COND TRUE 1 \read(*v) VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1222] 1 return 0; VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1230] FCALL, JOIN 1 pthread_join(t2, 0) VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1231] -1 !v || v[0] == 'B' VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1231] EXPR -1 v[0] VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1231] -1 !v || v[0] == 'B' VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1212] COND TRUE -1 !expression VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] [L1212] -1 __VERIFIER_error() VAL [\result={0:0}, arg={0:0}, arg={0:0}, malloc(sizeof(char) * 8)={70:0}, v={70:0}] - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 84 locations, 1 error locations. UNSAFE Result, 0.8s OverallTime, 3 OverallIterations, 1 TraceHistogramMax, 0.1s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 109 SDtfs, 91 SDslu, 169 SDs, 0 SdLazy, 19 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=100occurred in iteration=0, traceCheckStatistics: No data available, 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: 0.0s AutomataMinimizationTime, 2 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.1s InterpolantComputationTime, 130 NumberOfCodeBlocks, 130 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 80 ConstructedInterpolants, 0 QuantifiedInterpolants, 4780 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 2 InterpolantComputations, 2 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! Received shutdown request...