./Ultimate.py --spec ../../sv-benchmarks/c/Termination.prp --file ../../sv-benchmarks/c/pthread-atomic/gcd_true-unreach-call_true-termination.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 1dbac8bc Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_838bfced-59f8-4545-9244-4314a3f4a766/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_838bfced-59f8-4545-9244-4314a3f4a766/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_838bfced-59f8-4545-9244-4314a3f4a766/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_838bfced-59f8-4545-9244-4314a3f4a766/bin-2019/uautomizer/config/AutomizerTermination.xml -i ../../sv-benchmarks/c/pthread-atomic/gcd_true-unreach-call_true-termination.i -s /tmp/vcloud-vcloud-master/worker/working_dir_838bfced-59f8-4545-9244-4314a3f4a766/bin-2019/uautomizer/config/svcomp-Termination-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_838bfced-59f8-4545-9244-4314a3f4a766/bin-2019/uautomizer --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(F end) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 00f1d9cb3a5dbd23318edaa2a604a28ea872bf8d ....................................................................................................................................................................................................................................................................... Execution finished normally Using bit-precise analysis No suitable file found in config dir /tmp/vcloud-vcloud-master/worker/working_dir_838bfced-59f8-4545-9244-4314a3f4a766/bin-2019/uautomizer/config using search string *Termination*32bit*_Bitvector*.epf No suitable settings file found using Termination*32bit*_Bitvector ERROR: UNSUPPORTED PROPERTY Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: IllegalArgumentException: Location is null --- Real Ultimate output --- This is Ultimate 0.1.23-1dbac8b [2018-10-27 06:08:39,976 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-10-27 06:08:39,979 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-10-27 06:08:39,990 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-10-27 06:08:39,991 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-10-27 06:08:39,992 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-10-27 06:08:39,993 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-10-27 06:08:39,994 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-10-27 06:08:39,995 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-10-27 06:08:39,996 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-10-27 06:08:39,996 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-10-27 06:08:39,997 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-10-27 06:08:39,997 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-10-27 06:08:40,001 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-10-27 06:08:40,002 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-10-27 06:08:40,003 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-10-27 06:08:40,003 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-10-27 06:08:40,005 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-10-27 06:08:40,011 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-10-27 06:08:40,014 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-10-27 06:08:40,016 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-10-27 06:08:40,019 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-10-27 06:08:40,022 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-10-27 06:08:40,025 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-10-27 06:08:40,025 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-10-27 06:08:40,026 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-10-27 06:08:40,026 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-10-27 06:08:40,027 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-10-27 06:08:40,027 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-10-27 06:08:40,028 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-10-27 06:08:40,028 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-10-27 06:08:40,029 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-10-27 06:08:40,029 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-10-27 06:08:40,029 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-10-27 06:08:40,032 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-10-27 06:08:40,033 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-10-27 06:08:40,033 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_838bfced-59f8-4545-9244-4314a3f4a766/bin-2019/uautomizer/config/svcomp-Termination-32bit-Automizer_Default.epf [2018-10-27 06:08:40,049 INFO L110 SettingsManager]: Loading preferences was successful [2018-10-27 06:08:40,050 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-10-27 06:08:40,051 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-10-27 06:08:40,052 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-10-27 06:08:40,052 INFO L133 SettingsManager]: * Use SBE=true [2018-10-27 06:08:40,052 INFO L131 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2018-10-27 06:08:40,053 INFO L133 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2018-10-27 06:08:40,053 INFO L133 SettingsManager]: * Use old map elimination=false [2018-10-27 06:08:40,054 INFO L133 SettingsManager]: * Use external solver (rank synthesis)=false [2018-10-27 06:08:40,054 INFO L133 SettingsManager]: * Use only trivial implications for array writes=true [2018-10-27 06:08:40,054 INFO L133 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2018-10-27 06:08:40,054 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-10-27 06:08:40,054 INFO L133 SettingsManager]: * sizeof long=4 [2018-10-27 06:08:40,055 INFO L133 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2018-10-27 06:08:40,055 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-10-27 06:08:40,055 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-10-27 06:08:40,055 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-10-27 06:08:40,055 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2018-10-27 06:08:40,055 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2018-10-27 06:08:40,055 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2018-10-27 06:08:40,055 INFO L133 SettingsManager]: * sizeof long double=12 [2018-10-27 06:08:40,056 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-10-27 06:08:40,056 INFO L133 SettingsManager]: * Assume nondeterminstic values are in range=false [2018-10-27 06:08:40,056 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2018-10-27 06:08:40,056 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-10-27 06:08:40,056 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-10-27 06:08:40,056 INFO L133 SettingsManager]: * To the following directory=/home/matthias/ultimate/dump [2018-10-27 06:08:40,056 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-10-27 06:08:40,056 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-10-27 06:08:40,057 INFO L133 SettingsManager]: * Dump automata to the following directory=/home/matthias/ultimate/dump/auto [2018-10-27 06:08:40,060 INFO L131 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2018-10-27 06:08:40,060 INFO L133 SettingsManager]: * TransformationType=MODULO_NEIGHBOR 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_838bfced-59f8-4545-9244-4314a3f4a766/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(F end) ) 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 -> 00f1d9cb3a5dbd23318edaa2a604a28ea872bf8d [2018-10-27 06:08:40,087 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-10-27 06:08:40,099 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-10-27 06:08:40,104 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-10-27 06:08:40,106 INFO L271 PluginConnector]: Initializing CDTParser... [2018-10-27 06:08:40,106 INFO L276 PluginConnector]: CDTParser initialized [2018-10-27 06:08:40,107 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_838bfced-59f8-4545-9244-4314a3f4a766/bin-2019/uautomizer/../../sv-benchmarks/c/pthread-atomic/gcd_true-unreach-call_true-termination.i [2018-10-27 06:08:40,154 INFO L218 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_838bfced-59f8-4545-9244-4314a3f4a766/bin-2019/uautomizer/data/3835cae26/d65b98ac3f774b8d8e7a016a4765a7f2/FLAGb7a0418c4 [2018-10-27 06:08:40,565 INFO L298 CDTParser]: Found 1 translation units. [2018-10-27 06:08:40,565 INFO L158 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_838bfced-59f8-4545-9244-4314a3f4a766/sv-benchmarks/c/pthread-atomic/gcd_true-unreach-call_true-termination.i [2018-10-27 06:08:40,576 INFO L346 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_838bfced-59f8-4545-9244-4314a3f4a766/bin-2019/uautomizer/data/3835cae26/d65b98ac3f774b8d8e7a016a4765a7f2/FLAGb7a0418c4 [2018-10-27 06:08:40,588 INFO L354 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_838bfced-59f8-4545-9244-4314a3f4a766/bin-2019/uautomizer/data/3835cae26/d65b98ac3f774b8d8e7a016a4765a7f2 [2018-10-27 06:08:40,591 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-10-27 06:08:40,593 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-10-27 06:08:40,593 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-10-27 06:08:40,594 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-10-27 06:08:40,597 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-10-27 06:08:40,598 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.10 06:08:40" (1/1) ... [2018-10-27 06:08:40,600 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6bd24825 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.10 06:08:40, skipping insertion in model container [2018-10-27 06:08:40,600 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.10 06:08:40" (1/1) ... [2018-10-27 06:08:40,609 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-10-27 06:08:40,650 INFO L174 MainTranslator]: Built tables and reachable declarations [2018-10-27 06:08:40,912 INFO L202 PostProcessor]: Analyzing one entry point: main [2018-10-27 06:08:40,915 INFO L189 MainTranslator]: Completed pre-run [2018-10-27 06:08:40,952 INFO L202 PostProcessor]: Analyzing one entry point: main [2018-10-27 06:08:41,025 INFO L193 MainTranslator]: Completed translation [2018-10-27 06:08:41,026 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.10 06:08:41 WrapperNode [2018-10-27 06:08:41,026 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-10-27 06:08:41,027 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-10-27 06:08:41,028 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-10-27 06:08:41,028 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-10-27 06:08:41,036 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.10 06:08:41" (1/1) ... [2018-10-27 06:08:41,053 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.10 06:08:41" (1/1) ... [2018-10-27 06:08:41,142 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-10-27 06:08:41,147 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-10-27 06:08:41,147 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-10-27 06:08:41,147 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-10-27 06:08:41,154 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.10 06:08:41" (1/1) ... [2018-10-27 06:08:41,154 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.10 06:08:41" (1/1) ... [2018-10-27 06:08:41,158 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.10 06:08:41" (1/1) ... [2018-10-27 06:08:41,158 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.10 06:08:41" (1/1) ... [2018-10-27 06:08:41,163 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.10 06:08:41" (1/1) ... [2018-10-27 06:08:41,167 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.10 06:08:41" (1/1) ... [2018-10-27 06:08:41,170 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.10 06:08:41" (1/1) ... [2018-10-27 06:08:41,172 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-10-27 06:08:41,173 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-10-27 06:08:41,173 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-10-27 06:08:41,173 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-10-27 06:08:41,174 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.10 06:08:41" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838bfced-59f8-4545-9244-4314a3f4a766/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-10-27 06:08:41,232 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-10-27 06:08:41,232 INFO L130 BoogieDeclarations]: Found specification of procedure dec_a [2018-10-27 06:08:41,232 INFO L138 BoogieDeclarations]: Found implementation of procedure dec_a [2018-10-27 06:08:41,233 INFO L130 BoogieDeclarations]: Found specification of procedure dec_b [2018-10-27 06:08:41,233 INFO L138 BoogieDeclarations]: Found implementation of procedure dec_b [2018-10-27 06:08:41,233 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-10-27 06:08:41,233 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-10-27 06:08:41,234 WARN L200 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to SingleStatement [2018-10-27 06:08:41,918 INFO L341 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-10-27 06:08:41,941 WARN L317 ript$VariableManager]: TermVariabe |Thread0_dec_a_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-10-27 06:08:41,941 WARN L317 ript$VariableManager]: TermVariabe |Thread0_dec_a_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-10-27 06:08:41,942 WARN L317 ript$VariableManager]: TermVariabe |Thread0_dec_a_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-10-27 06:08:41,942 WARN L317 ript$VariableManager]: TermVariabe |Thread0_dec_a_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-10-27 06:08:41,942 WARN L317 ript$VariableManager]: TermVariabe |Thread1_dec_b_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-10-27 06:08:41,942 WARN L317 ript$VariableManager]: TermVariabe |Thread1_dec_b_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-10-27 06:08:41,943 WARN L317 ript$VariableManager]: TermVariabe |Thread1_dec_b_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-10-27 06:08:41,943 WARN L317 ript$VariableManager]: TermVariabe |Thread1_dec_b_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-10-27 06:08:41,972 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.10 06:08:41 BasicIcfg [2018-10-27 06:08:41,972 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-10-27 06:08:41,972 INFO L113 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2018-10-27 06:08:41,972 INFO L271 PluginConnector]: Initializing BuchiAutomizer... [2018-10-27 06:08:41,975 INFO L276 PluginConnector]: BuchiAutomizer initialized [2018-10-27 06:08:41,975 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-10-27 06:08:41,975 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 27.10 06:08:40" (1/3) ... [2018-10-27 06:08:41,976 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@600a37db and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 27.10 06:08:41, skipping insertion in model container [2018-10-27 06:08:41,976 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-10-27 06:08:41,976 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.10 06:08:41" (2/3) ... [2018-10-27 06:08:41,977 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@600a37db and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 27.10 06:08:41, skipping insertion in model container [2018-10-27 06:08:41,977 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-10-27 06:08:41,977 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.10 06:08:41" (3/3) ... [2018-10-27 06:08:41,979 INFO L375 chiAutomizerObserver]: Analyzing ICFG gcd_true-unreach-call_true-termination.i_BEv2 [2018-10-27 06:08:42,022 INFO L135 ementStrategyFactory]: Using default assertion order modulation [2018-10-27 06:08:42,022 INFO L374 BuchiCegarLoop]: Interprodecural is true [2018-10-27 06:08:42,022 INFO L375 BuchiCegarLoop]: Hoare is false [2018-10-27 06:08:42,022 INFO L376 BuchiCegarLoop]: Compute interpolants for ForwardPredicates [2018-10-27 06:08:42,022 INFO L377 BuchiCegarLoop]: Backedges is STRAIGHT_LINE [2018-10-27 06:08:42,023 INFO L378 BuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-10-27 06:08:42,023 INFO L379 BuchiCegarLoop]: Difference is false [2018-10-27 06:08:42,023 INFO L380 BuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-10-27 06:08:42,023 INFO L383 BuchiCegarLoop]: ======== Iteration 0==of CEGAR loop == BuchiCegarLoop======== [2018-10-27 06:08:42,036 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 135 states. [2018-10-27 06:08:42,064 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 12 [2018-10-27 06:08:42,064 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-10-27 06:08:42,064 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-10-27 06:08:42,071 INFO L866 BuchiCegarLoop]: Counterexample stem 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, 1] [2018-10-27 06:08:42,071 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1] [2018-10-27 06:08:42,071 INFO L442 BuchiCegarLoop]: ======== Iteration 1============ [2018-10-27 06:08:42,071 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 135 states. [2018-10-27 06:08:42,076 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 12 [2018-10-27 06:08:42,077 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-10-27 06:08:42,077 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-10-27 06:08:42,078 INFO L866 BuchiCegarLoop]: Counterexample stem 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, 1] [2018-10-27 06:08:42,078 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1] [2018-10-27 06:08:42,083 INFO L793 eck$LassoCheckResult]: Stem: 88#ULTIMATE.startENTRYtrue [269] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 8#L-1true [189] L-1-->L-1-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] 131#L-1-1true [312] L-1-1-->L1259: Formula: (= |v_#valid_1| (store |v_#valid_2| 0 0)) InVars {#valid=|v_#valid_2|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[#valid] 23#L1259true [202] L1259-->L1259-1: Formula: (= v_~a~0_12 0) InVars {} OutVars{~a~0=v_~a~0_12} AuxVars[] AssignedVars[~a~0] 25#L1259-1true [204] L1259-1-->L-1-2: Formula: (= v_~b~0_12 0) InVars {} OutVars{~b~0=v_~b~0_12} AuxVars[] AssignedVars[~b~0] 130#L-1-2true [310] L-1-2-->L-1-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 128#L-1-3true [308] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 124#L-1-4true [304] L-1-4-->L-1-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res] 122#L-1-5true [302] L-1-5-->L1329: Formula: true InVars {} OutVars{ULTIMATE.start_main_~b_in~0=v_ULTIMATE.start_main_~b_in~0_1, ULTIMATE.start_main_#t~nondet8=|v_ULTIMATE.start_main_#t~nondet8_1|, ULTIMATE.start_main_#t~nondet9=|v_ULTIMATE.start_main_#t~nondet9_1|, ULTIMATE.start_main_#t~ret10=|v_ULTIMATE.start_main_#t~ret10_1|, ULTIMATE.start_main_~a_in~0=v_ULTIMATE.start_main_~a_in~0_1} AuxVars[] AssignedVars[ULTIMATE.start_main_~b_in~0, ULTIMATE.start_main_#t~ret10, ULTIMATE.start_main_~a_in~0, ULTIMATE.start_main_#t~nondet8, ULTIMATE.start_main_#t~nondet9] 110#L1329true [291] L1329-->L1329-1: Formula: (= v_ULTIMATE.start_main_~a_in~0_2 |v_ULTIMATE.start_main_#t~nondet8_2|) InVars {ULTIMATE.start_main_#t~nondet8=|v_ULTIMATE.start_main_#t~nondet8_2|} OutVars{ULTIMATE.start_main_#t~nondet8=|v_ULTIMATE.start_main_#t~nondet8_2|, ULTIMATE.start_main_~a_in~0=v_ULTIMATE.start_main_~a_in~0_2} AuxVars[] AssignedVars[ULTIMATE.start_main_~a_in~0] 117#L1329-1true [298] L1329-1-->L1330: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8=|v_ULTIMATE.start_main_#t~nondet8_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8] 39#L1330true [219] L1330-->L1330-1: Formula: (= v_ULTIMATE.start_main_~b_in~0_2 |v_ULTIMATE.start_main_#t~nondet9_2|) InVars {ULTIMATE.start_main_#t~nondet9=|v_ULTIMATE.start_main_#t~nondet9_2|} OutVars{ULTIMATE.start_main_~b_in~0=v_ULTIMATE.start_main_~b_in~0_2, ULTIMATE.start_main_#t~nondet9=|v_ULTIMATE.start_main_#t~nondet9_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~b_in~0] 40#L1330-1true [220] L1330-1-->L1332: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet9=|v_ULTIMATE.start_main_#t~nondet9_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet9] 86#L1332true [267] L1332-->L1333: Formula: (not (= 0 (ite (< 0 (mod v_ULTIMATE.start_main_~a_in~0_3 4294967296)) 1 0))) InVars {ULTIMATE.start_main_~a_in~0=v_ULTIMATE.start_main_~a_in~0_3} OutVars{ULTIMATE.start_main_~a_in~0=v_ULTIMATE.start_main_~a_in~0_3} AuxVars[] AssignedVars[] 32#L1333true [215] L1333-->L1335: Formula: (not (= 0 (ite (< 0 (mod v_ULTIMATE.start_main_~b_in~0_3 4294967296)) 1 0))) InVars {ULTIMATE.start_main_~b_in~0=v_ULTIMATE.start_main_~b_in~0_3} OutVars{ULTIMATE.start_main_~b_in~0=v_ULTIMATE.start_main_~b_in~0_3} AuxVars[] AssignedVars[] 75#L1335true [255] L1335-->L1335-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 78#L1335-1true [258] L1335-1-->L1335-2: Formula: (and (= |v_ULTIMATE.start_start_#in~b_in_1| v_ULTIMATE.start_main_~b_in~0_4) (= |v_ULTIMATE.start_start_#in~a_in_1| v_ULTIMATE.start_main_~a_in~0_4)) InVars {ULTIMATE.start_main_~b_in~0=v_ULTIMATE.start_main_~b_in~0_4, ULTIMATE.start_main_~a_in~0=v_ULTIMATE.start_main_~a_in~0_4} OutVars{ULTIMATE.start_main_~b_in~0=v_ULTIMATE.start_main_~b_in~0_4, ULTIMATE.start_start_#in~b_in=|v_ULTIMATE.start_start_#in~b_in_1|, ULTIMATE.start_start_#in~a_in=|v_ULTIMATE.start_start_#in~a_in_1|, ULTIMATE.start_main_~a_in~0=v_ULTIMATE.start_main_~a_in~0_4} AuxVars[] AssignedVars[ULTIMATE.start_start_#in~b_in, ULTIMATE.start_start_#in~a_in] 80#L1335-2true [260] L1335-2-->L1335-3: Formula: true InVars {} OutVars{ULTIMATE.start_start_#res=|v_ULTIMATE.start_start_#res_1|} AuxVars[] AssignedVars[ULTIMATE.start_start_#res] 59#L1335-3true [241] L1335-3-->L1297: Formula: true InVars {} OutVars{ULTIMATE.start_start_~#t2~0.offset=|v_ULTIMATE.start_start_~#t2~0.offset_1|, ULTIMATE.start_start_#t~nondet4=|v_ULTIMATE.start_start_#t~nondet4_1|, ULTIMATE.start_start_#t~nondet3=|v_ULTIMATE.start_start_#t~nondet3_1|, ULTIMATE.start_start_~#t1~0.offset=|v_ULTIMATE.start_start_~#t1~0.offset_1|, ULTIMATE.start_start_#t~mem6=|v_ULTIMATE.start_start_#t~mem6_1|, ULTIMATE.start_start_~#t2~0.base=|v_ULTIMATE.start_start_~#t2~0.base_1|, ULTIMATE.start_start_#t~mem5=|v_ULTIMATE.start_start_#t~mem5_1|, ULTIMATE.start_start_~a_in=v_ULTIMATE.start_start_~a_in_1, ULTIMATE.start_start_~b_in=v_ULTIMATE.start_start_~b_in_1, ULTIMATE.start_start_~#t1~0.base=|v_ULTIMATE.start_start_~#t1~0.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_start_~#t2~0.offset, ULTIMATE.start_start_#t~nondet4, ULTIMATE.start_start_#t~nondet3, ULTIMATE.start_start_~#t1~0.offset, ULTIMATE.start_start_#t~mem6, ULTIMATE.start_start_~#t2~0.base, ULTIMATE.start_start_#t~mem5, ULTIMATE.start_start_~a_in, ULTIMATE.start_start_~b_in, ULTIMATE.start_start_~#t1~0.base] 41#L1297true [221] L1297-->L1297-1: Formula: (= v_ULTIMATE.start_start_~a_in_2 |v_ULTIMATE.start_start_#in~a_in_2|) InVars {ULTIMATE.start_start_#in~a_in=|v_ULTIMATE.start_start_#in~a_in_2|} OutVars{ULTIMATE.start_start_#in~a_in=|v_ULTIMATE.start_start_#in~a_in_2|, ULTIMATE.start_start_~a_in=v_ULTIMATE.start_start_~a_in_2} AuxVars[] AssignedVars[ULTIMATE.start_start_~a_in] 47#L1297-1true [226] L1297-1-->L1299: Formula: (= v_ULTIMATE.start_start_~b_in_2 |v_ULTIMATE.start_start_#in~b_in_2|) InVars {ULTIMATE.start_start_#in~b_in=|v_ULTIMATE.start_start_#in~b_in_2|} OutVars{ULTIMATE.start_start_~b_in=v_ULTIMATE.start_start_~b_in_2, ULTIMATE.start_start_#in~b_in=|v_ULTIMATE.start_start_#in~b_in_2|} AuxVars[] AssignedVars[ULTIMATE.start_start_~b_in] 87#L1299true [268] L1299-->L1300: Formula: (= v_~a~0_13 v_ULTIMATE.start_start_~a_in_3) InVars {ULTIMATE.start_start_~a_in=v_ULTIMATE.start_start_~a_in_3} OutVars{~a~0=v_~a~0_13, ULTIMATE.start_start_~a_in=v_ULTIMATE.start_start_~a_in_3} AuxVars[] AssignedVars[~a~0] 26#L1300true [205] L1300-->L1302: Formula: (= v_~b~0_13 v_ULTIMATE.start_start_~b_in_3) InVars {ULTIMATE.start_start_~b_in=v_ULTIMATE.start_start_~b_in_3} OutVars{ULTIMATE.start_start_~b_in=v_ULTIMATE.start_start_~b_in_3, ~b~0=v_~b~0_13} AuxVars[] AssignedVars[~b~0] 79#L1302true [259] L1302-->L1302-1: Formula: (and (= |v_ULTIMATE.start_#Ultimate.alloc_old_#valid_1| |v_#valid_3|) (= |v_ULTIMATE.start_#Ultimate.alloc_old_#length_1| |v_#length_1|)) InVars {#length=|v_#length_1|, #valid=|v_#valid_3|} OutVars{ULTIMATE.start_#Ultimate.alloc_old_#valid=|v_ULTIMATE.start_#Ultimate.alloc_old_#valid_1|, #length=|v_#length_1|, ULTIMATE.start_#Ultimate.alloc_old_#length=|v_ULTIMATE.start_#Ultimate.alloc_old_#length_1|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[ULTIMATE.start_#Ultimate.alloc_old_#valid, ULTIMATE.start_#Ultimate.alloc_old_#length] 81#L1302-1true [261] L1302-1-->L1302-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 60#L1302-2true [242] L1302-2-->L1302-3: Formula: (= |v_ULTIMATE.start_#Ultimate.alloc_~size_1| 4) InVars {} OutVars{ULTIMATE.start_#Ultimate.alloc_~size=|v_ULTIMATE.start_#Ultimate.alloc_~size_1|} AuxVars[] AssignedVars[ULTIMATE.start_#Ultimate.alloc_~size] 61#L1302-3true [243] L1302-3-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_#Ultimate.alloc_#res.offset=|v_ULTIMATE.start_#Ultimate.alloc_#res.offset_1|, ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_#Ultimate.alloc_#res.offset, ULTIMATE.start_#Ultimate.alloc_#res.base] 137#L-1-6true [325] L-1-6-->L-1-7: Formula: true InVars {} OutVars{#length=|v_#length_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length] 136#L-1-7true [322] L-1-7-->L-1-8: Formula: (= 0 (select |v_ULTIMATE.start_#Ultimate.alloc_old_#valid_2| |v_ULTIMATE.start_#Ultimate.alloc_#res.base_2|)) InVars {ULTIMATE.start_#Ultimate.alloc_old_#valid=|v_ULTIMATE.start_#Ultimate.alloc_old_#valid_2|, ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_2|} OutVars{ULTIMATE.start_#Ultimate.alloc_old_#valid=|v_ULTIMATE.start_#Ultimate.alloc_old_#valid_2|, ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_2|} AuxVars[] AssignedVars[] 135#L-1-8true [320] L-1-8-->L-1-9: Formula: (= (store |v_ULTIMATE.start_#Ultimate.alloc_old_#valid_3| |v_ULTIMATE.start_#Ultimate.alloc_#res.base_3| 1) |v_#valid_5|) InVars {ULTIMATE.start_#Ultimate.alloc_old_#valid=|v_ULTIMATE.start_#Ultimate.alloc_old_#valid_3|, #valid=|v_#valid_5|, ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_3|} OutVars{ULTIMATE.start_#Ultimate.alloc_old_#valid=|v_ULTIMATE.start_#Ultimate.alloc_old_#valid_3|, #valid=|v_#valid_5|, ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_3|} AuxVars[] AssignedVars[] 134#L-1-9true [318] L-1-9-->L-1-10: Formula: (= |v_ULTIMATE.start_#Ultimate.alloc_#res.offset_2| 0) InVars {ULTIMATE.start_#Ultimate.alloc_#res.offset=|v_ULTIMATE.start_#Ultimate.alloc_#res.offset_2|} OutVars{ULTIMATE.start_#Ultimate.alloc_#res.offset=|v_ULTIMATE.start_#Ultimate.alloc_#res.offset_2|} AuxVars[] AssignedVars[] 133#L-1-10true [317] L-1-10-->L-1-11: Formula: (not (= 0 |v_ULTIMATE.start_#Ultimate.alloc_#res.base_4|)) InVars {ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_4|} OutVars{ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_4|} AuxVars[] AssignedVars[] 102#L-1-11true [284] L-1-11-->L1302-4: Formula: (= (store |v_ULTIMATE.start_#Ultimate.alloc_old_#length_2| |v_ULTIMATE.start_#Ultimate.alloc_#res.base_5| |v_ULTIMATE.start_#Ultimate.alloc_~size_2|) |v_#length_3|) InVars {#length=|v_#length_3|, ULTIMATE.start_#Ultimate.alloc_~size=|v_ULTIMATE.start_#Ultimate.alloc_~size_2|, ULTIMATE.start_#Ultimate.alloc_old_#length=|v_ULTIMATE.start_#Ultimate.alloc_old_#length_2|, ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_5|} OutVars{#length=|v_#length_3|, ULTIMATE.start_#Ultimate.alloc_~size=|v_ULTIMATE.start_#Ultimate.alloc_~size_2|, ULTIMATE.start_#Ultimate.alloc_old_#length=|v_ULTIMATE.start_#Ultimate.alloc_old_#length_2|, ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_5|} AuxVars[] AssignedVars[] 64#L1302-4true [246] L1302-4-->L1302-5: Formula: (and (= |v_ULTIMATE.start_start_~#t1~0.offset_2| |v_ULTIMATE.start_#Ultimate.alloc_#res.offset_3|) (= |v_ULTIMATE.start_start_~#t1~0.base_2| |v_ULTIMATE.start_#Ultimate.alloc_#res.base_6|)) InVars {ULTIMATE.start_#Ultimate.alloc_#res.offset=|v_ULTIMATE.start_#Ultimate.alloc_#res.offset_3|, ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_6|} OutVars{ULTIMATE.start_#Ultimate.alloc_#res.offset=|v_ULTIMATE.start_#Ultimate.alloc_#res.offset_3|, ULTIMATE.start_start_~#t1~0.base=|v_ULTIMATE.start_start_~#t1~0.base_2|, ULTIMATE.start_start_~#t1~0.offset=|v_ULTIMATE.start_start_~#t1~0.offset_2|, ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_6|} AuxVars[] AssignedVars[ULTIMATE.start_start_~#t1~0.offset, ULTIMATE.start_start_~#t1~0.base] 66#L1302-5true [248] L1302-5-->L1302-6: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 70#L1302-6true [251] L1302-6-->L1302-7: Formula: (and (= |v_ULTIMATE.start_#Ultimate.alloc_old_#valid_4| |v_#valid_6|) (= |v_ULTIMATE.start_#Ultimate.alloc_old_#length_3| |v_#length_4|)) InVars {#length=|v_#length_4|, #valid=|v_#valid_6|} OutVars{ULTIMATE.start_#Ultimate.alloc_old_#valid=|v_ULTIMATE.start_#Ultimate.alloc_old_#valid_4|, #length=|v_#length_4|, ULTIMATE.start_#Ultimate.alloc_old_#length=|v_ULTIMATE.start_#Ultimate.alloc_old_#length_3|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_#Ultimate.alloc_old_#valid, ULTIMATE.start_#Ultimate.alloc_old_#length] 72#L1302-7true [253] L1302-7-->L1302-8: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 52#L1302-8true [234] L1302-8-->L1302-9: Formula: (= |v_ULTIMATE.start_#Ultimate.alloc_~size_3| 4) InVars {} OutVars{ULTIMATE.start_#Ultimate.alloc_~size=|v_ULTIMATE.start_#Ultimate.alloc_~size_3|} AuxVars[] AssignedVars[ULTIMATE.start_#Ultimate.alloc_~size] 53#L1302-9true [235] L1302-9-->L-1-12: Formula: true InVars {} OutVars{ULTIMATE.start_#Ultimate.alloc_#res.offset=|v_ULTIMATE.start_#Ultimate.alloc_#res.offset_4|, ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_7|} AuxVars[] AssignedVars[ULTIMATE.start_#Ultimate.alloc_#res.offset, ULTIMATE.start_#Ultimate.alloc_#res.base] 101#L-1-12true [283] L-1-12-->L-1-13: Formula: true InVars {} OutVars{#length=|v_#length_5|, #valid=|v_#valid_7|} AuxVars[] AssignedVars[#valid, #length] 100#L-1-13true [282] L-1-13-->L-1-14: Formula: (= 0 (select |v_ULTIMATE.start_#Ultimate.alloc_old_#valid_5| |v_ULTIMATE.start_#Ultimate.alloc_#res.base_8|)) InVars {ULTIMATE.start_#Ultimate.alloc_old_#valid=|v_ULTIMATE.start_#Ultimate.alloc_old_#valid_5|, ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_8|} OutVars{ULTIMATE.start_#Ultimate.alloc_old_#valid=|v_ULTIMATE.start_#Ultimate.alloc_old_#valid_5|, ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_8|} AuxVars[] AssignedVars[] 99#L-1-14true [281] L-1-14-->L-1-15: Formula: (= |v_#valid_8| (store |v_ULTIMATE.start_#Ultimate.alloc_old_#valid_6| |v_ULTIMATE.start_#Ultimate.alloc_#res.base_9| 1)) InVars {ULTIMATE.start_#Ultimate.alloc_old_#valid=|v_ULTIMATE.start_#Ultimate.alloc_old_#valid_6|, #valid=|v_#valid_8|, ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_9|} OutVars{ULTIMATE.start_#Ultimate.alloc_old_#valid=|v_ULTIMATE.start_#Ultimate.alloc_old_#valid_6|, #valid=|v_#valid_8|, ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_9|} AuxVars[] AssignedVars[] 98#L-1-15true [280] L-1-15-->L-1-16: Formula: (= |v_ULTIMATE.start_#Ultimate.alloc_#res.offset_5| 0) InVars {ULTIMATE.start_#Ultimate.alloc_#res.offset=|v_ULTIMATE.start_#Ultimate.alloc_#res.offset_5|} OutVars{ULTIMATE.start_#Ultimate.alloc_#res.offset=|v_ULTIMATE.start_#Ultimate.alloc_#res.offset_5|} AuxVars[] AssignedVars[] 95#L-1-16true [276] L-1-16-->L-1-17: Formula: (not (= 0 |v_ULTIMATE.start_#Ultimate.alloc_#res.base_10|)) InVars {ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_10|} OutVars{ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_10|} AuxVars[] AssignedVars[] 118#L-1-17true [299] L-1-17-->L1302-10: Formula: (= |v_#length_6| (store |v_ULTIMATE.start_#Ultimate.alloc_old_#length_4| |v_ULTIMATE.start_#Ultimate.alloc_#res.base_11| |v_ULTIMATE.start_#Ultimate.alloc_~size_4|)) InVars {#length=|v_#length_6|, ULTIMATE.start_#Ultimate.alloc_~size=|v_ULTIMATE.start_#Ultimate.alloc_~size_4|, ULTIMATE.start_#Ultimate.alloc_old_#length=|v_ULTIMATE.start_#Ultimate.alloc_old_#length_4|, ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_11|} OutVars{#length=|v_#length_6|, ULTIMATE.start_#Ultimate.alloc_~size=|v_ULTIMATE.start_#Ultimate.alloc_~size_4|, ULTIMATE.start_#Ultimate.alloc_old_#length=|v_ULTIMATE.start_#Ultimate.alloc_old_#length_4|, ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_11|} AuxVars[] AssignedVars[] 55#L1302-10true [237] L1302-10-->L1302-11: Formula: (and (= |v_ULTIMATE.start_start_~#t2~0.offset_2| |v_ULTIMATE.start_#Ultimate.alloc_#res.offset_6|) (= |v_ULTIMATE.start_start_~#t2~0.base_2| |v_ULTIMATE.start_#Ultimate.alloc_#res.base_12|)) InVars {ULTIMATE.start_#Ultimate.alloc_#res.offset=|v_ULTIMATE.start_#Ultimate.alloc_#res.offset_6|, ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_12|} OutVars{ULTIMATE.start_#Ultimate.alloc_#res.offset=|v_ULTIMATE.start_#Ultimate.alloc_#res.offset_6|, ULTIMATE.start_start_~#t2~0.offset=|v_ULTIMATE.start_start_~#t2~0.offset_2|, ULTIMATE.start_start_~#t2~0.base=|v_ULTIMATE.start_start_~#t2~0.base_2|, ULTIMATE.start_#Ultimate.alloc_#res.base=|v_ULTIMATE.start_#Ultimate.alloc_#res.base_12|} AuxVars[] AssignedVars[ULTIMATE.start_start_~#t2~0.offset, ULTIMATE.start_start_~#t2~0.base] 56#L1302-11true [238] L1302-11-->L1304: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 125#L1304true [350] L1304-->dec_aENTRY: Formula: (and (= |v_Thread0_dec_a_#in~arg.base_3| 0) (= 0 |v_Thread0_dec_a_#in~arg.offset_3|) (= v_Thread0_dec_a_thidvar1_2 |v_ULTIMATE.start_start_~#t1~0.offset_7|) (= v_Thread0_dec_a_thidvar0_2 |v_ULTIMATE.start_start_~#t1~0.base_7|) v_Thread0_dec_a_inUse_1) InVars {ULTIMATE.start_start_~#t1~0.offset=|v_ULTIMATE.start_start_~#t1~0.offset_7|, ULTIMATE.start_start_~#t1~0.base=|v_ULTIMATE.start_start_~#t1~0.base_7|} OutVars{ULTIMATE.start_start_~#t1~0.offset=|v_ULTIMATE.start_start_~#t1~0.offset_7|, Thread0_dec_a_#in~arg.offset=|v_Thread0_dec_a_#in~arg.offset_3|, ULTIMATE.start_start_~#t1~0.base=|v_ULTIMATE.start_start_~#t1~0.base_7|, Thread0_dec_a_#in~arg.base=|v_Thread0_dec_a_#in~arg.base_3|, Thread0_dec_a_inUse=v_Thread0_dec_a_inUse_1, Thread0_dec_a_thidvar1=v_Thread0_dec_a_thidvar1_2, Thread0_dec_a_thidvar0=v_Thread0_dec_a_thidvar0_2} AuxVars[] AssignedVars[Thread0_dec_a_#in~arg.offset, Thread0_dec_a_#in~arg.base, Thread0_dec_a_inUse, Thread0_dec_a_thidvar1, Thread0_dec_a_thidvar0] 24#dec_aENTRYtrue [326] dec_aENTRY-->L1277-3: Formula: (and (= v_dec_a_~arg.base_1 |v_Thread0_dec_a_#in~arg.base_1|) (= v_dec_a_~arg.offset_1 |v_Thread0_dec_a_#in~arg.offset_1|)) InVars {Thread0_dec_a_#in~arg.base=|v_Thread0_dec_a_#in~arg.base_1|, Thread0_dec_a_#in~arg.offset=|v_Thread0_dec_a_#in~arg.offset_1|} OutVars{dec_a_~arg.offset=v_dec_a_~arg.offset_1, dec_a_~arg.base=v_dec_a_~arg.base_1, Thread0_dec_a_#in~arg.base=|v_Thread0_dec_a_#in~arg.base_1|, Thread0_dec_a_#in~arg.offset=|v_Thread0_dec_a_#in~arg.offset_1|} AuxVars[] AssignedVars[dec_a_~arg.offset, dec_a_~arg.base] 17#L1277-3true [2018-10-27 06:08:42,084 INFO L795 eck$LassoCheckResult]: Loop: 17#L1277-3true [327] L1277-3-->L1277-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 15#L1277-1true [330] L1277-1-->L1279: Formula: (not (= (mod v_~a~0_3 4294967296) (mod v_~b~0_3 4294967296))) InVars {~a~0=v_~a~0_3, ~b~0=v_~b~0_3} OutVars{~a~0=v_~a~0_3, ~b~0=v_~b~0_3} AuxVars[] AssignedVars[] 57#L1279true [332] L1279-->L1263: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 119#L1263true [335] L1263-->L1261: Formula: (not (< (mod v_~b~0_1 4294967296) (mod v_~a~0_1 4294967296))) InVars {~a~0=v_~a~0_1, ~b~0=v_~b~0_1} OutVars{~a~0=v_~a~0_1, ~b~0=v_~b~0_1} AuxVars[] AssignedVars[] 4#L1261true [337] L1261-->L1277-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 17#L1277-3true [2018-10-27 06:08:42,089 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-10-27 06:08:42,089 INFO L82 PathProgramCache]: Analyzing trace with hash -1591328401, now seen corresponding path program 1 times [2018-10-27 06:08:42,091 INFO L225 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-10-27 06:08:42,091 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-10-27 06:08:42,144 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-10-27 06:08:42,145 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-10-27 06:08:42,145 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-10-27 06:08:42,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-10-27 06:08:42,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-10-27 06:08:42,228 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-10-27 06:08:42,228 INFO L82 PathProgramCache]: Analyzing trace with hash 340781322, now seen corresponding path program 1 times [2018-10-27 06:08:42,228 INFO L225 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-10-27 06:08:42,228 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-10-27 06:08:42,233 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-10-27 06:08:42,233 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-10-27 06:08:42,233 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-10-27 06:08:42,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-10-27 06:08:42,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-10-27 06:08:42,248 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-10-27 06:08:42,248 INFO L82 PathProgramCache]: Analyzing trace with hash -509649828, now seen corresponding path program 1 times [2018-10-27 06:08:42,248 INFO L225 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-10-27 06:08:42,249 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-10-27 06:08:42,259 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-10-27 06:08:42,260 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-10-27 06:08:42,261 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-10-27 06:08:42,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-10-27 06:08:42,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-10-27 06:08:42,984 WARN L179 SmtUtils]: Spent 576.00 ms on a formula simplification that was a NOOP. DAG size: 105 [2018-10-27 06:08:43,402 WARN L179 SmtUtils]: Spent 407.00 ms on a formula simplification that was a NOOP. DAG size: 75 [2018-10-27 06:08:43,425 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer has thrown an exception: java.lang.IllegalArgumentException: Location is null at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ResultService.reportResult(ResultService.java:79) at de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver.reportResult(BuchiAutomizerObserver.java:361) at de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver.reportNonTerminationResult(BuchiAutomizerObserver.java:205) at de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver.interpretAndReportResult(BuchiAutomizerObserver.java:268) at de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver.doTerminationAnalysis(BuchiAutomizerObserver.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver.finish(BuchiAutomizerObserver.java:384) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-10-27 06:08:43,427 INFO L168 Benchmark]: Toolchain (without parser) took 2835.45 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 192.4 MB). Free memory was 957.1 MB in the beginning and 1.1 GB in the end (delta: -109.9 MB). Peak memory consumption was 82.6 MB. Max. memory is 11.5 GB. [2018-10-27 06:08:43,428 INFO L168 Benchmark]: CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 985.3 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-10-27 06:08:43,429 INFO L168 Benchmark]: CACSL2BoogieTranslator took 433.39 ms. Allocated memory is still 1.0 GB. Free memory was 957.1 MB in the beginning and 919.5 MB in the end (delta: 37.6 MB). Peak memory consumption was 37.6 MB. Max. memory is 11.5 GB. [2018-10-27 06:08:43,429 INFO L168 Benchmark]: Boogie Procedure Inliner took 119.29 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 192.4 MB). Free memory was 919.5 MB in the beginning and 1.2 GB in the end (delta: -263.8 MB). Peak memory consumption was 17.1 MB. Max. memory is 11.5 GB. [2018-10-27 06:08:43,430 INFO L168 Benchmark]: Boogie Preprocessor took 25.64 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.2 MB). Peak memory consumption was 3.2 MB. Max. memory is 11.5 GB. [2018-10-27 06:08:43,430 INFO L168 Benchmark]: RCFGBuilder took 799.08 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 36.3 MB). Peak memory consumption was 36.3 MB. Max. memory is 11.5 GB. [2018-10-27 06:08:43,431 INFO L168 Benchmark]: BuchiAutomizer took 1454.53 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: 76.9 MB). Peak memory consumption was 76.9 MB. Max. memory is 11.5 GB. [2018-10-27 06:08:43,434 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.16 ms. Allocated memory is still 1.0 GB. Free memory is still 985.3 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 433.39 ms. Allocated memory is still 1.0 GB. Free memory was 957.1 MB in the beginning and 919.5 MB in the end (delta: 37.6 MB). Peak memory consumption was 37.6 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 119.29 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 192.4 MB). Free memory was 919.5 MB in the beginning and 1.2 GB in the end (delta: -263.8 MB). Peak memory consumption was 17.1 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 25.64 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.2 MB). Peak memory consumption was 3.2 MB. Max. memory is 11.5 GB. * RCFGBuilder took 799.08 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 36.3 MB). Peak memory consumption was 36.3 MB. Max. memory is 11.5 GB. * BuchiAutomizer took 1454.53 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: 76.9 MB). Peak memory consumption was 76.9 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Constructed decomposition of program Trivial decomposition into one nonterminating module. - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 1.4s and 1 iterations. TraceHistogramMax:1. Analysis of lassos took 1.3s. Construction of modules took 0.0s. Büchi inclusion checks took 0.0s. Highest rank in rank-based complementation 0. Minimization of det autom 0. Minimization of nondet autom 0. Automata minimization No data available. Non-live state removal took 0.0s Buchi closure took 0.0s. Biggest automaton had -1 states and ocurred in iteration -1. Nontrivial modules had stage [0, 0, 0, 0, 0]. InterpolantCoveringCapabilityFinite: 0/0 InterpolantCoveringCapabilityBuchi: 0/0 HoareTripleCheckerStatistics: No data available LassoAnalysisResults: nont1 unkn0 SFLI0 SFLT0 conc0 concLT0 SILN0 SILU0 SILI0 SILT0 lasso0 LassoPreprocessingBenchmarks: LassoTerminationAnalysisBenchmarks: not availableLassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 0 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 0 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.0s - TerminationAnalysisResult: Nontermination possible Buchi Automizer proved that your program is nonterminating for some inputs * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer: - ExceptionOrErrorResult: IllegalArgumentException: Location is null de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer: IllegalArgumentException: Location is null: de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ResultService.reportResult(ResultService.java:79) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...