./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/nla-digbench-scaling/prodbin-ll_valuebound20.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 5fbdf5bf Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/nla-digbench-scaling/prodbin-ll_valuebound20.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash b5eedf832cb5065e6c29260742fd63baf98430fe ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/nla-digbench-scaling/prodbin-ll_valuebound20.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash b5eedf832cb5065e6c29260742fd63baf98430fe ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: IllegalStateException: ManagedScript already locked by de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.IncrementalHoareTripleChecker@41d79343 --- Real Ultimate output --- This is Ultimate 0.2.1-wip.dd.seqcomp-5fbdf5b [2021-09-13 14:41:36,971 INFO L177 SettingsManager]: Resetting all preferences to default values... [2021-09-13 14:41:36,973 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2021-09-13 14:41:37,009 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2021-09-13 14:41:37,009 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2021-09-13 14:41:37,013 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2021-09-13 14:41:37,014 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2021-09-13 14:41:37,019 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2021-09-13 14:41:37,021 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2021-09-13 14:41:37,024 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2021-09-13 14:41:37,025 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2021-09-13 14:41:37,029 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2021-09-13 14:41:37,029 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2021-09-13 14:41:37,031 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2021-09-13 14:41:37,033 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2021-09-13 14:41:37,036 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2021-09-13 14:41:37,036 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2021-09-13 14:41:37,037 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2021-09-13 14:41:37,039 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2021-09-13 14:41:37,044 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2021-09-13 14:41:37,046 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2021-09-13 14:41:37,049 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2021-09-13 14:41:37,051 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2021-09-13 14:41:37,052 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2021-09-13 14:41:37,058 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2021-09-13 14:41:37,058 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2021-09-13 14:41:37,058 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2021-09-13 14:41:37,060 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2021-09-13 14:41:37,060 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2021-09-13 14:41:37,061 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2021-09-13 14:41:37,061 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2021-09-13 14:41:37,062 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2021-09-13 14:41:37,063 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2021-09-13 14:41:37,064 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2021-09-13 14:41:37,065 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2021-09-13 14:41:37,065 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2021-09-13 14:41:37,066 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2021-09-13 14:41:37,066 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2021-09-13 14:41:37,066 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2021-09-13 14:41:37,068 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2021-09-13 14:41:37,068 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2021-09-13 14:41:37,072 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2021-09-13 14:41:37,108 INFO L113 SettingsManager]: Loading preferences was successful [2021-09-13 14:41:37,108 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2021-09-13 14:41:37,109 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2021-09-13 14:41:37,110 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2021-09-13 14:41:37,112 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2021-09-13 14:41:37,112 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2021-09-13 14:41:37,112 INFO L138 SettingsManager]: * Use SBE=true [2021-09-13 14:41:37,112 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2021-09-13 14:41:37,113 INFO L138 SettingsManager]: * sizeof long=4 [2021-09-13 14:41:37,113 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2021-09-13 14:41:37,114 INFO L138 SettingsManager]: * sizeof POINTER=4 [2021-09-13 14:41:37,114 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2021-09-13 14:41:37,114 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2021-09-13 14:41:37,114 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2021-09-13 14:41:37,114 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2021-09-13 14:41:37,115 INFO L138 SettingsManager]: * sizeof long double=12 [2021-09-13 14:41:37,115 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2021-09-13 14:41:37,115 INFO L138 SettingsManager]: * Use constant arrays=true [2021-09-13 14:41:37,115 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2021-09-13 14:41:37,115 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2021-09-13 14:41:37,115 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2021-09-13 14:41:37,116 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2021-09-13 14:41:37,116 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2021-09-13 14:41:37,116 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2021-09-13 14:41:37,116 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2021-09-13 14:41:37,116 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2021-09-13 14:41:37,117 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2021-09-13 14:41:37,117 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2021-09-13 14:41:37,117 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2021-09-13 14:41:37,117 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2021-09-13 14:41:37,117 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release 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 -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux 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(reach_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 -> b5eedf832cb5065e6c29260742fd63baf98430fe [2021-09-13 14:41:37,404 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2021-09-13 14:41:37,421 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2021-09-13 14:41:37,431 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2021-09-13 14:41:37,432 INFO L271 PluginConnector]: Initializing CDTParser... [2021-09-13 14:41:37,433 INFO L275 PluginConnector]: CDTParser initialized [2021-09-13 14:41:37,434 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/nla-digbench-scaling/prodbin-ll_valuebound20.c [2021-09-13 14:41:37,481 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0eae35f82/3115d505e45c4486ad579137187e87c1/FLAG66c81b509 [2021-09-13 14:41:37,891 INFO L306 CDTParser]: Found 1 translation units. [2021-09-13 14:41:37,891 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/prodbin-ll_valuebound20.c [2021-09-13 14:41:37,897 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0eae35f82/3115d505e45c4486ad579137187e87c1/FLAG66c81b509 [2021-09-13 14:41:37,914 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0eae35f82/3115d505e45c4486ad579137187e87c1 [2021-09-13 14:41:37,916 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2021-09-13 14:41:37,918 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2021-09-13 14:41:37,920 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2021-09-13 14:41:37,921 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2021-09-13 14:41:37,924 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2021-09-13 14:41:37,925 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.09 02:41:37" (1/1) ... [2021-09-13 14:41:37,926 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1771a6dc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:41:37, skipping insertion in model container [2021-09-13 14:41:37,926 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.09 02:41:37" (1/1) ... [2021-09-13 14:41:37,932 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2021-09-13 14:41:37,947 INFO L178 MainTranslator]: Built tables and reachable declarations [2021-09-13 14:41:38,094 WARN L228 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/prodbin-ll_valuebound20.c[537,550] [2021-09-13 14:41:38,110 INFO L206 PostProcessor]: Analyzing one entry point: main [2021-09-13 14:41:38,118 INFO L203 MainTranslator]: Completed pre-run [2021-09-13 14:41:38,132 WARN L228 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/prodbin-ll_valuebound20.c[537,550] [2021-09-13 14:41:38,143 INFO L206 PostProcessor]: Analyzing one entry point: main [2021-09-13 14:41:38,167 INFO L208 MainTranslator]: Completed translation [2021-09-13 14:41:38,168 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:41:38 WrapperNode [2021-09-13 14:41:38,170 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2021-09-13 14:41:38,171 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2021-09-13 14:41:38,171 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2021-09-13 14:41:38,171 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2021-09-13 14:41:38,177 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:41:38" (1/1) ... [2021-09-13 14:41:38,183 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:41:38" (1/1) ... [2021-09-13 14:41:38,214 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2021-09-13 14:41:38,215 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2021-09-13 14:41:38,215 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2021-09-13 14:41:38,215 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2021-09-13 14:41:38,220 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:41:38" (1/1) ... [2021-09-13 14:41:38,220 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:41:38" (1/1) ... [2021-09-13 14:41:38,224 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:41:38" (1/1) ... [2021-09-13 14:41:38,229 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:41:38" (1/1) ... [2021-09-13 14:41:38,233 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:41:38" (1/1) ... [2021-09-13 14:41:38,237 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:41:38" (1/1) ... [2021-09-13 14:41:38,242 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:41:38" (1/1) ... [2021-09-13 14:41:38,244 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2021-09-13 14:41:38,250 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2021-09-13 14:41:38,251 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2021-09-13 14:41:38,251 INFO L275 PluginConnector]: RCFGBuilder initialized [2021-09-13 14:41:38,251 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:41:38" (1/1) ... [2021-09-13 14:41:38,257 INFO L170 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2021-09-13 14:41:38,265 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 14:41:38,275 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2021-09-13 14:41:38,288 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2021-09-13 14:41:38,308 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2021-09-13 14:41:38,309 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2021-09-13 14:41:38,309 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2021-09-13 14:41:38,309 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2021-09-13 14:41:38,550 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2021-09-13 14:41:38,556 INFO L299 CfgBuilder]: Removed 15 assume(true) statements. [2021-09-13 14:41:38,558 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 13.09 02:41:38 BoogieIcfgContainer [2021-09-13 14:41:38,558 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2021-09-13 14:41:38,560 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2021-09-13 14:41:38,560 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2021-09-13 14:41:38,562 INFO L275 PluginConnector]: TraceAbstraction initialized [2021-09-13 14:41:38,562 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 13.09 02:41:37" (1/3) ... [2021-09-13 14:41:38,563 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@51d439ab and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 13.09 02:41:38, skipping insertion in model container [2021-09-13 14:41:38,563 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:41:38" (2/3) ... [2021-09-13 14:41:38,563 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@51d439ab and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 13.09 02:41:38, skipping insertion in model container [2021-09-13 14:41:38,563 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 13.09 02:41:38" (3/3) ... [2021-09-13 14:41:38,564 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound20.c [2021-09-13 14:41:38,568 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2021-09-13 14:41:38,568 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 2 error locations. [2021-09-13 14:41:38,650 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2021-09-13 14:41:38,656 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2021-09-13 14:41:38,656 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2021-09-13 14:41:38,668 INFO L276 IsEmpty]: Start isEmpty. Operand has 23 states, 20 states have (on average 1.55) internal successors, (31), 22 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:38,671 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2021-09-13 14:41:38,671 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 14:41:38,672 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 14:41:38,672 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2021-09-13 14:41:38,676 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 14:41:38,677 INFO L82 PathProgramCache]: Analyzing trace with hash 330581779, now seen corresponding path program 1 times [2021-09-13 14:41:38,684 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 14:41:38,684 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1999560831] [2021-09-13 14:41:38,685 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 14:41:38,685 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 14:41:38,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:41:38,839 INFO L281 TraceCheckUtils]: 0: Hoare triple {26#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call #t~string4.base, #t~string4.offset := #Ultimate.allocOnStack(2);call write~init~int(48, #t~string4.base, #t~string4.offset, 1);call write~init~int(0, #t~string4.base, 1 + #t~string4.offset, 1);call #t~string5.base, #t~string5.offset := #Ultimate.allocOnStack(13);call #t~string6.base, #t~string6.offset := #Ultimate.allocOnStack(12); {26#true} is VALID [2021-09-13 14:41:38,839 INFO L281 TraceCheckUtils]: 1: Hoare triple {26#true} havoc main_#res;havoc main_#t~nondet7, main_#t~nondet8, main_~a~0, main_~b~0, main_~x~0, main_~y~0, main_~z~0;havoc main_~a~0;havoc main_~b~0;havoc main_~x~0;havoc main_~y~0;havoc main_~z~0;assume -2147483648 <= main_#t~nondet7 && main_#t~nondet7 <= 2147483647;main_~a~0 := main_#t~nondet7;havoc main_#t~nondet7;assume_abort_if_not_#in~cond := (if main_~a~0 >= 0 && main_~a~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {26#true} is VALID [2021-09-13 14:41:38,840 INFO L281 TraceCheckUtils]: 2: Hoare triple {26#true} assume 0 == assume_abort_if_not_~cond;assume false; {27#false} is VALID [2021-09-13 14:41:38,841 INFO L281 TraceCheckUtils]: 3: Hoare triple {27#false} assume -2147483648 <= main_#t~nondet8 && main_#t~nondet8 <= 2147483647;main_~b~0 := main_#t~nondet8;havoc main_#t~nondet8;assume_abort_if_not_#in~cond := (if main_~b~0 >= 0 && main_~b~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {27#false} is VALID [2021-09-13 14:41:38,841 INFO L281 TraceCheckUtils]: 4: Hoare triple {27#false} assume 0 == assume_abort_if_not_~cond;assume false; {27#false} is VALID [2021-09-13 14:41:38,842 INFO L281 TraceCheckUtils]: 5: Hoare triple {27#false} assume_abort_if_not_#in~cond := (if main_~b~0 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {27#false} is VALID [2021-09-13 14:41:38,842 INFO L281 TraceCheckUtils]: 6: Hoare triple {27#false} assume 0 == assume_abort_if_not_~cond;assume false; {27#false} is VALID [2021-09-13 14:41:38,842 INFO L281 TraceCheckUtils]: 7: Hoare triple {27#false} main_~x~0 := main_~a~0;main_~y~0 := main_~b~0;main_~z~0 := 0; {27#false} is VALID [2021-09-13 14:41:38,842 INFO L281 TraceCheckUtils]: 8: Hoare triple {27#false} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {27#false} is VALID [2021-09-13 14:41:38,843 INFO L281 TraceCheckUtils]: 9: Hoare triple {27#false} assume 0 == __VERIFIER_assert_~cond; {27#false} is VALID [2021-09-13 14:41:38,843 INFO L281 TraceCheckUtils]: 10: Hoare triple {27#false} assume !false; {27#false} is VALID [2021-09-13 14:41:38,844 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 14:41:38,844 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 14:41:38,845 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1999560831] [2021-09-13 14:41:38,845 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1999560831] provided 1 perfect and 0 imperfect interpolant sequences [2021-09-13 14:41:38,845 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-09-13 14:41:38,846 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2021-09-13 14:41:38,847 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1840237917] [2021-09-13 14:41:38,853 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2021-09-13 14:41:38,855 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 14:41:38,858 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:38,892 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 14:41:38,893 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2021-09-13 14:41:38,893 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 14:41:38,915 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2021-09-13 14:41:38,916 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2021-09-13 14:41:38,919 INFO L87 Difference]: Start difference. First operand has 23 states, 20 states have (on average 1.55) internal successors, (31), 22 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:39,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:41:39,002 INFO L93 Difference]: Finished difference Result 43 states and 58 transitions. [2021-09-13 14:41:39,003 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2021-09-13 14:41:39,004 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2021-09-13 14:41:39,004 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 14:41:39,005 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:39,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 58 transitions. [2021-09-13 14:41:39,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:39,018 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 58 transitions. [2021-09-13 14:41:39,019 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 58 transitions. [2021-09-13 14:41:39,080 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 14:41:39,089 INFO L225 Difference]: With dead ends: 43 [2021-09-13 14:41:39,090 INFO L226 Difference]: Without dead ends: 19 [2021-09-13 14:41:39,092 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.04ms TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2021-09-13 14:41:39,096 INFO L928 BasicCegarLoop]: 0 mSDtfsCounter, 0 mSDsluCounter, 24 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 28.69ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 0 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.41ms SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 30.16ms IncrementalHoareTripleChecker+Time [2021-09-13 14:41:39,097 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 0 Invalid, 24 Unknown, 0 Unchecked, 0.41ms Time], IncrementalHoareTripleChecker [0 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 30.16ms Time] [2021-09-13 14:41:39,109 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19 states. [2021-09-13 14:41:39,121 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19 to 19. [2021-09-13 14:41:39,121 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 14:41:39,122 INFO L82 GeneralOperation]: Start isEquivalent. First operand 19 states. Second operand has 19 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:39,122 INFO L74 IsIncluded]: Start isIncluded. First operand 19 states. Second operand has 19 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:39,123 INFO L87 Difference]: Start difference. First operand 19 states. Second operand has 19 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:39,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:41:39,127 INFO L93 Difference]: Finished difference Result 19 states and 20 transitions. [2021-09-13 14:41:39,127 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2021-09-13 14:41:39,127 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:41:39,127 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:41:39,128 INFO L74 IsIncluded]: Start isIncluded. First operand has 19 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 19 states. [2021-09-13 14:41:39,128 INFO L87 Difference]: Start difference. First operand has 19 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 19 states. [2021-09-13 14:41:39,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:41:39,130 INFO L93 Difference]: Finished difference Result 19 states and 20 transitions. [2021-09-13 14:41:39,130 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2021-09-13 14:41:39,131 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:41:39,131 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:41:39,131 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 14:41:39,132 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 14:41:39,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:39,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 20 transitions. [2021-09-13 14:41:39,135 INFO L78 Accepts]: Start accepts. Automaton has 19 states and 20 transitions. Word has length 11 [2021-09-13 14:41:39,135 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 14:41:39,135 INFO L470 AbstractCegarLoop]: Abstraction has 19 states and 20 transitions. [2021-09-13 14:41:39,137 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:39,137 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2021-09-13 14:41:39,138 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2021-09-13 14:41:39,138 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 14:41:39,138 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 14:41:39,138 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2021-09-13 14:41:39,139 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2021-09-13 14:41:39,141 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 14:41:39,141 INFO L82 PathProgramCache]: Analyzing trace with hash -1507472743, now seen corresponding path program 1 times [2021-09-13 14:41:39,141 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 14:41:39,142 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [532408304] [2021-09-13 14:41:39,142 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 14:41:39,142 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 14:41:39,173 ERROR L247 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2021-09-13 14:41:39,178 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1634478616] [2021-09-13 14:41:39,178 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 14:41:39,178 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 14:41:39,179 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 14:41:39,181 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2021-09-13 14:41:39,183 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2021-09-13 14:41:39,238 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:41:39,240 INFO L263 TraceCheckSpWp]: Trace formula consists of 67 conjuncts, 9 conjunts are in the unsatisfiable core [2021-09-13 14:41:39,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:41:39,252 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 14:41:39,425 INFO L281 TraceCheckUtils]: 0: Hoare triple {140#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call #t~string4.base, #t~string4.offset := #Ultimate.allocOnStack(2);call write~init~int(48, #t~string4.base, #t~string4.offset, 1);call write~init~int(0, #t~string4.base, 1 + #t~string4.offset, 1);call #t~string5.base, #t~string5.offset := #Ultimate.allocOnStack(13);call #t~string6.base, #t~string6.offset := #Ultimate.allocOnStack(12); {140#true} is VALID [2021-09-13 14:41:39,426 INFO L281 TraceCheckUtils]: 1: Hoare triple {140#true} havoc main_#res;havoc main_#t~nondet7, main_#t~nondet8, main_~a~0, main_~b~0, main_~x~0, main_~y~0, main_~z~0;havoc main_~a~0;havoc main_~b~0;havoc main_~x~0;havoc main_~y~0;havoc main_~z~0;assume -2147483648 <= main_#t~nondet7 && main_#t~nondet7 <= 2147483647;main_~a~0 := main_#t~nondet7;havoc main_#t~nondet7;assume_abort_if_not_#in~cond := (if main_~a~0 >= 0 && main_~a~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {140#true} is VALID [2021-09-13 14:41:39,426 INFO L281 TraceCheckUtils]: 2: Hoare triple {140#true} assume !(0 == assume_abort_if_not_~cond); {140#true} is VALID [2021-09-13 14:41:39,426 INFO L281 TraceCheckUtils]: 3: Hoare triple {140#true} assume -2147483648 <= main_#t~nondet8 && main_#t~nondet8 <= 2147483647;main_~b~0 := main_#t~nondet8;havoc main_#t~nondet8;assume_abort_if_not_#in~cond := (if main_~b~0 >= 0 && main_~b~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {140#true} is VALID [2021-09-13 14:41:39,427 INFO L281 TraceCheckUtils]: 4: Hoare triple {140#true} assume !(0 == assume_abort_if_not_~cond); {140#true} is VALID [2021-09-13 14:41:39,427 INFO L281 TraceCheckUtils]: 5: Hoare triple {140#true} assume_abort_if_not_#in~cond := (if main_~b~0 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {140#true} is VALID [2021-09-13 14:41:39,427 INFO L281 TraceCheckUtils]: 6: Hoare triple {140#true} assume !(0 == assume_abort_if_not_~cond); {140#true} is VALID [2021-09-13 14:41:39,428 INFO L281 TraceCheckUtils]: 7: Hoare triple {140#true} main_~x~0 := main_~a~0;main_~y~0 := main_~b~0;main_~z~0 := 0; {166#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} is VALID [2021-09-13 14:41:39,428 INFO L281 TraceCheckUtils]: 8: Hoare triple {166#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {170#(<= 1 ULTIMATE.start___VERIFIER_assert_~cond)} is VALID [2021-09-13 14:41:39,429 INFO L281 TraceCheckUtils]: 9: Hoare triple {170#(<= 1 ULTIMATE.start___VERIFIER_assert_~cond)} assume 0 == __VERIFIER_assert_~cond; {141#false} is VALID [2021-09-13 14:41:39,429 INFO L281 TraceCheckUtils]: 10: Hoare triple {141#false} assume !false; {141#false} is VALID [2021-09-13 14:41:39,430 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 14:41:39,430 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2021-09-13 14:41:39,430 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 14:41:39,430 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [532408304] [2021-09-13 14:41:39,430 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unknown [2021-09-13 14:41:39,431 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1634478616] [2021-09-13 14:41:39,431 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1634478616] provided 1 perfect and 0 imperfect interpolant sequences [2021-09-13 14:41:39,431 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-09-13 14:41:39,431 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2021-09-13 14:41:39,431 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [111305275] [2021-09-13 14:41:39,437 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2021-09-13 14:41:39,437 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 14:41:39,438 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:39,450 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 14:41:39,451 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2021-09-13 14:41:39,451 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 14:41:39,451 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2021-09-13 14:41:39,451 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2021-09-13 14:41:39,452 INFO L87 Difference]: Start difference. First operand 19 states and 20 transitions. Second operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:39,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:41:39,592 INFO L93 Difference]: Finished difference Result 32 states and 34 transitions. [2021-09-13 14:41:39,592 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2021-09-13 14:41:39,593 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2021-09-13 14:41:39,593 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 14:41:39,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:39,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 34 transitions. [2021-09-13 14:41:39,595 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:39,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 34 transitions. [2021-09-13 14:41:39,596 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 34 transitions. [2021-09-13 14:41:39,625 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 14:41:39,627 INFO L225 Difference]: With dead ends: 32 [2021-09-13 14:41:39,628 INFO L226 Difference]: Without dead ends: 30 [2021-09-13 14:41:39,629 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 31.59ms TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2021-09-13 14:41:39,630 INFO L928 BasicCegarLoop]: 0 mSDtfsCounter, 12 mSDsluCounter, 38 mSDsCounter, 0 mSdLazyCounter, 62 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 51.09ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 0 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 1.83ms SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 62 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 55.30ms IncrementalHoareTripleChecker+Time [2021-09-13 14:41:39,631 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 0 Invalid, 64 Unknown, 0 Unchecked, 1.83ms Time], IncrementalHoareTripleChecker [2 Valid, 62 Invalid, 0 Unknown, 0 Unchecked, 55.30ms Time] [2021-09-13 14:41:39,633 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2021-09-13 14:41:39,640 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 21. [2021-09-13 14:41:39,641 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 14:41:39,641 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand has 21 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:39,641 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand has 21 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:39,642 INFO L87 Difference]: Start difference. First operand 30 states. Second operand has 21 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:39,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:41:39,645 INFO L93 Difference]: Finished difference Result 30 states and 32 transitions. [2021-09-13 14:41:39,645 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 32 transitions. [2021-09-13 14:41:39,646 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:41:39,646 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:41:39,648 INFO L74 IsIncluded]: Start isIncluded. First operand has 21 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 30 states. [2021-09-13 14:41:39,648 INFO L87 Difference]: Start difference. First operand has 21 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 30 states. [2021-09-13 14:41:39,650 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:41:39,650 INFO L93 Difference]: Finished difference Result 30 states and 32 transitions. [2021-09-13 14:41:39,651 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 32 transitions. [2021-09-13 14:41:39,651 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:41:39,651 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:41:39,651 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 14:41:39,651 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 14:41:39,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:39,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 22 transitions. [2021-09-13 14:41:39,653 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 22 transitions. Word has length 11 [2021-09-13 14:41:39,653 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 14:41:39,653 INFO L470 AbstractCegarLoop]: Abstraction has 21 states and 22 transitions. [2021-09-13 14:41:39,654 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:39,654 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2021-09-13 14:41:39,654 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2021-09-13 14:41:39,654 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 14:41:39,655 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 14:41:39,682 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2021-09-13 14:41:39,876 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 14:41:39,877 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2021-09-13 14:41:39,877 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 14:41:39,877 INFO L82 PathProgramCache]: Analyzing trace with hash -937526112, now seen corresponding path program 1 times [2021-09-13 14:41:39,878 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 14:41:39,878 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2005070592] [2021-09-13 14:41:39,878 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 14:41:39,878 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 14:41:39,887 ERROR L247 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2021-09-13 14:41:39,887 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2052440819] [2021-09-13 14:41:39,887 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 14:41:39,887 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 14:41:39,888 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 14:41:39,888 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2021-09-13 14:41:39,900 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2021-09-13 14:41:39,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:41:39,936 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 7 conjunts are in the unsatisfiable core [2021-09-13 14:41:39,944 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:41:39,944 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 14:41:40,125 INFO L281 TraceCheckUtils]: 0: Hoare triple {299#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call #t~string4.base, #t~string4.offset := #Ultimate.allocOnStack(2);call write~init~int(48, #t~string4.base, #t~string4.offset, 1);call write~init~int(0, #t~string4.base, 1 + #t~string4.offset, 1);call #t~string5.base, #t~string5.offset := #Ultimate.allocOnStack(13);call #t~string6.base, #t~string6.offset := #Ultimate.allocOnStack(12); {299#true} is VALID [2021-09-13 14:41:40,125 INFO L281 TraceCheckUtils]: 1: Hoare triple {299#true} havoc main_#res;havoc main_#t~nondet7, main_#t~nondet8, main_~a~0, main_~b~0, main_~x~0, main_~y~0, main_~z~0;havoc main_~a~0;havoc main_~b~0;havoc main_~x~0;havoc main_~y~0;havoc main_~z~0;assume -2147483648 <= main_#t~nondet7 && main_#t~nondet7 <= 2147483647;main_~a~0 := main_#t~nondet7;havoc main_#t~nondet7;assume_abort_if_not_#in~cond := (if main_~a~0 >= 0 && main_~a~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {299#true} is VALID [2021-09-13 14:41:40,126 INFO L281 TraceCheckUtils]: 2: Hoare triple {299#true} assume !(0 == assume_abort_if_not_~cond); {299#true} is VALID [2021-09-13 14:41:40,126 INFO L281 TraceCheckUtils]: 3: Hoare triple {299#true} assume -2147483648 <= main_#t~nondet8 && main_#t~nondet8 <= 2147483647;main_~b~0 := main_#t~nondet8;havoc main_#t~nondet8;assume_abort_if_not_#in~cond := (if main_~b~0 >= 0 && main_~b~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {299#true} is VALID [2021-09-13 14:41:40,126 INFO L281 TraceCheckUtils]: 4: Hoare triple {299#true} assume !(0 == assume_abort_if_not_~cond); {299#true} is VALID [2021-09-13 14:41:40,127 INFO L281 TraceCheckUtils]: 5: Hoare triple {299#true} assume_abort_if_not_#in~cond := (if main_~b~0 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {319#(or (and (= ULTIMATE.start_assume_abort_if_not_~cond 1) (<= 1 ULTIMATE.start_main_~b~0)) (and (= ULTIMATE.start_assume_abort_if_not_~cond 0) (< ULTIMATE.start_main_~b~0 1)))} is VALID [2021-09-13 14:41:40,128 INFO L281 TraceCheckUtils]: 6: Hoare triple {319#(or (and (= ULTIMATE.start_assume_abort_if_not_~cond 1) (<= 1 ULTIMATE.start_main_~b~0)) (and (= ULTIMATE.start_assume_abort_if_not_~cond 0) (< ULTIMATE.start_main_~b~0 1)))} assume !(0 == assume_abort_if_not_~cond); {323#(<= 1 ULTIMATE.start_main_~b~0)} is VALID [2021-09-13 14:41:40,128 INFO L281 TraceCheckUtils]: 7: Hoare triple {323#(<= 1 ULTIMATE.start_main_~b~0)} main_~x~0 := main_~a~0;main_~y~0 := main_~b~0;main_~z~0 := 0; {327#(<= 1 ULTIMATE.start_main_~y~0)} is VALID [2021-09-13 14:41:40,129 INFO L281 TraceCheckUtils]: 8: Hoare triple {327#(<= 1 ULTIMATE.start_main_~y~0)} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {327#(<= 1 ULTIMATE.start_main_~y~0)} is VALID [2021-09-13 14:41:40,130 INFO L281 TraceCheckUtils]: 9: Hoare triple {327#(<= 1 ULTIMATE.start_main_~y~0)} assume !(0 == __VERIFIER_assert_~cond); {327#(<= 1 ULTIMATE.start_main_~y~0)} is VALID [2021-09-13 14:41:40,130 INFO L281 TraceCheckUtils]: 10: Hoare triple {327#(<= 1 ULTIMATE.start_main_~y~0)} assume !(0 != main_~y~0); {300#false} is VALID [2021-09-13 14:41:40,130 INFO L281 TraceCheckUtils]: 11: Hoare triple {300#false} __VERIFIER_assert_#in~cond := (if main_~z~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {300#false} is VALID [2021-09-13 14:41:40,131 INFO L281 TraceCheckUtils]: 12: Hoare triple {300#false} assume 0 == __VERIFIER_assert_~cond; {300#false} is VALID [2021-09-13 14:41:40,131 INFO L281 TraceCheckUtils]: 13: Hoare triple {300#false} assume !false; {300#false} is VALID [2021-09-13 14:41:40,131 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 14:41:40,131 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2021-09-13 14:41:40,132 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 14:41:40,134 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2005070592] [2021-09-13 14:41:40,134 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unknown [2021-09-13 14:41:40,135 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2052440819] [2021-09-13 14:41:40,135 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2052440819] provided 1 perfect and 0 imperfect interpolant sequences [2021-09-13 14:41:40,135 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-09-13 14:41:40,135 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2021-09-13 14:41:40,136 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1596521837] [2021-09-13 14:41:40,136 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 5 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 14 [2021-09-13 14:41:40,136 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 14:41:40,137 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 5 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:40,151 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 14:41:40,152 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2021-09-13 14:41:40,152 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 14:41:40,153 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2021-09-13 14:41:40,153 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2021-09-13 14:41:40,153 INFO L87 Difference]: Start difference. First operand 21 states and 22 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 5 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:40,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:41:40,312 INFO L93 Difference]: Finished difference Result 28 states and 30 transitions. [2021-09-13 14:41:40,312 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2021-09-13 14:41:40,317 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 5 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 14 [2021-09-13 14:41:40,318 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 14:41:40,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 5 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:40,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 30 transitions. [2021-09-13 14:41:40,323 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 5 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:40,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 30 transitions. [2021-09-13 14:41:40,324 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 30 transitions. [2021-09-13 14:41:40,349 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 14:41:40,351 INFO L225 Difference]: With dead ends: 28 [2021-09-13 14:41:40,352 INFO L226 Difference]: Without dead ends: 24 [2021-09-13 14:41:40,352 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 54.63ms TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2021-09-13 14:41:40,354 INFO L928 BasicCegarLoop]: 0 mSDtfsCounter, 37 mSDsluCounter, 27 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 44.17ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 0 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 1.89ms SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 51.60ms IncrementalHoareTripleChecker+Time [2021-09-13 14:41:40,355 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 0 Invalid, 54 Unknown, 0 Unchecked, 1.89ms Time], IncrementalHoareTripleChecker [2 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 51.60ms Time] [2021-09-13 14:41:40,357 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2021-09-13 14:41:40,365 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 22. [2021-09-13 14:41:40,366 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 14:41:40,366 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand has 22 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:40,367 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand has 22 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:40,367 INFO L87 Difference]: Start difference. First operand 24 states. Second operand has 22 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:40,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:41:40,370 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2021-09-13 14:41:40,370 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2021-09-13 14:41:40,371 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:41:40,371 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:41:40,371 INFO L74 IsIncluded]: Start isIncluded. First operand has 22 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 24 states. [2021-09-13 14:41:40,371 INFO L87 Difference]: Start difference. First operand has 22 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 24 states. [2021-09-13 14:41:40,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:41:40,376 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2021-09-13 14:41:40,379 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2021-09-13 14:41:40,379 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:41:40,379 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:41:40,380 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 14:41:40,380 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 14:41:40,380 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:40,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 23 transitions. [2021-09-13 14:41:40,381 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 23 transitions. Word has length 14 [2021-09-13 14:41:40,381 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 14:41:40,381 INFO L470 AbstractCegarLoop]: Abstraction has 22 states and 23 transitions. [2021-09-13 14:41:40,382 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 5 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:41:40,382 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 23 transitions. [2021-09-13 14:41:40,383 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2021-09-13 14:41:40,383 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 14:41:40,383 INFO L513 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 14:41:40,406 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2021-09-13 14:41:40,596 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2021-09-13 14:41:40,596 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2021-09-13 14:41:40,597 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 14:41:40,597 INFO L82 PathProgramCache]: Analyzing trace with hash 1030171456, now seen corresponding path program 1 times [2021-09-13 14:41:40,597 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 14:41:40,597 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1567207849] [2021-09-13 14:41:40,597 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 14:41:40,597 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 14:41:40,615 ERROR L247 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2021-09-13 14:41:40,616 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1853794276] [2021-09-13 14:41:40,616 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 14:41:40,616 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 14:41:40,616 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 14:41:40,618 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2021-09-13 14:41:40,622 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2021-09-13 14:41:40,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:41:40,678 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 23 conjunts are in the unsatisfiable core [2021-09-13 14:41:40,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:41:40,691 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 14:41:42,050 INFO L281 TraceCheckUtils]: 0: Hoare triple {455#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call #t~string4.base, #t~string4.offset := #Ultimate.allocOnStack(2);call write~init~int(48, #t~string4.base, #t~string4.offset, 1);call write~init~int(0, #t~string4.base, 1 + #t~string4.offset, 1);call #t~string5.base, #t~string5.offset := #Ultimate.allocOnStack(13);call #t~string6.base, #t~string6.offset := #Ultimate.allocOnStack(12); {455#true} is VALID [2021-09-13 14:41:42,051 INFO L281 TraceCheckUtils]: 1: Hoare triple {455#true} havoc main_#res;havoc main_#t~nondet7, main_#t~nondet8, main_~a~0, main_~b~0, main_~x~0, main_~y~0, main_~z~0;havoc main_~a~0;havoc main_~b~0;havoc main_~x~0;havoc main_~y~0;havoc main_~z~0;assume -2147483648 <= main_#t~nondet7 && main_#t~nondet7 <= 2147483647;main_~a~0 := main_#t~nondet7;havoc main_#t~nondet7;assume_abort_if_not_#in~cond := (if main_~a~0 >= 0 && main_~a~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {455#true} is VALID [2021-09-13 14:41:42,051 INFO L281 TraceCheckUtils]: 2: Hoare triple {455#true} assume !(0 == assume_abort_if_not_~cond); {455#true} is VALID [2021-09-13 14:41:42,051 INFO L281 TraceCheckUtils]: 3: Hoare triple {455#true} assume -2147483648 <= main_#t~nondet8 && main_#t~nondet8 <= 2147483647;main_~b~0 := main_#t~nondet8;havoc main_#t~nondet8;assume_abort_if_not_#in~cond := (if main_~b~0 >= 0 && main_~b~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {455#true} is VALID [2021-09-13 14:41:42,051 INFO L281 TraceCheckUtils]: 4: Hoare triple {455#true} assume !(0 == assume_abort_if_not_~cond); {455#true} is VALID [2021-09-13 14:41:42,052 INFO L281 TraceCheckUtils]: 5: Hoare triple {455#true} assume_abort_if_not_#in~cond := (if main_~b~0 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {455#true} is VALID [2021-09-13 14:41:42,052 INFO L281 TraceCheckUtils]: 6: Hoare triple {455#true} assume !(0 == assume_abort_if_not_~cond); {455#true} is VALID [2021-09-13 14:41:42,052 INFO L281 TraceCheckUtils]: 7: Hoare triple {455#true} main_~x~0 := main_~a~0;main_~y~0 := main_~b~0;main_~z~0 := 0; {481#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} is VALID [2021-09-13 14:41:42,053 INFO L281 TraceCheckUtils]: 8: Hoare triple {481#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {481#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} is VALID [2021-09-13 14:41:42,054 INFO L281 TraceCheckUtils]: 9: Hoare triple {481#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} assume !(0 == __VERIFIER_assert_~cond); {481#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} is VALID [2021-09-13 14:41:42,054 INFO L281 TraceCheckUtils]: 10: Hoare triple {481#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} assume !!(0 != main_~y~0); {491#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (not (= ULTIMATE.start_main_~y~0 0)) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} is VALID [2021-09-13 14:41:42,055 INFO L281 TraceCheckUtils]: 11: Hoare triple {491#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (not (= ULTIMATE.start_main_~y~0 0)) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} assume 1 == (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then main_~y~0 % 2 - 2 else main_~y~0 % 2);main_~z~0 := main_~z~0 + main_~x~0;main_~y~0 := main_~y~0 - 1; {495#(and (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (<= 0 ULTIMATE.start_main_~b~0) (= ULTIMATE.start_main_~b~0 (+ ULTIMATE.start_main_~y~0 1)) (<= 1 (mod ULTIMATE.start_main_~b~0 2)) (= ULTIMATE.start_main_~z~0 ULTIMATE.start_main_~x~0))} is VALID [2021-09-13 14:41:42,057 INFO L281 TraceCheckUtils]: 12: Hoare triple {495#(and (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (<= 0 ULTIMATE.start_main_~b~0) (= ULTIMATE.start_main_~b~0 (+ ULTIMATE.start_main_~y~0 1)) (<= 1 (mod ULTIMATE.start_main_~b~0 2)) (= ULTIMATE.start_main_~z~0 ULTIMATE.start_main_~x~0))} main_~x~0 := 2 * main_~x~0;main_~y~0 := (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then 1 + main_~y~0 / 2 else main_~y~0 / 2); {499#(and (<= 0 ULTIMATE.start_main_~b~0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~z~0) (= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~z~0)) (<= 1 (mod ULTIMATE.start_main_~b~0 2)) (= ULTIMATE.start_main_~y~0 (div (+ (- 1) ULTIMATE.start_main_~b~0) 2)))} is VALID [2021-09-13 14:41:42,276 INFO L281 TraceCheckUtils]: 13: Hoare triple {499#(and (<= 0 ULTIMATE.start_main_~b~0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~z~0) (= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~z~0)) (<= 1 (mod ULTIMATE.start_main_~b~0 2)) (= ULTIMATE.start_main_~y~0 (div (+ (- 1) ULTIMATE.start_main_~b~0) 2)))} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {503#(<= 1 ULTIMATE.start___VERIFIER_assert_~cond)} is VALID [2021-09-13 14:41:42,280 INFO L281 TraceCheckUtils]: 14: Hoare triple {503#(<= 1 ULTIMATE.start___VERIFIER_assert_~cond)} assume 0 == __VERIFIER_assert_~cond; {456#false} is VALID [2021-09-13 14:41:42,280 INFO L281 TraceCheckUtils]: 15: Hoare triple {456#false} assume !false; {456#false} is VALID [2021-09-13 14:41:42,280 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 14:41:42,280 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 14:42:11,606 INFO L281 TraceCheckUtils]: 15: Hoare triple {456#false} assume !false; {456#false} is VALID [2021-09-13 14:42:11,608 INFO L281 TraceCheckUtils]: 14: Hoare triple {503#(<= 1 ULTIMATE.start___VERIFIER_assert_~cond)} assume 0 == __VERIFIER_assert_~cond; {456#false} is VALID [2021-09-13 14:42:11,609 INFO L281 TraceCheckUtils]: 13: Hoare triple {516#(= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0)))} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {503#(<= 1 ULTIMATE.start___VERIFIER_assert_~cond)} is VALID [2021-09-13 14:42:11,615 INFO L281 TraceCheckUtils]: 12: Hoare triple {520#(and (or (<= 0 ULTIMATE.start_main_~y~0) (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0)))) (or (and (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (< ULTIMATE.start_main_~y~0 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))))} main_~x~0 := 2 * main_~x~0;main_~y~0 := (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then 1 + main_~y~0 / 2 else main_~y~0 / 2); {516#(= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0)))} is VALID [2021-09-13 14:42:11,617 INFO L281 TraceCheckUtils]: 11: Hoare triple {524#(or (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 ULTIMATE.start_main_~x~0 (* 2 (* (div (+ (- 1) ULTIMATE.start_main_~y~0) 2) ULTIMATE.start_main_~x~0)))) (< (mod ULTIMATE.start_main_~y~0 2) 1) (< ULTIMATE.start_main_~y~0 0))} assume 1 == (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then main_~y~0 % 2 - 2 else main_~y~0 % 2);main_~z~0 := main_~z~0 + main_~x~0;main_~y~0 := main_~y~0 - 1; {520#(and (or (<= 0 ULTIMATE.start_main_~y~0) (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0)))) (or (and (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (< ULTIMATE.start_main_~y~0 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))))} is VALID [2021-09-13 14:42:11,618 INFO L281 TraceCheckUtils]: 10: Hoare triple {524#(or (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 ULTIMATE.start_main_~x~0 (* 2 (* (div (+ (- 1) ULTIMATE.start_main_~y~0) 2) ULTIMATE.start_main_~x~0)))) (< (mod ULTIMATE.start_main_~y~0 2) 1) (< ULTIMATE.start_main_~y~0 0))} assume !!(0 != main_~y~0); {524#(or (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 ULTIMATE.start_main_~x~0 (* 2 (* (div (+ (- 1) ULTIMATE.start_main_~y~0) 2) ULTIMATE.start_main_~x~0)))) (< (mod ULTIMATE.start_main_~y~0 2) 1) (< ULTIMATE.start_main_~y~0 0))} is VALID [2021-09-13 14:42:11,618 INFO L281 TraceCheckUtils]: 9: Hoare triple {524#(or (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 ULTIMATE.start_main_~x~0 (* 2 (* (div (+ (- 1) ULTIMATE.start_main_~y~0) 2) ULTIMATE.start_main_~x~0)))) (< (mod ULTIMATE.start_main_~y~0 2) 1) (< ULTIMATE.start_main_~y~0 0))} assume !(0 == __VERIFIER_assert_~cond); {524#(or (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 ULTIMATE.start_main_~x~0 (* 2 (* (div (+ (- 1) ULTIMATE.start_main_~y~0) 2) ULTIMATE.start_main_~x~0)))) (< (mod ULTIMATE.start_main_~y~0 2) 1) (< ULTIMATE.start_main_~y~0 0))} is VALID [2021-09-13 14:42:11,618 INFO L281 TraceCheckUtils]: 8: Hoare triple {524#(or (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 ULTIMATE.start_main_~x~0 (* 2 (* (div (+ (- 1) ULTIMATE.start_main_~y~0) 2) ULTIMATE.start_main_~x~0)))) (< (mod ULTIMATE.start_main_~y~0 2) 1) (< ULTIMATE.start_main_~y~0 0))} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {524#(or (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 ULTIMATE.start_main_~x~0 (* 2 (* (div (+ (- 1) ULTIMATE.start_main_~y~0) 2) ULTIMATE.start_main_~x~0)))) (< (mod ULTIMATE.start_main_~y~0 2) 1) (< ULTIMATE.start_main_~y~0 0))} is VALID [2021-09-13 14:42:11,905 INFO L281 TraceCheckUtils]: 7: Hoare triple {455#true} main_~x~0 := main_~a~0;main_~y~0 := main_~b~0;main_~z~0 := 0; {524#(or (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 ULTIMATE.start_main_~x~0 (* 2 (* (div (+ (- 1) ULTIMATE.start_main_~y~0) 2) ULTIMATE.start_main_~x~0)))) (< (mod ULTIMATE.start_main_~y~0 2) 1) (< ULTIMATE.start_main_~y~0 0))} is VALID [2021-09-13 14:42:11,905 INFO L281 TraceCheckUtils]: 6: Hoare triple {455#true} assume !(0 == assume_abort_if_not_~cond); {455#true} is VALID [2021-09-13 14:42:11,906 INFO L281 TraceCheckUtils]: 5: Hoare triple {455#true} assume_abort_if_not_#in~cond := (if main_~b~0 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {455#true} is VALID [2021-09-13 14:42:11,906 INFO L281 TraceCheckUtils]: 4: Hoare triple {455#true} assume !(0 == assume_abort_if_not_~cond); {455#true} is VALID [2021-09-13 14:42:11,906 INFO L281 TraceCheckUtils]: 3: Hoare triple {455#true} assume -2147483648 <= main_#t~nondet8 && main_#t~nondet8 <= 2147483647;main_~b~0 := main_#t~nondet8;havoc main_#t~nondet8;assume_abort_if_not_#in~cond := (if main_~b~0 >= 0 && main_~b~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {455#true} is VALID [2021-09-13 14:42:11,906 INFO L281 TraceCheckUtils]: 2: Hoare triple {455#true} assume !(0 == assume_abort_if_not_~cond); {455#true} is VALID [2021-09-13 14:42:11,906 INFO L281 TraceCheckUtils]: 1: Hoare triple {455#true} havoc main_#res;havoc main_#t~nondet7, main_#t~nondet8, main_~a~0, main_~b~0, main_~x~0, main_~y~0, main_~z~0;havoc main_~a~0;havoc main_~b~0;havoc main_~x~0;havoc main_~y~0;havoc main_~z~0;assume -2147483648 <= main_#t~nondet7 && main_#t~nondet7 <= 2147483647;main_~a~0 := main_#t~nondet7;havoc main_#t~nondet7;assume_abort_if_not_#in~cond := (if main_~a~0 >= 0 && main_~a~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {455#true} is VALID [2021-09-13 14:42:11,907 INFO L281 TraceCheckUtils]: 0: Hoare triple {455#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call #t~string4.base, #t~string4.offset := #Ultimate.allocOnStack(2);call write~init~int(48, #t~string4.base, #t~string4.offset, 1);call write~init~int(0, #t~string4.base, 1 + #t~string4.offset, 1);call #t~string5.base, #t~string5.offset := #Ultimate.allocOnStack(13);call #t~string6.base, #t~string6.offset := #Ultimate.allocOnStack(12); {455#true} is VALID [2021-09-13 14:42:11,907 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 14:42:11,907 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 14:42:11,907 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1567207849] [2021-09-13 14:42:11,908 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unknown [2021-09-13 14:42:11,908 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1853794276] [2021-09-13 14:42:11,908 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1853794276] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-13 14:42:11,908 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2021-09-13 14:42:11,908 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6] total 10 [2021-09-13 14:42:11,908 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [714437556] [2021-09-13 14:42:11,909 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2021-09-13 14:42:11,909 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 14:42:11,909 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:42:14,208 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 22 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2021-09-13 14:42:14,208 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2021-09-13 14:42:14,208 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 14:42:14,208 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2021-09-13 14:42:14,209 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2021-09-13 14:42:14,209 INFO L87 Difference]: Start difference. First operand 22 states and 23 transitions. Second operand has 10 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:42:17,145 WARN L515 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2021-09-13 14:42:23,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:42:23,438 INFO L93 Difference]: Finished difference Result 44 states and 50 transitions. [2021-09-13 14:42:23,438 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2021-09-13 14:42:23,439 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2021-09-13 14:42:23,439 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 14:42:23,439 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:42:23,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 50 transitions. [2021-09-13 14:42:23,442 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:42:23,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 50 transitions. [2021-09-13 14:42:23,443 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 50 transitions. [2021-09-13 14:42:23,839 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 14:42:23,841 INFO L225 Difference]: With dead ends: 44 [2021-09-13 14:42:23,841 INFO L226 Difference]: Without dead ends: 42 [2021-09-13 14:42:23,841 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 21 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 8812.02ms TimeCoverageRelationStatistics Valid=90, Invalid=216, Unknown=0, NotChecked=0, Total=306 [2021-09-13 14:42:23,842 INFO L928 BasicCegarLoop]: 0 mSDtfsCounter, 26 mSDsluCounter, 60 mSDsCounter, 0 mSdLazyCounter, 150 mSolverCounterSat, 19 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3781.80ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 0 SdHoareTripleChecker+Invalid, 170 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 2.43ms SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 150 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3784.72ms IncrementalHoareTripleChecker+Time [2021-09-13 14:42:23,842 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 0 Invalid, 170 Unknown, 0 Unchecked, 2.43ms Time], IncrementalHoareTripleChecker [19 Valid, 150 Invalid, 1 Unknown, 0 Unchecked, 3784.72ms Time] [2021-09-13 14:42:23,843 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2021-09-13 14:42:23,861 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 27. [2021-09-13 14:42:23,861 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 14:42:23,861 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 27 states, 25 states have (on average 1.2) internal successors, (30), 26 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:42:23,861 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 27 states, 25 states have (on average 1.2) internal successors, (30), 26 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:42:23,862 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 27 states, 25 states have (on average 1.2) internal successors, (30), 26 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:42:23,863 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:42:23,863 INFO L93 Difference]: Finished difference Result 42 states and 47 transitions. [2021-09-13 14:42:23,863 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2021-09-13 14:42:23,863 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:42:23,864 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:42:23,864 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 25 states have (on average 1.2) internal successors, (30), 26 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 42 states. [2021-09-13 14:42:23,864 INFO L87 Difference]: Start difference. First operand has 27 states, 25 states have (on average 1.2) internal successors, (30), 26 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 42 states. [2021-09-13 14:42:23,865 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:42:23,866 INFO L93 Difference]: Finished difference Result 42 states and 47 transitions. [2021-09-13 14:42:23,866 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2021-09-13 14:42:23,866 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:42:23,866 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:42:23,866 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 14:42:23,866 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 14:42:23,867 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 25 states have (on average 1.2) internal successors, (30), 26 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:42:23,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2021-09-13 14:42:23,868 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 16 [2021-09-13 14:42:23,868 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 14:42:23,868 INFO L470 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2021-09-13 14:42:23,868 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:42:23,868 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2021-09-13 14:42:23,869 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2021-09-13 14:42:23,869 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 14:42:23,869 INFO L513 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 14:42:23,888 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2021-09-13 14:42:24,069 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 14:42:24,070 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2021-09-13 14:42:24,070 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 14:42:24,070 INFO L82 PathProgramCache]: Analyzing trace with hash 1032018498, now seen corresponding path program 1 times [2021-09-13 14:42:24,070 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 14:42:24,071 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1026632336] [2021-09-13 14:42:24,071 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 14:42:24,071 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 14:42:24,082 ERROR L247 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2021-09-13 14:42:24,082 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [817028615] [2021-09-13 14:42:24,082 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 14:42:24,082 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 14:42:24,083 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 14:42:24,083 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2021-09-13 14:42:24,098 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2021-09-13 14:42:24,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:42:24,130 INFO L263 TraceCheckSpWp]: Trace formula consists of 78 conjuncts, 23 conjunts are in the unsatisfiable core [2021-09-13 14:42:24,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:42:24,154 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 14:42:27,773 INFO L281 TraceCheckUtils]: 0: Hoare triple {743#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call #t~string4.base, #t~string4.offset := #Ultimate.allocOnStack(2);call write~init~int(48, #t~string4.base, #t~string4.offset, 1);call write~init~int(0, #t~string4.base, 1 + #t~string4.offset, 1);call #t~string5.base, #t~string5.offset := #Ultimate.allocOnStack(13);call #t~string6.base, #t~string6.offset := #Ultimate.allocOnStack(12); {743#true} is VALID [2021-09-13 14:42:27,773 INFO L281 TraceCheckUtils]: 1: Hoare triple {743#true} havoc main_#res;havoc main_#t~nondet7, main_#t~nondet8, main_~a~0, main_~b~0, main_~x~0, main_~y~0, main_~z~0;havoc main_~a~0;havoc main_~b~0;havoc main_~x~0;havoc main_~y~0;havoc main_~z~0;assume -2147483648 <= main_#t~nondet7 && main_#t~nondet7 <= 2147483647;main_~a~0 := main_#t~nondet7;havoc main_#t~nondet7;assume_abort_if_not_#in~cond := (if main_~a~0 >= 0 && main_~a~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {743#true} is VALID [2021-09-13 14:42:27,773 INFO L281 TraceCheckUtils]: 2: Hoare triple {743#true} assume !(0 == assume_abort_if_not_~cond); {743#true} is VALID [2021-09-13 14:42:27,773 INFO L281 TraceCheckUtils]: 3: Hoare triple {743#true} assume -2147483648 <= main_#t~nondet8 && main_#t~nondet8 <= 2147483647;main_~b~0 := main_#t~nondet8;havoc main_#t~nondet8;assume_abort_if_not_#in~cond := (if main_~b~0 >= 0 && main_~b~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {743#true} is VALID [2021-09-13 14:42:27,774 INFO L281 TraceCheckUtils]: 4: Hoare triple {743#true} assume !(0 == assume_abort_if_not_~cond); {743#true} is VALID [2021-09-13 14:42:27,774 INFO L281 TraceCheckUtils]: 5: Hoare triple {743#true} assume_abort_if_not_#in~cond := (if main_~b~0 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {763#(or (and (= ULTIMATE.start_assume_abort_if_not_~cond 1) (<= 1 ULTIMATE.start_main_~b~0)) (and (= ULTIMATE.start_assume_abort_if_not_~cond 0) (< ULTIMATE.start_main_~b~0 1)))} is VALID [2021-09-13 14:42:27,775 INFO L281 TraceCheckUtils]: 6: Hoare triple {763#(or (and (= ULTIMATE.start_assume_abort_if_not_~cond 1) (<= 1 ULTIMATE.start_main_~b~0)) (and (= ULTIMATE.start_assume_abort_if_not_~cond 0) (< ULTIMATE.start_main_~b~0 1)))} assume !(0 == assume_abort_if_not_~cond); {767#(<= 1 ULTIMATE.start_main_~b~0)} is VALID [2021-09-13 14:42:27,775 INFO L281 TraceCheckUtils]: 7: Hoare triple {767#(<= 1 ULTIMATE.start_main_~b~0)} main_~x~0 := main_~a~0;main_~y~0 := main_~b~0;main_~z~0 := 0; {771#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (<= 1 ULTIMATE.start_main_~b~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} is VALID [2021-09-13 14:42:27,776 INFO L281 TraceCheckUtils]: 8: Hoare triple {771#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (<= 1 ULTIMATE.start_main_~b~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {771#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (<= 1 ULTIMATE.start_main_~b~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} is VALID [2021-09-13 14:42:27,776 INFO L281 TraceCheckUtils]: 9: Hoare triple {771#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (<= 1 ULTIMATE.start_main_~b~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} assume !(0 == __VERIFIER_assert_~cond); {771#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (<= 1 ULTIMATE.start_main_~b~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} is VALID [2021-09-13 14:42:27,777 INFO L281 TraceCheckUtils]: 10: Hoare triple {771#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (<= 1 ULTIMATE.start_main_~b~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} assume !!(0 != main_~y~0); {771#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (<= 1 ULTIMATE.start_main_~b~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} is VALID [2021-09-13 14:42:27,777 INFO L281 TraceCheckUtils]: 11: Hoare triple {771#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (<= 1 ULTIMATE.start_main_~b~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} assume !(1 == (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then main_~y~0 % 2 - 2 else main_~y~0 % 2)); {784#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (not (= (mod ULTIMATE.start_main_~y~0 2) 1)) (<= 1 ULTIMATE.start_main_~b~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} is VALID [2021-09-13 14:42:27,778 INFO L281 TraceCheckUtils]: 12: Hoare triple {784#(and (= ULTIMATE.start_main_~z~0 0) (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (not (= (mod ULTIMATE.start_main_~y~0 2) 1)) (<= 1 ULTIMATE.start_main_~b~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} main_~x~0 := 2 * main_~x~0;main_~y~0 := (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then 1 + main_~y~0 / 2 else main_~y~0 / 2); {788#(and (= ULTIMATE.start_main_~z~0 0) (not (= (mod ULTIMATE.start_main_~b~0 2) 1)) (= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0)) (= ULTIMATE.start_main_~y~0 (div ULTIMATE.start_main_~b~0 2)) (<= 1 ULTIMATE.start_main_~b~0))} is VALID [2021-09-13 14:42:27,779 INFO L281 TraceCheckUtils]: 13: Hoare triple {788#(and (= ULTIMATE.start_main_~z~0 0) (not (= (mod ULTIMATE.start_main_~b~0 2) 1)) (= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0)) (= ULTIMATE.start_main_~y~0 (div ULTIMATE.start_main_~b~0 2)) (<= 1 ULTIMATE.start_main_~b~0))} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {792#(<= 1 ULTIMATE.start___VERIFIER_assert_~cond)} is VALID [2021-09-13 14:42:27,780 INFO L281 TraceCheckUtils]: 14: Hoare triple {792#(<= 1 ULTIMATE.start___VERIFIER_assert_~cond)} assume 0 == __VERIFIER_assert_~cond; {744#false} is VALID [2021-09-13 14:42:27,780 INFO L281 TraceCheckUtils]: 15: Hoare triple {744#false} assume !false; {744#false} is VALID [2021-09-13 14:42:27,780 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 14:42:27,780 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 14:42:52,878 INFO L281 TraceCheckUtils]: 15: Hoare triple {744#false} assume !false; {744#false} is VALID [2021-09-13 14:42:52,879 INFO L281 TraceCheckUtils]: 14: Hoare triple {792#(<= 1 ULTIMATE.start___VERIFIER_assert_~cond)} assume 0 == __VERIFIER_assert_~cond; {744#false} is VALID [2021-09-13 14:42:52,880 INFO L281 TraceCheckUtils]: 13: Hoare triple {805#(= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0)))} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {792#(<= 1 ULTIMATE.start___VERIFIER_assert_~cond)} is VALID [2021-09-13 14:42:52,884 INFO L281 TraceCheckUtils]: 12: Hoare triple {809#(and (or (<= 0 ULTIMATE.start_main_~y~0) (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0)))) (or (and (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (< ULTIMATE.start_main_~y~0 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))))} main_~x~0 := 2 * main_~x~0;main_~y~0 := (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then 1 + main_~y~0 / 2 else main_~y~0 / 2); {805#(= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0)))} is VALID [2021-09-13 14:42:52,885 INFO L281 TraceCheckUtils]: 11: Hoare triple {813#(or (and (= (mod ULTIMATE.start_main_~y~0 2) 1) (<= 0 ULTIMATE.start_main_~y~0)) (and (or (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))) (or (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0))))))} assume !(1 == (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then main_~y~0 % 2 - 2 else main_~y~0 % 2)); {809#(and (or (<= 0 ULTIMATE.start_main_~y~0) (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0)))) (or (and (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (< ULTIMATE.start_main_~y~0 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))))} is VALID [2021-09-13 14:42:52,886 INFO L281 TraceCheckUtils]: 10: Hoare triple {813#(or (and (= (mod ULTIMATE.start_main_~y~0 2) 1) (<= 0 ULTIMATE.start_main_~y~0)) (and (or (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))) (or (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0))))))} assume !!(0 != main_~y~0); {813#(or (and (= (mod ULTIMATE.start_main_~y~0 2) 1) (<= 0 ULTIMATE.start_main_~y~0)) (and (or (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))) (or (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0))))))} is VALID [2021-09-13 14:42:52,886 INFO L281 TraceCheckUtils]: 9: Hoare triple {813#(or (and (= (mod ULTIMATE.start_main_~y~0 2) 1) (<= 0 ULTIMATE.start_main_~y~0)) (and (or (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))) (or (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0))))))} assume !(0 == __VERIFIER_assert_~cond); {813#(or (and (= (mod ULTIMATE.start_main_~y~0 2) 1) (<= 0 ULTIMATE.start_main_~y~0)) (and (or (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))) (or (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0))))))} is VALID [2021-09-13 14:42:52,887 INFO L281 TraceCheckUtils]: 8: Hoare triple {813#(or (and (= (mod ULTIMATE.start_main_~y~0 2) 1) (<= 0 ULTIMATE.start_main_~y~0)) (and (or (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))) (or (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0))))))} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {813#(or (and (= (mod ULTIMATE.start_main_~y~0 2) 1) (<= 0 ULTIMATE.start_main_~y~0)) (and (or (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))) (or (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0))))))} is VALID [2021-09-13 14:42:52,890 INFO L281 TraceCheckUtils]: 7: Hoare triple {826#(or (<= 0 ULTIMATE.start_main_~b~0) (= (mod ULTIMATE.start_main_~b~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ (* 2 ULTIMATE.start_main_~a~0) (* 2 (* ULTIMATE.start_main_~a~0 (div ULTIMATE.start_main_~b~0 2))))))} main_~x~0 := main_~a~0;main_~y~0 := main_~b~0;main_~z~0 := 0; {813#(or (and (= (mod ULTIMATE.start_main_~y~0 2) 1) (<= 0 ULTIMATE.start_main_~y~0)) (and (or (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))) (or (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0))))))} is VALID [2021-09-13 14:42:52,891 INFO L281 TraceCheckUtils]: 6: Hoare triple {830#(or (= ULTIMATE.start_assume_abort_if_not_~cond 0) (<= 0 ULTIMATE.start_main_~b~0) (= (mod ULTIMATE.start_main_~b~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ (* 2 ULTIMATE.start_main_~a~0) (* 2 (* ULTIMATE.start_main_~a~0 (div ULTIMATE.start_main_~b~0 2))))))} assume !(0 == assume_abort_if_not_~cond); {826#(or (<= 0 ULTIMATE.start_main_~b~0) (= (mod ULTIMATE.start_main_~b~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ (* 2 ULTIMATE.start_main_~a~0) (* 2 (* ULTIMATE.start_main_~a~0 (div ULTIMATE.start_main_~b~0 2))))))} is VALID [2021-09-13 14:42:52,892 INFO L281 TraceCheckUtils]: 5: Hoare triple {743#true} assume_abort_if_not_#in~cond := (if main_~b~0 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {830#(or (= ULTIMATE.start_assume_abort_if_not_~cond 0) (<= 0 ULTIMATE.start_main_~b~0) (= (mod ULTIMATE.start_main_~b~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ (* 2 ULTIMATE.start_main_~a~0) (* 2 (* ULTIMATE.start_main_~a~0 (div ULTIMATE.start_main_~b~0 2))))))} is VALID [2021-09-13 14:42:52,892 INFO L281 TraceCheckUtils]: 4: Hoare triple {743#true} assume !(0 == assume_abort_if_not_~cond); {743#true} is VALID [2021-09-13 14:42:52,892 INFO L281 TraceCheckUtils]: 3: Hoare triple {743#true} assume -2147483648 <= main_#t~nondet8 && main_#t~nondet8 <= 2147483647;main_~b~0 := main_#t~nondet8;havoc main_#t~nondet8;assume_abort_if_not_#in~cond := (if main_~b~0 >= 0 && main_~b~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {743#true} is VALID [2021-09-13 14:42:52,892 INFO L281 TraceCheckUtils]: 2: Hoare triple {743#true} assume !(0 == assume_abort_if_not_~cond); {743#true} is VALID [2021-09-13 14:42:52,892 INFO L281 TraceCheckUtils]: 1: Hoare triple {743#true} havoc main_#res;havoc main_#t~nondet7, main_#t~nondet8, main_~a~0, main_~b~0, main_~x~0, main_~y~0, main_~z~0;havoc main_~a~0;havoc main_~b~0;havoc main_~x~0;havoc main_~y~0;havoc main_~z~0;assume -2147483648 <= main_#t~nondet7 && main_#t~nondet7 <= 2147483647;main_~a~0 := main_#t~nondet7;havoc main_#t~nondet7;assume_abort_if_not_#in~cond := (if main_~a~0 >= 0 && main_~a~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {743#true} is VALID [2021-09-13 14:42:52,892 INFO L281 TraceCheckUtils]: 0: Hoare triple {743#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call #t~string4.base, #t~string4.offset := #Ultimate.allocOnStack(2);call write~init~int(48, #t~string4.base, #t~string4.offset, 1);call write~init~int(0, #t~string4.base, 1 + #t~string4.offset, 1);call #t~string5.base, #t~string5.offset := #Ultimate.allocOnStack(13);call #t~string6.base, #t~string6.offset := #Ultimate.allocOnStack(12); {743#true} is VALID [2021-09-13 14:42:52,892 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 14:42:52,893 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 14:42:52,893 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1026632336] [2021-09-13 14:42:52,893 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unknown [2021-09-13 14:42:52,893 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [817028615] [2021-09-13 14:42:52,893 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleZ3 [817028615] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-13 14:42:52,893 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2021-09-13 14:42:52,893 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2021-09-13 14:42:52,893 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1183607518] [2021-09-13 14:42:52,894 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 13 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2021-09-13 14:42:52,894 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 14:42:52,894 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 13 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:42:52,927 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 14:42:52,927 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2021-09-13 14:42:52,927 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 14:42:52,928 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2021-09-13 14:42:52,928 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=111, Unknown=0, NotChecked=0, Total=156 [2021-09-13 14:42:52,928 INFO L87 Difference]: Start difference. First operand 27 states and 30 transitions. Second operand has 13 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 13 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:42:54,880 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:42:54,881 INFO L93 Difference]: Finished difference Result 55 states and 65 transitions. [2021-09-13 14:42:54,881 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2021-09-13 14:42:54,881 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 13 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2021-09-13 14:42:54,881 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 14:42:54,881 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 13 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:42:54,883 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 58 transitions. [2021-09-13 14:42:54,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 13 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:42:54,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 58 transitions. [2021-09-13 14:42:54,884 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 58 transitions. [2021-09-13 14:42:54,957 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 14:42:54,959 INFO L225 Difference]: With dead ends: 55 [2021-09-13 14:42:54,959 INFO L226 Difference]: Without dead ends: 49 [2021-09-13 14:42:54,960 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 18 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 88 ImplicationChecksByTransitivity, 1192.42ms TimeCoverageRelationStatistics Valid=199, Invalid=401, Unknown=0, NotChecked=0, Total=600 [2021-09-13 14:42:54,961 INFO L928 BasicCegarLoop]: 0 mSDtfsCounter, 121 mSDsluCounter, 49 mSDsCounter, 0 mSdLazyCounter, 167 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 537.00ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 121 SdHoareTripleChecker+Valid, 0 SdHoareTripleChecker+Invalid, 214 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 2.89ms SdHoareTripleChecker+Time, 47 IncrementalHoareTripleChecker+Valid, 167 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 539.24ms IncrementalHoareTripleChecker+Time [2021-09-13 14:42:54,961 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [121 Valid, 0 Invalid, 214 Unknown, 0 Unchecked, 2.89ms Time], IncrementalHoareTripleChecker [47 Valid, 167 Invalid, 0 Unknown, 0 Unchecked, 539.24ms Time] [2021-09-13 14:42:54,961 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2021-09-13 14:42:55,011 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 38. [2021-09-13 14:42:55,011 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 14:42:55,011 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 38 states, 36 states have (on average 1.25) internal successors, (45), 37 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:42:55,012 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 38 states, 36 states have (on average 1.25) internal successors, (45), 37 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:42:55,012 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 38 states, 36 states have (on average 1.25) internal successors, (45), 37 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:42:55,016 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:42:55,016 INFO L93 Difference]: Finished difference Result 49 states and 57 transitions. [2021-09-13 14:42:55,016 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 57 transitions. [2021-09-13 14:42:55,016 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:42:55,016 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:42:55,017 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 36 states have (on average 1.25) internal successors, (45), 37 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 49 states. [2021-09-13 14:42:55,017 INFO L87 Difference]: Start difference. First operand has 38 states, 36 states have (on average 1.25) internal successors, (45), 37 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 49 states. [2021-09-13 14:42:55,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:42:55,020 INFO L93 Difference]: Finished difference Result 49 states and 57 transitions. [2021-09-13 14:42:55,020 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 57 transitions. [2021-09-13 14:42:55,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:42:55,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:42:55,024 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 14:42:55,024 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 14:42:55,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 36 states have (on average 1.25) internal successors, (45), 37 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:42:55,025 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 45 transitions. [2021-09-13 14:42:55,025 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 45 transitions. Word has length 16 [2021-09-13 14:42:55,025 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 14:42:55,025 INFO L470 AbstractCegarLoop]: Abstraction has 38 states and 45 transitions. [2021-09-13 14:42:55,026 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 13 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:42:55,026 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 45 transitions. [2021-09-13 14:42:55,027 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2021-09-13 14:42:55,027 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 14:42:55,027 INFO L513 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 14:42:55,052 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2021-09-13 14:42:55,240 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 14:42:55,241 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2021-09-13 14:42:55,241 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 14:42:55,241 INFO L82 PathProgramCache]: Analyzing trace with hash -1993537895, now seen corresponding path program 1 times [2021-09-13 14:42:55,241 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 14:42:55,241 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [72021596] [2021-09-13 14:42:55,241 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 14:42:55,242 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 14:42:55,248 ERROR L247 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2021-09-13 14:42:55,248 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1410007963] [2021-09-13 14:42:55,248 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 14:42:55,249 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 14:42:55,249 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 14:42:55,249 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2021-09-13 14:42:55,267 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2021-09-13 14:42:55,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:42:55,295 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 10 conjunts are in the unsatisfiable core [2021-09-13 14:42:55,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:42:55,301 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 14:43:15,445 INFO L281 TraceCheckUtils]: 0: Hoare triple {1086#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call #t~string4.base, #t~string4.offset := #Ultimate.allocOnStack(2);call write~init~int(48, #t~string4.base, #t~string4.offset, 1);call write~init~int(0, #t~string4.base, 1 + #t~string4.offset, 1);call #t~string5.base, #t~string5.offset := #Ultimate.allocOnStack(13);call #t~string6.base, #t~string6.offset := #Ultimate.allocOnStack(12); {1086#true} is VALID [2021-09-13 14:43:15,445 INFO L281 TraceCheckUtils]: 1: Hoare triple {1086#true} havoc main_#res;havoc main_#t~nondet7, main_#t~nondet8, main_~a~0, main_~b~0, main_~x~0, main_~y~0, main_~z~0;havoc main_~a~0;havoc main_~b~0;havoc main_~x~0;havoc main_~y~0;havoc main_~z~0;assume -2147483648 <= main_#t~nondet7 && main_#t~nondet7 <= 2147483647;main_~a~0 := main_#t~nondet7;havoc main_#t~nondet7;assume_abort_if_not_#in~cond := (if main_~a~0 >= 0 && main_~a~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {1086#true} is VALID [2021-09-13 14:43:15,445 INFO L281 TraceCheckUtils]: 2: Hoare triple {1086#true} assume !(0 == assume_abort_if_not_~cond); {1086#true} is VALID [2021-09-13 14:43:15,445 INFO L281 TraceCheckUtils]: 3: Hoare triple {1086#true} assume -2147483648 <= main_#t~nondet8 && main_#t~nondet8 <= 2147483647;main_~b~0 := main_#t~nondet8;havoc main_#t~nondet8;assume_abort_if_not_#in~cond := (if main_~b~0 >= 0 && main_~b~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {1086#true} is VALID [2021-09-13 14:43:15,446 INFO L281 TraceCheckUtils]: 4: Hoare triple {1086#true} assume !(0 == assume_abort_if_not_~cond); {1086#true} is VALID [2021-09-13 14:43:15,446 INFO L281 TraceCheckUtils]: 5: Hoare triple {1086#true} assume_abort_if_not_#in~cond := (if main_~b~0 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {1086#true} is VALID [2021-09-13 14:43:15,446 INFO L281 TraceCheckUtils]: 6: Hoare triple {1086#true} assume !(0 == assume_abort_if_not_~cond); {1086#true} is VALID [2021-09-13 14:43:15,446 INFO L281 TraceCheckUtils]: 7: Hoare triple {1086#true} main_~x~0 := main_~a~0;main_~y~0 := main_~b~0;main_~z~0 := 0; {1086#true} is VALID [2021-09-13 14:43:15,446 INFO L281 TraceCheckUtils]: 8: Hoare triple {1086#true} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {1086#true} is VALID [2021-09-13 14:43:15,446 INFO L281 TraceCheckUtils]: 9: Hoare triple {1086#true} assume !(0 == __VERIFIER_assert_~cond); {1086#true} is VALID [2021-09-13 14:43:15,447 INFO L281 TraceCheckUtils]: 10: Hoare triple {1086#true} assume !!(0 != main_~y~0); {1086#true} is VALID [2021-09-13 14:43:15,447 INFO L281 TraceCheckUtils]: 11: Hoare triple {1086#true} assume 1 == (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then main_~y~0 % 2 - 2 else main_~y~0 % 2);main_~z~0 := main_~z~0 + main_~x~0;main_~y~0 := main_~y~0 - 1; {1086#true} is VALID [2021-09-13 14:43:15,447 INFO L281 TraceCheckUtils]: 12: Hoare triple {1086#true} main_~x~0 := 2 * main_~x~0;main_~y~0 := (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then 1 + main_~y~0 / 2 else main_~y~0 / 2); {1086#true} is VALID [2021-09-13 14:43:17,449 INFO L281 TraceCheckUtils]: 13: Hoare triple {1086#true} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {1130#(or (and (= 1 ULTIMATE.start___VERIFIER_assert_~cond) (or (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) ULTIMATE.start_main_~z~0) (and (not (= ULTIMATE.start_main_~y~0 0)) (= (mod (+ (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* ULTIMATE.start_main_~z~0 (- 1))) ULTIMATE.start_main_~y~0) 0)))) (and (= 0 ULTIMATE.start___VERIFIER_assert_~cond) (exists ((ULTIMATE.start_main_~x~0 Int)) (not (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0)))))))} is UNKNOWN [2021-09-13 14:43:17,450 INFO L281 TraceCheckUtils]: 14: Hoare triple {1130#(or (and (= 1 ULTIMATE.start___VERIFIER_assert_~cond) (or (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) ULTIMATE.start_main_~z~0) (and (not (= ULTIMATE.start_main_~y~0 0)) (= (mod (+ (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* ULTIMATE.start_main_~z~0 (- 1))) ULTIMATE.start_main_~y~0) 0)))) (and (= 0 ULTIMATE.start___VERIFIER_assert_~cond) (exists ((ULTIMATE.start_main_~x~0 Int)) (not (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0)))))))} assume !(0 == __VERIFIER_assert_~cond); {1134#(or (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) ULTIMATE.start_main_~z~0) (and (not (= ULTIMATE.start_main_~y~0 0)) (= (mod (+ (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* ULTIMATE.start_main_~z~0 (- 1))) ULTIMATE.start_main_~y~0) 0)))} is VALID [2021-09-13 14:43:17,450 INFO L281 TraceCheckUtils]: 15: Hoare triple {1134#(or (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) ULTIMATE.start_main_~z~0) (and (not (= ULTIMATE.start_main_~y~0 0)) (= (mod (+ (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* ULTIMATE.start_main_~z~0 (- 1))) ULTIMATE.start_main_~y~0) 0)))} assume !(0 != main_~y~0); {1138#(= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) ULTIMATE.start_main_~z~0)} is VALID [2021-09-13 14:43:17,451 INFO L281 TraceCheckUtils]: 16: Hoare triple {1138#(= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) ULTIMATE.start_main_~z~0)} __VERIFIER_assert_#in~cond := (if main_~z~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {1142#(<= 1 ULTIMATE.start___VERIFIER_assert_~cond)} is VALID [2021-09-13 14:43:17,461 INFO L281 TraceCheckUtils]: 17: Hoare triple {1142#(<= 1 ULTIMATE.start___VERIFIER_assert_~cond)} assume 0 == __VERIFIER_assert_~cond; {1087#false} is VALID [2021-09-13 14:43:17,461 INFO L281 TraceCheckUtils]: 18: Hoare triple {1087#false} assume !false; {1087#false} is VALID [2021-09-13 14:43:17,461 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-13 14:43:17,461 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2021-09-13 14:43:17,461 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 14:43:17,461 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [72021596] [2021-09-13 14:43:17,461 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unknown [2021-09-13 14:43:17,461 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1410007963] [2021-09-13 14:43:17,462 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1410007963] provided 1 perfect and 0 imperfect interpolant sequences [2021-09-13 14:43:17,462 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-09-13 14:43:17,462 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2021-09-13 14:43:17,462 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [407155162] [2021-09-13 14:43:17,462 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2021-09-13 14:43:17,462 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 14:43:17,462 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:43:19,478 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 18 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2021-09-13 14:43:19,478 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2021-09-13 14:43:19,478 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 14:43:19,479 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2021-09-13 14:43:19,479 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2021-09-13 14:43:19,479 INFO L87 Difference]: Start difference. First operand 38 states and 45 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:43:21,519 WARN L515 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2021-09-13 14:43:22,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:43:22,527 INFO L93 Difference]: Finished difference Result 40 states and 47 transitions. [2021-09-13 14:43:22,527 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2021-09-13 14:43:22,527 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2021-09-13 14:43:22,527 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 14:43:22,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:43:22,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 21 transitions. [2021-09-13 14:43:22,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:43:22,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 21 transitions. [2021-09-13 14:43:22,529 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 21 transitions. [2021-09-13 14:43:24,549 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 20 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2021-09-13 14:43:24,549 INFO L225 Difference]: With dead ends: 40 [2021-09-13 14:43:24,549 INFO L226 Difference]: Without dead ends: 36 [2021-09-13 14:43:24,550 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 80.77ms TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2021-09-13 14:43:24,550 INFO L928 BasicCegarLoop]: 0 mSDtfsCounter, 5 mSDsluCounter, 31 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 0 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2288.52ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 0 SdHoareTripleChecker+Invalid, 66 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.51ms SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 18 IncrementalHoareTripleChecker+Unchecked, 2292.66ms IncrementalHoareTripleChecker+Time [2021-09-13 14:43:24,551 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 0 Invalid, 66 Unknown, 0 Unchecked, 0.51ms Time], IncrementalHoareTripleChecker [0 Valid, 47 Invalid, 1 Unknown, 18 Unchecked, 2292.66ms Time] [2021-09-13 14:43:24,551 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2021-09-13 14:43:24,586 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2021-09-13 14:43:24,587 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 14:43:24,587 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 34 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 33 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:43:24,587 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 34 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 33 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:43:24,587 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 34 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 33 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:43:24,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:43:24,589 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2021-09-13 14:43:24,589 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2021-09-13 14:43:24,589 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:43:24,589 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:43:24,589 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 33 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 36 states. [2021-09-13 14:43:24,590 INFO L87 Difference]: Start difference. First operand has 34 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 33 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 36 states. [2021-09-13 14:43:24,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:43:24,591 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2021-09-13 14:43:24,591 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2021-09-13 14:43:24,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:43:24,591 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:43:24,591 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 14:43:24,591 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 14:43:24,592 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 33 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:43:24,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 39 transitions. [2021-09-13 14:43:24,593 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 39 transitions. Word has length 19 [2021-09-13 14:43:24,593 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 14:43:24,593 INFO L470 AbstractCegarLoop]: Abstraction has 34 states and 39 transitions. [2021-09-13 14:43:24,593 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:43:24,593 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 39 transitions. [2021-09-13 14:43:24,594 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2021-09-13 14:43:24,594 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 14:43:24,594 INFO L513 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 14:43:24,617 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2021-09-13 14:43:24,817 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 14:43:24,817 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2021-09-13 14:43:24,817 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 14:43:24,817 INFO L82 PathProgramCache]: Analyzing trace with hash -183023109, now seen corresponding path program 1 times [2021-09-13 14:43:24,817 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 14:43:24,818 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1320157029] [2021-09-13 14:43:24,818 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 14:43:24,818 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 14:43:24,825 ERROR L247 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2021-09-13 14:43:24,825 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1457762203] [2021-09-13 14:43:24,825 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 14:43:24,825 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 14:43:24,826 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 14:43:24,826 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2021-09-13 14:43:24,834 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2021-09-13 14:43:24,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:43:24,866 INFO L263 TraceCheckSpWp]: Trace formula consists of 94 conjuncts, 27 conjunts are in the unsatisfiable core [2021-09-13 14:43:24,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:43:24,881 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 14:43:30,523 INFO L281 TraceCheckUtils]: 0: Hoare triple {1316#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call #t~string4.base, #t~string4.offset := #Ultimate.allocOnStack(2);call write~init~int(48, #t~string4.base, #t~string4.offset, 1);call write~init~int(0, #t~string4.base, 1 + #t~string4.offset, 1);call #t~string5.base, #t~string5.offset := #Ultimate.allocOnStack(13);call #t~string6.base, #t~string6.offset := #Ultimate.allocOnStack(12); {1316#true} is VALID [2021-09-13 14:43:30,524 INFO L281 TraceCheckUtils]: 1: Hoare triple {1316#true} havoc main_#res;havoc main_#t~nondet7, main_#t~nondet8, main_~a~0, main_~b~0, main_~x~0, main_~y~0, main_~z~0;havoc main_~a~0;havoc main_~b~0;havoc main_~x~0;havoc main_~y~0;havoc main_~z~0;assume -2147483648 <= main_#t~nondet7 && main_#t~nondet7 <= 2147483647;main_~a~0 := main_#t~nondet7;havoc main_#t~nondet7;assume_abort_if_not_#in~cond := (if main_~a~0 >= 0 && main_~a~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {1316#true} is VALID [2021-09-13 14:43:30,524 INFO L281 TraceCheckUtils]: 2: Hoare triple {1316#true} assume !(0 == assume_abort_if_not_~cond); {1316#true} is VALID [2021-09-13 14:43:30,524 INFO L281 TraceCheckUtils]: 3: Hoare triple {1316#true} assume -2147483648 <= main_#t~nondet8 && main_#t~nondet8 <= 2147483647;main_~b~0 := main_#t~nondet8;havoc main_#t~nondet8;assume_abort_if_not_#in~cond := (if main_~b~0 >= 0 && main_~b~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {1316#true} is VALID [2021-09-13 14:43:30,524 INFO L281 TraceCheckUtils]: 4: Hoare triple {1316#true} assume !(0 == assume_abort_if_not_~cond); {1316#true} is VALID [2021-09-13 14:43:30,524 INFO L281 TraceCheckUtils]: 5: Hoare triple {1316#true} assume_abort_if_not_#in~cond := (if main_~b~0 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {1316#true} is VALID [2021-09-13 14:43:30,524 INFO L281 TraceCheckUtils]: 6: Hoare triple {1316#true} assume !(0 == assume_abort_if_not_~cond); {1316#true} is VALID [2021-09-13 14:43:30,525 INFO L281 TraceCheckUtils]: 7: Hoare triple {1316#true} main_~x~0 := main_~a~0;main_~y~0 := main_~b~0;main_~z~0 := 0; {1342#(and (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} is VALID [2021-09-13 14:43:30,526 INFO L281 TraceCheckUtils]: 8: Hoare triple {1342#(and (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {1342#(and (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} is VALID [2021-09-13 14:43:30,526 INFO L281 TraceCheckUtils]: 9: Hoare triple {1342#(and (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} assume !(0 == __VERIFIER_assert_~cond); {1342#(and (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} is VALID [2021-09-13 14:43:30,527 INFO L281 TraceCheckUtils]: 10: Hoare triple {1342#(and (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} assume !!(0 != main_~y~0); {1352#(and (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (not (= ULTIMATE.start_main_~y~0 0)) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} is VALID [2021-09-13 14:43:30,528 INFO L281 TraceCheckUtils]: 11: Hoare triple {1352#(and (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (not (= ULTIMATE.start_main_~y~0 0)) (= ULTIMATE.start_main_~b~0 ULTIMATE.start_main_~y~0))} assume 1 == (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then main_~y~0 % 2 - 2 else main_~y~0 % 2);main_~z~0 := main_~z~0 + main_~x~0;main_~y~0 := main_~y~0 - 1; {1356#(and (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (<= 1 (mod (+ ULTIMATE.start_main_~y~0 1) 2)) (<= 0 (+ ULTIMATE.start_main_~y~0 1)) (= ULTIMATE.start_main_~b~0 (+ ULTIMATE.start_main_~y~0 1)))} is VALID [2021-09-13 14:43:30,529 INFO L281 TraceCheckUtils]: 12: Hoare triple {1356#(and (= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0) (<= 1 (mod (+ ULTIMATE.start_main_~y~0 1) 2)) (<= 0 (+ ULTIMATE.start_main_~y~0 1)) (= ULTIMATE.start_main_~b~0 (+ ULTIMATE.start_main_~y~0 1)))} main_~x~0 := 2 * main_~x~0;main_~y~0 := (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then 1 + main_~y~0 / 2 else main_~y~0 / 2); {1360#(and (= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0)) (<= 0 ULTIMATE.start_main_~b~0) (<= 1 (mod ULTIMATE.start_main_~b~0 2)) (= ULTIMATE.start_main_~y~0 (div (+ (- 1) ULTIMATE.start_main_~b~0) 2)))} is VALID [2021-09-13 14:43:30,530 INFO L281 TraceCheckUtils]: 13: Hoare triple {1360#(and (= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0)) (<= 0 ULTIMATE.start_main_~b~0) (<= 1 (mod ULTIMATE.start_main_~b~0 2)) (= ULTIMATE.start_main_~y~0 (div (+ (- 1) ULTIMATE.start_main_~b~0) 2)))} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {1364#(and (or (and (= 0 ULTIMATE.start___VERIFIER_assert_~cond) (not (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))))) (and (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))) (= 1 ULTIMATE.start___VERIFIER_assert_~cond))) (= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0)) (<= 0 ULTIMATE.start_main_~b~0) (<= 1 (mod ULTIMATE.start_main_~b~0 2)) (= ULTIMATE.start_main_~y~0 (div (+ (- 1) ULTIMATE.start_main_~b~0) 2)))} is VALID [2021-09-13 14:43:30,531 INFO L281 TraceCheckUtils]: 14: Hoare triple {1364#(and (or (and (= 0 ULTIMATE.start___VERIFIER_assert_~cond) (not (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))))) (and (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))) (= 1 ULTIMATE.start___VERIFIER_assert_~cond))) (= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0)) (<= 0 ULTIMATE.start_main_~b~0) (<= 1 (mod ULTIMATE.start_main_~b~0 2)) (= ULTIMATE.start_main_~y~0 (div (+ (- 1) ULTIMATE.start_main_~b~0) 2)))} assume !(0 == __VERIFIER_assert_~cond); {1368#(and (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))) (= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0)) (<= 0 ULTIMATE.start_main_~b~0) (<= 1 (mod ULTIMATE.start_main_~b~0 2)) (= ULTIMATE.start_main_~y~0 (div (+ (- 1) ULTIMATE.start_main_~b~0) 2)))} is VALID [2021-09-13 14:43:30,532 INFO L281 TraceCheckUtils]: 15: Hoare triple {1368#(and (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))) (= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0)) (<= 0 ULTIMATE.start_main_~b~0) (<= 1 (mod ULTIMATE.start_main_~b~0 2)) (= ULTIMATE.start_main_~y~0 (div (+ (- 1) ULTIMATE.start_main_~b~0) 2)))} assume !!(0 != main_~y~0); {1368#(and (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))) (= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0)) (<= 0 ULTIMATE.start_main_~b~0) (<= 1 (mod ULTIMATE.start_main_~b~0 2)) (= ULTIMATE.start_main_~y~0 (div (+ (- 1) ULTIMATE.start_main_~b~0) 2)))} is VALID [2021-09-13 14:43:30,533 INFO L281 TraceCheckUtils]: 16: Hoare triple {1368#(and (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))) (= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0)) (<= 0 ULTIMATE.start_main_~b~0) (<= 1 (mod ULTIMATE.start_main_~b~0 2)) (= ULTIMATE.start_main_~y~0 (div (+ (- 1) ULTIMATE.start_main_~b~0) 2)))} assume !(1 == (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then main_~y~0 % 2 - 2 else main_~y~0 % 2)); {1375#(and (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))) (= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0)) (<= 0 ULTIMATE.start_main_~b~0) (not (= (mod ULTIMATE.start_main_~y~0 2) 1)) (<= 1 (mod ULTIMATE.start_main_~b~0 2)) (= ULTIMATE.start_main_~y~0 (div (+ (- 1) ULTIMATE.start_main_~b~0) 2)))} is VALID [2021-09-13 14:43:30,537 INFO L281 TraceCheckUtils]: 17: Hoare triple {1375#(and (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))) (= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0)) (<= 0 ULTIMATE.start_main_~b~0) (not (= (mod ULTIMATE.start_main_~y~0 2) 1)) (<= 1 (mod ULTIMATE.start_main_~b~0 2)) (= ULTIMATE.start_main_~y~0 (div (+ (- 1) ULTIMATE.start_main_~b~0) 2)))} main_~x~0 := 2 * main_~x~0;main_~y~0 := (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then 1 + main_~y~0 / 2 else main_~y~0 / 2); {1379#(and (<= 0 ULTIMATE.start_main_~b~0) (= ULTIMATE.start_main_~x~0 (* 4 ULTIMATE.start_main_~a~0)) (= ULTIMATE.start_main_~y~0 (div (div (+ (- 1) ULTIMATE.start_main_~b~0) 2) 2)) (<= 1 (mod ULTIMATE.start_main_~b~0 2)) (not (= (mod (div (+ (- 1) ULTIMATE.start_main_~b~0) 2) 2) 1)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ (* 2 (* ULTIMATE.start_main_~a~0 (div (+ (- 1) ULTIMATE.start_main_~b~0) 2))) ULTIMATE.start_main_~z~0)))} is VALID [2021-09-13 14:43:30,542 INFO L281 TraceCheckUtils]: 18: Hoare triple {1379#(and (<= 0 ULTIMATE.start_main_~b~0) (= ULTIMATE.start_main_~x~0 (* 4 ULTIMATE.start_main_~a~0)) (= ULTIMATE.start_main_~y~0 (div (div (+ (- 1) ULTIMATE.start_main_~b~0) 2) 2)) (<= 1 (mod ULTIMATE.start_main_~b~0 2)) (not (= (mod (div (+ (- 1) ULTIMATE.start_main_~b~0) 2) 2) 1)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ (* 2 (* ULTIMATE.start_main_~a~0 (div (+ (- 1) ULTIMATE.start_main_~b~0) 2))) ULTIMATE.start_main_~z~0)))} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {1383#(<= 1 ULTIMATE.start___VERIFIER_assert_~cond)} is VALID [2021-09-13 14:43:30,542 INFO L281 TraceCheckUtils]: 19: Hoare triple {1383#(<= 1 ULTIMATE.start___VERIFIER_assert_~cond)} assume 0 == __VERIFIER_assert_~cond; {1317#false} is VALID [2021-09-13 14:43:30,542 INFO L281 TraceCheckUtils]: 20: Hoare triple {1317#false} assume !false; {1317#false} is VALID [2021-09-13 14:43:30,542 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 14:43:30,542 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 14:44:56,872 INFO L281 TraceCheckUtils]: 20: Hoare triple {1317#false} assume !false; {1317#false} is VALID [2021-09-13 14:44:56,872 INFO L281 TraceCheckUtils]: 19: Hoare triple {1383#(<= 1 ULTIMATE.start___VERIFIER_assert_~cond)} assume 0 == __VERIFIER_assert_~cond; {1317#false} is VALID [2021-09-13 14:44:56,873 INFO L281 TraceCheckUtils]: 18: Hoare triple {1396#(= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0)))} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {1383#(<= 1 ULTIMATE.start___VERIFIER_assert_~cond)} is VALID [2021-09-13 14:44:56,881 INFO L281 TraceCheckUtils]: 17: Hoare triple {1400#(and (or (<= 0 ULTIMATE.start_main_~y~0) (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0)))) (or (and (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (< ULTIMATE.start_main_~y~0 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))))} main_~x~0 := 2 * main_~x~0;main_~y~0 := (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then 1 + main_~y~0 / 2 else main_~y~0 / 2); {1396#(= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0)))} is VALID [2021-09-13 14:44:56,882 INFO L281 TraceCheckUtils]: 16: Hoare triple {1404#(or (and (= (mod ULTIMATE.start_main_~y~0 2) 1) (<= 0 ULTIMATE.start_main_~y~0)) (and (or (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))) (or (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0))))))} assume !(1 == (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then main_~y~0 % 2 - 2 else main_~y~0 % 2)); {1400#(and (or (<= 0 ULTIMATE.start_main_~y~0) (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0)))) (or (and (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (< ULTIMATE.start_main_~y~0 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))))} is VALID [2021-09-13 14:44:56,882 INFO L281 TraceCheckUtils]: 15: Hoare triple {1404#(or (and (= (mod ULTIMATE.start_main_~y~0 2) 1) (<= 0 ULTIMATE.start_main_~y~0)) (and (or (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))) (or (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0))))))} assume !!(0 != main_~y~0); {1404#(or (and (= (mod ULTIMATE.start_main_~y~0 2) 1) (<= 0 ULTIMATE.start_main_~y~0)) (and (or (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))) (or (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0))))))} is VALID [2021-09-13 14:44:56,883 INFO L281 TraceCheckUtils]: 14: Hoare triple {1411#(or (= 0 ULTIMATE.start___VERIFIER_assert_~cond) (and (= (mod ULTIMATE.start_main_~y~0 2) 1) (<= 0 ULTIMATE.start_main_~y~0)) (and (or (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))) (or (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0))))))} assume !(0 == __VERIFIER_assert_~cond); {1404#(or (and (= (mod ULTIMATE.start_main_~y~0 2) 1) (<= 0 ULTIMATE.start_main_~y~0)) (and (or (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))) (or (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0))))))} is VALID [2021-09-13 14:44:56,885 INFO L281 TraceCheckUtils]: 13: Hoare triple {1415#(or (= (+ (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0)) (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0)) (<= 0 ULTIMATE.start_main_~y~0) (= (mod ULTIMATE.start_main_~y~0 2) 0))} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {1411#(or (= 0 ULTIMATE.start___VERIFIER_assert_~cond) (and (= (mod ULTIMATE.start_main_~y~0 2) 1) (<= 0 ULTIMATE.start_main_~y~0)) (and (or (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))))) (or (= (mod ULTIMATE.start_main_~y~0 2) 0) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0))))))} is VALID [2021-09-13 14:44:56,912 INFO L281 TraceCheckUtils]: 12: Hoare triple {1419#(and (or (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (<= 0 (div ULTIMATE.start_main_~y~0 2)) (forall ((aux_div_v_ULTIMATE.start_main_~y~0_25_37 Int) (aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_25_37_48 Int)) (or (< (div ULTIMATE.start_main_~y~0 2) (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37)) (= (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37) (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_25_37_48)) (div ULTIMATE.start_main_~y~0 2)) (< (div ULTIMATE.start_main_~y~0 2) (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37) (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_25_37_48))) (<= (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37) 2) (div ULTIMATE.start_main_~y~0 2)) (= (+ (* 4 ULTIMATE.start_main_~x~0) (* 4 (* aux_div_v_ULTIMATE.start_main_~y~0_25_37 ULTIMATE.start_main_~x~0))) (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))) (<= (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37) 2 (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_25_37_48)) (div ULTIMATE.start_main_~y~0 2))))) (or (<= 0 (+ (div ULTIMATE.start_main_~y~0 2) 1)) (forall ((aux_div_v_ULTIMATE.start_main_~y~0_25_37 Int) (aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_25_37_48 Int)) (or (<= (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37) 1) (div ULTIMATE.start_main_~y~0 2)) (< (+ (div ULTIMATE.start_main_~y~0 2) 1) (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37)) (<= (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37) (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_25_37_48) 1) (div ULTIMATE.start_main_~y~0 2)) (< (+ (div ULTIMATE.start_main_~y~0 2) 1) (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37) (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_25_37_48))) (= (+ (* 4 (* aux_div_v_ULTIMATE.start_main_~y~0_25_37 ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0)) (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))) (= (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37) (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_25_37_48)) (+ (div ULTIMATE.start_main_~y~0 2) 1)))) (= (mod ULTIMATE.start_main_~y~0 2) 0)))} main_~x~0 := 2 * main_~x~0;main_~y~0 := (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then 1 + main_~y~0 / 2 else main_~y~0 / 2); {1415#(or (= (+ (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0)) (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0)) (<= 0 ULTIMATE.start_main_~y~0) (= (mod ULTIMATE.start_main_~y~0 2) 0))} is VALID [2021-09-13 14:44:56,914 INFO L281 TraceCheckUtils]: 11: Hoare triple {1316#true} assume 1 == (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then main_~y~0 % 2 - 2 else main_~y~0 % 2);main_~z~0 := main_~z~0 + main_~x~0;main_~y~0 := main_~y~0 - 1; {1419#(and (or (not (= (mod ULTIMATE.start_main_~y~0 2) 0)) (<= 0 (div ULTIMATE.start_main_~y~0 2)) (forall ((aux_div_v_ULTIMATE.start_main_~y~0_25_37 Int) (aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_25_37_48 Int)) (or (< (div ULTIMATE.start_main_~y~0 2) (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37)) (= (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37) (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_25_37_48)) (div ULTIMATE.start_main_~y~0 2)) (< (div ULTIMATE.start_main_~y~0 2) (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37) (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_25_37_48))) (<= (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37) 2) (div ULTIMATE.start_main_~y~0 2)) (= (+ (* 4 ULTIMATE.start_main_~x~0) (* 4 (* aux_div_v_ULTIMATE.start_main_~y~0_25_37 ULTIMATE.start_main_~x~0))) (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))) (<= (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37) 2 (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_25_37_48)) (div ULTIMATE.start_main_~y~0 2))))) (or (<= 0 (+ (div ULTIMATE.start_main_~y~0 2) 1)) (forall ((aux_div_v_ULTIMATE.start_main_~y~0_25_37 Int) (aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_25_37_48 Int)) (or (<= (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37) 1) (div ULTIMATE.start_main_~y~0 2)) (< (+ (div ULTIMATE.start_main_~y~0 2) 1) (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37)) (<= (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37) (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_25_37_48) 1) (div ULTIMATE.start_main_~y~0 2)) (< (+ (div ULTIMATE.start_main_~y~0 2) 1) (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37) (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_25_37_48))) (= (+ (* 4 (* aux_div_v_ULTIMATE.start_main_~y~0_25_37 ULTIMATE.start_main_~x~0)) (* 2 ULTIMATE.start_main_~x~0)) (* 2 (* (div ULTIMATE.start_main_~y~0 2) ULTIMATE.start_main_~x~0))) (= (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_25_37) (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_25_37_48)) (+ (div ULTIMATE.start_main_~y~0 2) 1)))) (= (mod ULTIMATE.start_main_~y~0 2) 0)))} is VALID [2021-09-13 14:44:56,915 INFO L281 TraceCheckUtils]: 10: Hoare triple {1316#true} assume !!(0 != main_~y~0); {1316#true} is VALID [2021-09-13 14:44:56,915 INFO L281 TraceCheckUtils]: 9: Hoare triple {1316#true} assume !(0 == __VERIFIER_assert_~cond); {1316#true} is VALID [2021-09-13 14:44:56,915 INFO L281 TraceCheckUtils]: 8: Hoare triple {1316#true} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {1316#true} is VALID [2021-09-13 14:44:56,915 INFO L281 TraceCheckUtils]: 7: Hoare triple {1316#true} main_~x~0 := main_~a~0;main_~y~0 := main_~b~0;main_~z~0 := 0; {1316#true} is VALID [2021-09-13 14:44:56,915 INFO L281 TraceCheckUtils]: 6: Hoare triple {1316#true} assume !(0 == assume_abort_if_not_~cond); {1316#true} is VALID [2021-09-13 14:44:56,915 INFO L281 TraceCheckUtils]: 5: Hoare triple {1316#true} assume_abort_if_not_#in~cond := (if main_~b~0 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {1316#true} is VALID [2021-09-13 14:44:56,916 INFO L281 TraceCheckUtils]: 4: Hoare triple {1316#true} assume !(0 == assume_abort_if_not_~cond); {1316#true} is VALID [2021-09-13 14:44:56,916 INFO L281 TraceCheckUtils]: 3: Hoare triple {1316#true} assume -2147483648 <= main_#t~nondet8 && main_#t~nondet8 <= 2147483647;main_~b~0 := main_#t~nondet8;havoc main_#t~nondet8;assume_abort_if_not_#in~cond := (if main_~b~0 >= 0 && main_~b~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {1316#true} is VALID [2021-09-13 14:44:56,916 INFO L281 TraceCheckUtils]: 2: Hoare triple {1316#true} assume !(0 == assume_abort_if_not_~cond); {1316#true} is VALID [2021-09-13 14:44:56,916 INFO L281 TraceCheckUtils]: 1: Hoare triple {1316#true} havoc main_#res;havoc main_#t~nondet7, main_#t~nondet8, main_~a~0, main_~b~0, main_~x~0, main_~y~0, main_~z~0;havoc main_~a~0;havoc main_~b~0;havoc main_~x~0;havoc main_~y~0;havoc main_~z~0;assume -2147483648 <= main_#t~nondet7 && main_#t~nondet7 <= 2147483647;main_~a~0 := main_#t~nondet7;havoc main_#t~nondet7;assume_abort_if_not_#in~cond := (if main_~a~0 >= 0 && main_~a~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {1316#true} is VALID [2021-09-13 14:44:56,916 INFO L281 TraceCheckUtils]: 0: Hoare triple {1316#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call #t~string4.base, #t~string4.offset := #Ultimate.allocOnStack(2);call write~init~int(48, #t~string4.base, #t~string4.offset, 1);call write~init~int(0, #t~string4.base, 1 + #t~string4.offset, 1);call #t~string5.base, #t~string5.offset := #Ultimate.allocOnStack(13);call #t~string6.base, #t~string6.offset := #Ultimate.allocOnStack(12); {1316#true} is VALID [2021-09-13 14:44:56,917 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 14:44:56,917 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 14:44:56,917 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1320157029] [2021-09-13 14:44:56,917 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unknown [2021-09-13 14:44:56,917 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1457762203] [2021-09-13 14:44:56,917 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1457762203] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-13 14:44:56,917 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2021-09-13 14:44:56,918 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 17 [2021-09-13 14:44:56,918 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1759138408] [2021-09-13 14:44:56,918 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 17 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 21 [2021-09-13 14:44:56,919 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 14:44:56,919 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 17 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:44:56,969 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 14:44:56,969 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2021-09-13 14:44:56,969 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 14:44:56,969 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2021-09-13 14:44:56,969 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=210, Unknown=0, NotChecked=0, Total=272 [2021-09-13 14:44:56,969 INFO L87 Difference]: Start difference. First operand 34 states and 39 transitions. Second operand has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 17 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:45:00,880 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:45:00,881 INFO L93 Difference]: Finished difference Result 74 states and 86 transitions. [2021-09-13 14:45:00,881 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2021-09-13 14:45:00,881 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 17 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 21 [2021-09-13 14:45:00,881 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 14:45:00,882 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 17 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:45:00,883 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 57 transitions. [2021-09-13 14:45:00,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 17 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:45:00,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 57 transitions. [2021-09-13 14:45:00,884 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 57 transitions. [2021-09-13 14:45:07,629 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 54 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2021-09-13 14:45:07,631 INFO L225 Difference]: With dead ends: 74 [2021-09-13 14:45:07,631 INFO L226 Difference]: Without dead ends: 72 [2021-09-13 14:45:07,632 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 27 SyntacticMatches, 2 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 270 ImplicationChecksByTransitivity, 2684.38ms TimeCoverageRelationStatistics Valid=269, Invalid=853, Unknown=0, NotChecked=0, Total=1122 [2021-09-13 14:45:07,632 INFO L928 BasicCegarLoop]: 0 mSDtfsCounter, 61 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 223 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 999.59ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 61 SdHoareTripleChecker+Valid, 0 SdHoareTripleChecker+Invalid, 306 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 2.05ms SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 223 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 44 IncrementalHoareTripleChecker+Unchecked, 1002.52ms IncrementalHoareTripleChecker+Time [2021-09-13 14:45:07,633 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [61 Valid, 0 Invalid, 306 Unknown, 0 Unchecked, 2.05ms Time], IncrementalHoareTripleChecker [39 Valid, 223 Invalid, 0 Unknown, 44 Unchecked, 1002.52ms Time] [2021-09-13 14:45:07,633 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2021-09-13 14:45:07,684 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 39. [2021-09-13 14:45:07,684 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 14:45:07,684 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 39 states, 38 states have (on average 1.2105263157894737) internal successors, (46), 38 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:45:07,684 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 39 states, 38 states have (on average 1.2105263157894737) internal successors, (46), 38 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:45:07,685 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 39 states, 38 states have (on average 1.2105263157894737) internal successors, (46), 38 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:45:07,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:45:07,687 INFO L93 Difference]: Finished difference Result 72 states and 83 transitions. [2021-09-13 14:45:07,687 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 83 transitions. [2021-09-13 14:45:07,687 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:45:07,688 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:45:07,688 INFO L74 IsIncluded]: Start isIncluded. First operand has 39 states, 38 states have (on average 1.2105263157894737) internal successors, (46), 38 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 72 states. [2021-09-13 14:45:07,688 INFO L87 Difference]: Start difference. First operand has 39 states, 38 states have (on average 1.2105263157894737) internal successors, (46), 38 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 72 states. [2021-09-13 14:45:07,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:45:07,690 INFO L93 Difference]: Finished difference Result 72 states and 83 transitions. [2021-09-13 14:45:07,690 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 83 transitions. [2021-09-13 14:45:07,690 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:45:07,690 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:45:07,690 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 14:45:07,691 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 14:45:07,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 38 states have (on average 1.2105263157894737) internal successors, (46), 38 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:45:07,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 46 transitions. [2021-09-13 14:45:07,692 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 46 transitions. Word has length 21 [2021-09-13 14:45:07,692 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 14:45:07,692 INFO L470 AbstractCegarLoop]: Abstraction has 39 states and 46 transitions. [2021-09-13 14:45:07,693 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 17 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:45:07,693 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 46 transitions. [2021-09-13 14:45:07,693 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2021-09-13 14:45:07,693 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 14:45:07,693 INFO L513 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 14:45:07,713 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2021-09-13 14:45:07,908 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 14:45:07,909 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2021-09-13 14:45:07,909 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 14:45:07,910 INFO L82 PathProgramCache]: Analyzing trace with hash -1277262695, now seen corresponding path program 2 times [2021-09-13 14:45:07,910 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 14:45:07,910 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1080420336] [2021-09-13 14:45:07,910 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 14:45:07,910 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 14:45:07,918 ERROR L247 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2021-09-13 14:45:07,919 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1736875139] [2021-09-13 14:45:07,919 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2021-09-13 14:45:07,919 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 14:45:07,919 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 14:45:07,921 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2021-09-13 14:45:07,925 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2021-09-13 14:45:07,963 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2021-09-13 14:45:07,963 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2021-09-13 14:45:07,964 INFO L263 TraceCheckSpWp]: Trace formula consists of 121 conjuncts, 38 conjunts are in the unsatisfiable core [2021-09-13 14:45:07,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:45:07,982 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 14:45:53,892 WARN L838 $PredicateComparison]: unable to prove that (and (= c_ULTIMATE.start_main_~x~0 (* 16 c_ULTIMATE.start_main_~a~0)) (let ((.cse0 (= c_ULTIMATE.start_main_~a~0 0))) (or (let ((.cse1 (div (+ c_ULTIMATE.start_main_~z~0 (* (- 1) c_ULTIMATE.start_main_~a~0 c_ULTIMATE.start_main_~b~0)) (- 4)))) (and .cse0 (= (div (* .cse1 (- 1)) (- 2)) (* 2 (* c_ULTIMATE.start_main_~a~0 c_ULTIMATE.start_main_~y~0))) (= (mod (+ .cse1 (* 4 c_ULTIMATE.start_main_~a~0 c_ULTIMATE.start_main_~y~0)) (- 2)) 0))) (and (not .cse0) (or (exists ((aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 Int) (aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 Int)) (let ((.cse8 (* (- 1) c_ULTIMATE.start_main_~a~0 c_ULTIMATE.start_main_~b~0))) (let ((.cse5 (* 4 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) (.cse6 (* 4 c_ULTIMATE.start_main_~y~0)) (.cse7 (* 2 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) (.cse3 (div (+ (* (- 2) c_ULTIMATE.start_main_~a~0 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (div (+ c_ULTIMATE.start_main_~z~0 .cse8) (- 4)) (* (- 4) c_ULTIMATE.start_main_~a~0 c_ULTIMATE.start_main_~y~0) (* (- 4) c_ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) c_ULTIMATE.start_main_~a~0)) (.cse4 (+ (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) (.cse2 (+ aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 (* aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 2) (* c_ULTIMATE.start_main_~y~0 2)))) (and (= (mod (+ (* (- 2) c_ULTIMATE.start_main_~a~0 .cse2) (div (+ (* (* c_ULTIMATE.start_main_~a~0 c_ULTIMATE.start_main_~b~0) (- 1)) c_ULTIMATE.start_main_~z~0) (- 4))) c_ULTIMATE.start_main_~a~0) 0) (< aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 2) (< .cse3 2) (<= 0 .cse4) (not (= (+ .cse5 .cse3 .cse6 .cse7) 0)) (< 0 (+ .cse5 .cse3 .cse6 .cse7 1)) (<= 0 .cse3) (< (div (+ (- 1) .cse3) 2) (div .cse3 2)) (< .cse4 2) (not (= aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 1)) (= (mod (+ c_ULTIMATE.start_main_~z~0 .cse8 (* 8 c_ULTIMATE.start_main_~a~0 .cse2)) (- 4)) 0) (<= 0 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48))))) (exists ((aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 Int)) (let ((.cse14 (* (- 1) c_ULTIMATE.start_main_~a~0 c_ULTIMATE.start_main_~b~0))) (let ((.cse12 (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) (.cse13 (+ (* aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 2) (* c_ULTIMATE.start_main_~y~0 2))) (.cse10 (* 4 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) (.cse11 (* 4 c_ULTIMATE.start_main_~y~0)) (.cse9 (div (+ (div (+ c_ULTIMATE.start_main_~z~0 .cse14) (- 4)) (* (- 4) c_ULTIMATE.start_main_~a~0 c_ULTIMATE.start_main_~y~0) (* (- 4) c_ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) c_ULTIMATE.start_main_~a~0))) (and (< (div (+ (- 1) .cse9) 2) (div .cse9 2)) (< 0 (+ .cse10 .cse11 .cse9 1)) (< .cse12 2) (<= 0 .cse12) (< .cse9 2) (<= 0 .cse9) (= (mod (+ c_ULTIMATE.start_main_~z~0 (* 8 c_ULTIMATE.start_main_~a~0 .cse13) .cse14) (- 4)) 0) (= (mod (+ (* (- 2) c_ULTIMATE.start_main_~a~0 .cse13) (div (+ (* (* c_ULTIMATE.start_main_~a~0 c_ULTIMATE.start_main_~b~0) (- 1)) c_ULTIMATE.start_main_~z~0) (- 4))) c_ULTIMATE.start_main_~a~0) 0) (not (= (+ .cse10 .cse11 .cse9) 0))))))))))) is different from false [2021-09-13 14:45:54,543 INFO L281 TraceCheckUtils]: 0: Hoare triple {1787#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call #t~string4.base, #t~string4.offset := #Ultimate.allocOnStack(2);call write~init~int(48, #t~string4.base, #t~string4.offset, 1);call write~init~int(0, #t~string4.base, 1 + #t~string4.offset, 1);call #t~string5.base, #t~string5.offset := #Ultimate.allocOnStack(13);call #t~string6.base, #t~string6.offset := #Ultimate.allocOnStack(12); {1787#true} is VALID [2021-09-13 14:45:54,544 INFO L281 TraceCheckUtils]: 1: Hoare triple {1787#true} havoc main_#res;havoc main_#t~nondet7, main_#t~nondet8, main_~a~0, main_~b~0, main_~x~0, main_~y~0, main_~z~0;havoc main_~a~0;havoc main_~b~0;havoc main_~x~0;havoc main_~y~0;havoc main_~z~0;assume -2147483648 <= main_#t~nondet7 && main_#t~nondet7 <= 2147483647;main_~a~0 := main_#t~nondet7;havoc main_#t~nondet7;assume_abort_if_not_#in~cond := (if main_~a~0 >= 0 && main_~a~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {1787#true} is VALID [2021-09-13 14:45:54,544 INFO L281 TraceCheckUtils]: 2: Hoare triple {1787#true} assume !(0 == assume_abort_if_not_~cond); {1787#true} is VALID [2021-09-13 14:45:54,544 INFO L281 TraceCheckUtils]: 3: Hoare triple {1787#true} assume -2147483648 <= main_#t~nondet8 && main_#t~nondet8 <= 2147483647;main_~b~0 := main_#t~nondet8;havoc main_#t~nondet8;assume_abort_if_not_#in~cond := (if main_~b~0 >= 0 && main_~b~0 <= 20 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {1787#true} is VALID [2021-09-13 14:45:54,544 INFO L281 TraceCheckUtils]: 4: Hoare triple {1787#true} assume !(0 == assume_abort_if_not_~cond); {1787#true} is VALID [2021-09-13 14:45:54,544 INFO L281 TraceCheckUtils]: 5: Hoare triple {1787#true} assume_abort_if_not_#in~cond := (if main_~b~0 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {1787#true} is VALID [2021-09-13 14:45:54,544 INFO L281 TraceCheckUtils]: 6: Hoare triple {1787#true} assume !(0 == assume_abort_if_not_~cond); {1787#true} is VALID [2021-09-13 14:45:54,545 INFO L281 TraceCheckUtils]: 7: Hoare triple {1787#true} main_~x~0 := main_~a~0;main_~y~0 := main_~b~0;main_~z~0 := 0; {1813#(= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0)} is VALID [2021-09-13 14:45:54,546 INFO L281 TraceCheckUtils]: 8: Hoare triple {1813#(= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0)} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {1813#(= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0)} is VALID [2021-09-13 14:45:54,546 INFO L281 TraceCheckUtils]: 9: Hoare triple {1813#(= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0)} assume !(0 == __VERIFIER_assert_~cond); {1813#(= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0)} is VALID [2021-09-13 14:45:54,547 INFO L281 TraceCheckUtils]: 10: Hoare triple {1813#(= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0)} assume !!(0 != main_~y~0); {1813#(= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0)} is VALID [2021-09-13 14:45:54,547 INFO L281 TraceCheckUtils]: 11: Hoare triple {1813#(= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0)} assume 1 == (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then main_~y~0 % 2 - 2 else main_~y~0 % 2);main_~z~0 := main_~z~0 + main_~x~0;main_~y~0 := main_~y~0 - 1; {1813#(= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0)} is VALID [2021-09-13 14:45:54,548 INFO L281 TraceCheckUtils]: 12: Hoare triple {1813#(= ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~x~0)} main_~x~0 := 2 * main_~x~0;main_~y~0 := (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then 1 + main_~y~0 / 2 else main_~y~0 / 2); {1829#(= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0))} is VALID [2021-09-13 14:45:54,548 INFO L281 TraceCheckUtils]: 13: Hoare triple {1829#(= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0))} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {1829#(= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0))} is VALID [2021-09-13 14:45:54,548 INFO L281 TraceCheckUtils]: 14: Hoare triple {1829#(= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0))} assume !(0 == __VERIFIER_assert_~cond); {1829#(= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0))} is VALID [2021-09-13 14:45:54,550 INFO L281 TraceCheckUtils]: 15: Hoare triple {1829#(= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0))} assume !!(0 != main_~y~0); {1839#(and (= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0)) (not (= ULTIMATE.start_main_~y~0 0)))} is VALID [2021-09-13 14:45:54,552 INFO L281 TraceCheckUtils]: 16: Hoare triple {1839#(and (= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0)) (not (= ULTIMATE.start_main_~y~0 0)))} assume 1 == (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then main_~y~0 % 2 - 2 else main_~y~0 % 2);main_~z~0 := main_~z~0 + main_~x~0;main_~y~0 := main_~y~0 - 1; {1843#(and (= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0)) (<= 1 (mod (+ ULTIMATE.start_main_~y~0 1) 2)) (<= 0 (+ ULTIMATE.start_main_~y~0 1)))} is VALID [2021-09-13 14:45:54,560 INFO L281 TraceCheckUtils]: 17: Hoare triple {1843#(and (= ULTIMATE.start_main_~x~0 (* 2 ULTIMATE.start_main_~a~0)) (<= 1 (mod (+ ULTIMATE.start_main_~y~0 1) 2)) (<= 0 (+ ULTIMATE.start_main_~y~0 1)))} main_~x~0 := 2 * main_~x~0;main_~y~0 := (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then 1 + main_~y~0 / 2 else main_~y~0 / 2); {1847#(and (= ULTIMATE.start_main_~x~0 (* 4 ULTIMATE.start_main_~a~0)) (exists ((aux_div_v_ULTIMATE.start_main_~y~0_28_43 Int) (aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_28_43_105 Int)) (and (< (+ aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_28_43_105 (* 2 ULTIMATE.start_main_~y~0)) (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_28_43) 1)) (<= 0 (+ aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_28_43_105 (* 2 ULTIMATE.start_main_~y~0) 1)) (<= (* 2 aux_div_v_ULTIMATE.start_main_~y~0_28_43) (+ aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_28_43_105 (* 2 ULTIMATE.start_main_~y~0))) (<= 0 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_28_43_105) (< aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_28_43_105 2))))} is VALID [2021-09-13 14:45:54,562 INFO L281 TraceCheckUtils]: 18: Hoare triple {1847#(and (= ULTIMATE.start_main_~x~0 (* 4 ULTIMATE.start_main_~a~0)) (exists ((aux_div_v_ULTIMATE.start_main_~y~0_28_43 Int) (aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_28_43_105 Int)) (and (< (+ aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_28_43_105 (* 2 ULTIMATE.start_main_~y~0)) (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_28_43) 1)) (<= 0 (+ aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_28_43_105 (* 2 ULTIMATE.start_main_~y~0) 1)) (<= (* 2 aux_div_v_ULTIMATE.start_main_~y~0_28_43) (+ aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_28_43_105 (* 2 ULTIMATE.start_main_~y~0))) (<= 0 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_28_43_105) (< aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_28_43_105 2))))} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {1851#(and (< 0 (+ ULTIMATE.start_main_~y~0 1)) (or (and (= 0 ULTIMATE.start___VERIFIER_assert_~cond) (not (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))))) (and (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))) (= 1 ULTIMATE.start___VERIFIER_assert_~cond))) (= ULTIMATE.start_main_~x~0 (* 4 ULTIMATE.start_main_~a~0)))} is VALID [2021-09-13 14:45:54,562 INFO L281 TraceCheckUtils]: 19: Hoare triple {1851#(and (< 0 (+ ULTIMATE.start_main_~y~0 1)) (or (and (= 0 ULTIMATE.start___VERIFIER_assert_~cond) (not (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))))) (and (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))) (= 1 ULTIMATE.start___VERIFIER_assert_~cond))) (= ULTIMATE.start_main_~x~0 (* 4 ULTIMATE.start_main_~a~0)))} assume !(0 == __VERIFIER_assert_~cond); {1855#(and (< 0 (+ ULTIMATE.start_main_~y~0 1)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))) (= ULTIMATE.start_main_~x~0 (* 4 ULTIMATE.start_main_~a~0)))} is VALID [2021-09-13 14:45:54,563 INFO L281 TraceCheckUtils]: 20: Hoare triple {1855#(and (< 0 (+ ULTIMATE.start_main_~y~0 1)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))) (= ULTIMATE.start_main_~x~0 (* 4 ULTIMATE.start_main_~a~0)))} assume !!(0 != main_~y~0); {1859#(and (< 0 (+ ULTIMATE.start_main_~y~0 1)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))) (= ULTIMATE.start_main_~x~0 (* 4 ULTIMATE.start_main_~a~0)) (not (= ULTIMATE.start_main_~y~0 0)))} is VALID [2021-09-13 14:45:54,564 INFO L281 TraceCheckUtils]: 21: Hoare triple {1859#(and (< 0 (+ ULTIMATE.start_main_~y~0 1)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))) (= ULTIMATE.start_main_~x~0 (* 4 ULTIMATE.start_main_~a~0)) (not (= ULTIMATE.start_main_~y~0 0)))} assume !(1 == (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then main_~y~0 % 2 - 2 else main_~y~0 % 2)); {1863#(and (< 0 (+ ULTIMATE.start_main_~y~0 1)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))) (not (= (mod ULTIMATE.start_main_~y~0 2) 1)) (= ULTIMATE.start_main_~x~0 (* 4 ULTIMATE.start_main_~a~0)) (not (= ULTIMATE.start_main_~y~0 0)))} is VALID [2021-09-13 14:45:54,588 INFO L281 TraceCheckUtils]: 22: Hoare triple {1863#(and (< 0 (+ ULTIMATE.start_main_~y~0 1)) (= (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (+ ULTIMATE.start_main_~z~0 (* ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0))) (not (= (mod ULTIMATE.start_main_~y~0 2) 1)) (= ULTIMATE.start_main_~x~0 (* 4 ULTIMATE.start_main_~a~0)) (not (= ULTIMATE.start_main_~y~0 0)))} main_~x~0 := 2 * main_~x~0;main_~y~0 := (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then 1 + main_~y~0 / 2 else main_~y~0 / 2); {1867#(and (= (* 8 ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (or (and (exists ((aux_div_v_ULTIMATE.start_main_~y~0_29_37 Int)) (and (not (= (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_29_37) 1) (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0)))) (<= (* 2 aux_div_v_ULTIMATE.start_main_~y~0_29_37) (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0))) (< (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0)) (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_29_37) 2)))) (= (mod (+ (div (+ ULTIMATE.start_main_~z~0 (- (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0))) (- 4)) (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) ULTIMATE.start_main_~a~0) 0) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0) (<= 0 (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0)) (< 0 (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0) 1)) (not (= (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0)) 0)) (not (= ULTIMATE.start_main_~a~0 0)) (< (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) 2)) (and (= ULTIMATE.start_main_~a~0 0) (= (* 2 (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0))))} is VALID [2021-09-13 14:45:54,648 INFO L281 TraceCheckUtils]: 23: Hoare triple {1867#(and (= (* 8 ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (or (and (exists ((aux_div_v_ULTIMATE.start_main_~y~0_29_37 Int)) (and (not (= (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_29_37) 1) (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0)))) (<= (* 2 aux_div_v_ULTIMATE.start_main_~y~0_29_37) (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0))) (< (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0)) (+ (* 2 aux_div_v_ULTIMATE.start_main_~y~0_29_37) 2)))) (= (mod (+ (div (+ ULTIMATE.start_main_~z~0 (- (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0))) (- 4)) (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) ULTIMATE.start_main_~a~0) 0) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0) (<= 0 (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0)) (< 0 (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0) 1)) (not (= (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0)) 0)) (not (= ULTIMATE.start_main_~a~0 0)) (< (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) 2)) (and (= ULTIMATE.start_main_~a~0 0) (= (* 2 (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0))))} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {1871#(and (= (* 8 ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (= 1 ULTIMATE.start___VERIFIER_assert_~cond) (or (and (= (mod (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ (* (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (- 1)) ULTIMATE.start_main_~z~0) (- 4))) ULTIMATE.start_main_~a~0) 0) (< (div (+ (- 1) (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0)) 2) (div (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) 2)) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0) (<= 0 (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0)) (< 0 (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0) 1)) (not (= (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0)) 0)) (not (= ULTIMATE.start_main_~a~0 0)) (< (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) 2)) (and (= ULTIMATE.start_main_~a~0 0) (= (* 2 (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0))))} is VALID [2021-09-13 14:45:54,649 INFO L281 TraceCheckUtils]: 24: Hoare triple {1871#(and (= (* 8 ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (= 1 ULTIMATE.start___VERIFIER_assert_~cond) (or (and (= (mod (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ (* (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (- 1)) ULTIMATE.start_main_~z~0) (- 4))) ULTIMATE.start_main_~a~0) 0) (< (div (+ (- 1) (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0)) 2) (div (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) 2)) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0) (<= 0 (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0)) (< 0 (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0) 1)) (not (= (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0)) 0)) (not (= ULTIMATE.start_main_~a~0 0)) (< (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) 2)) (and (= ULTIMATE.start_main_~a~0 0) (= (* 2 (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0))))} assume !(0 == __VERIFIER_assert_~cond); {1875#(and (= (* 8 ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (or (and (= (mod (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ (* (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (- 1)) ULTIMATE.start_main_~z~0) (- 4))) ULTIMATE.start_main_~a~0) 0) (< (div (+ (- 1) (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0)) 2) (div (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) 2)) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0) (<= 0 (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0)) (< 0 (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0) 1)) (not (= (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0)) 0)) (not (= ULTIMATE.start_main_~a~0 0)) (< (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) 2)) (and (= ULTIMATE.start_main_~a~0 0) (= (* 2 (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0))))} is VALID [2021-09-13 14:45:54,649 INFO L281 TraceCheckUtils]: 25: Hoare triple {1875#(and (= (* 8 ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (or (and (= (mod (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ (* (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (- 1)) ULTIMATE.start_main_~z~0) (- 4))) ULTIMATE.start_main_~a~0) 0) (< (div (+ (- 1) (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0)) 2) (div (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) 2)) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0) (<= 0 (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0)) (< 0 (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0) 1)) (not (= (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0)) 0)) (not (= ULTIMATE.start_main_~a~0 0)) (< (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) 2)) (and (= ULTIMATE.start_main_~a~0 0) (= (* 2 (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0))))} assume !!(0 != main_~y~0); {1875#(and (= (* 8 ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (or (and (= (mod (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ (* (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (- 1)) ULTIMATE.start_main_~z~0) (- 4))) ULTIMATE.start_main_~a~0) 0) (< (div (+ (- 1) (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0)) 2) (div (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) 2)) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0) (<= 0 (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0)) (< 0 (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0) 1)) (not (= (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0)) 0)) (not (= ULTIMATE.start_main_~a~0 0)) (< (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) 2)) (and (= ULTIMATE.start_main_~a~0 0) (= (* 2 (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0))))} is VALID [2021-09-13 14:45:54,651 INFO L281 TraceCheckUtils]: 26: Hoare triple {1875#(and (= (* 8 ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (or (and (= (mod (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ (* (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (- 1)) ULTIMATE.start_main_~z~0) (- 4))) ULTIMATE.start_main_~a~0) 0) (< (div (+ (- 1) (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0)) 2) (div (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) 2)) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0) (<= 0 (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0)) (< 0 (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0) 1)) (not (= (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0)) 0)) (not (= ULTIMATE.start_main_~a~0 0)) (< (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) 2)) (and (= ULTIMATE.start_main_~a~0 0) (= (* 2 (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0))))} assume !(1 == (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then main_~y~0 % 2 - 2 else main_~y~0 % 2)); {1882#(and (= (* 8 ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (or (not (= (mod ULTIMATE.start_main_~y~0 2) 1)) (< ULTIMATE.start_main_~y~0 0)) (or (and (= (mod (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ (* (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (- 1)) ULTIMATE.start_main_~z~0) (- 4))) ULTIMATE.start_main_~a~0) 0) (< (div (+ (- 1) (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0)) 2) (div (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) 2)) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0) (<= 0 (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0)) (< 0 (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0) 1)) (not (= (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0)) 0)) (not (= ULTIMATE.start_main_~a~0 0)) (< (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) 2)) (and (= ULTIMATE.start_main_~a~0 0) (= (* 2 (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0))))} is VALID [2021-09-13 14:45:56,756 INFO L281 TraceCheckUtils]: 27: Hoare triple {1882#(and (= (* 8 ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (or (not (= (mod ULTIMATE.start_main_~y~0 2) 1)) (< ULTIMATE.start_main_~y~0 0)) (or (and (= (mod (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ (* (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (- 1)) ULTIMATE.start_main_~z~0) (- 4))) ULTIMATE.start_main_~a~0) 0) (< (div (+ (- 1) (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0)) 2) (div (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) 2)) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0) (<= 0 (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0)) (< 0 (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0) 1)) (not (= (+ (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) (* 2 ULTIMATE.start_main_~y~0)) 0)) (not (= ULTIMATE.start_main_~a~0 0)) (< (div (+ (* (- 2) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) ULTIMATE.start_main_~a~0) 2)) (and (= ULTIMATE.start_main_~a~0 0) (= (* 2 (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4))) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 4)) 0))))} main_~x~0 := 2 * main_~x~0;main_~y~0 := (if main_~y~0 < 0 && 0 != main_~y~0 % 2 then 1 + main_~y~0 / 2 else main_~y~0 / 2); {1886#(and (= ULTIMATE.start_main_~x~0 (* 16 ULTIMATE.start_main_~a~0)) (or (and (= ULTIMATE.start_main_~a~0 0) (= (div (* (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (- 1)) (- 2)) (* 2 (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0))) (= (mod (+ (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* 4 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 2)) 0)) (and (not (= ULTIMATE.start_main_~a~0 0)) (or (exists ((aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 Int) (aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 Int)) (and (= (mod (+ (* (- 2) ULTIMATE.start_main_~a~0 (+ aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 (* aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 2) (* ULTIMATE.start_main_~y~0 2))) (div (+ (* (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (- 1)) ULTIMATE.start_main_~z~0) (- 4))) ULTIMATE.start_main_~a~0) 0) (< aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 2) (< (div (+ (* (- 2) ULTIMATE.start_main_~a~0 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0) 2) (<= 0 (+ (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) (not (= (+ (* 4 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (div (+ (* (- 2) ULTIMATE.start_main_~a~0 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0) (* 4 ULTIMATE.start_main_~y~0) (* 2 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) 0)) (< 0 (+ (* 4 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (div (+ (* (- 2) ULTIMATE.start_main_~a~0 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0) (* 4 ULTIMATE.start_main_~y~0) (* 2 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) 1)) (<= 0 (div (+ (* (- 2) ULTIMATE.start_main_~a~0 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0)) (< (div (+ (- 1) (div (+ (* (- 2) ULTIMATE.start_main_~a~0 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0)) 2) (div (div (+ (* (- 2) ULTIMATE.start_main_~a~0 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0) 2)) (< (+ (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) 2) (not (= aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 1)) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 (+ aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 (* aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 2) (* ULTIMATE.start_main_~y~0 2)))) (- 4)) 0) (<= 0 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48))) (exists ((aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 Int)) (and (< (div (+ (- 1) (div (+ (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0)) 2) (div (div (+ (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0) 2)) (< 0 (+ (* 4 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (* 4 ULTIMATE.start_main_~y~0) (div (+ (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0) 1)) (< (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) 2) (<= 0 (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) (< (div (+ (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0) 2) (<= 0 (div (+ (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0)) (= (mod (+ ULTIMATE.start_main_~z~0 (* 8 ULTIMATE.start_main_~a~0 (+ (* aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 2) (* ULTIMATE.start_main_~y~0 2))) (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) 0) (= (mod (+ (* (- 2) ULTIMATE.start_main_~a~0 (+ (* aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 2) (* ULTIMATE.start_main_~y~0 2))) (div (+ (* (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (- 1)) ULTIMATE.start_main_~z~0) (- 4))) ULTIMATE.start_main_~a~0) 0) (not (= (+ (* 4 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (* 4 ULTIMATE.start_main_~y~0) (div (+ (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0)) 0))))))))} is UNKNOWN [2021-09-13 14:45:56,766 INFO L281 TraceCheckUtils]: 28: Hoare triple {1886#(and (= ULTIMATE.start_main_~x~0 (* 16 ULTIMATE.start_main_~a~0)) (or (and (= ULTIMATE.start_main_~a~0 0) (= (div (* (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (- 1)) (- 2)) (* 2 (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0))) (= (mod (+ (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* 4 ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0)) (- 2)) 0)) (and (not (= ULTIMATE.start_main_~a~0 0)) (or (exists ((aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 Int) (aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 Int)) (and (= (mod (+ (* (- 2) ULTIMATE.start_main_~a~0 (+ aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 (* aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 2) (* ULTIMATE.start_main_~y~0 2))) (div (+ (* (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (- 1)) ULTIMATE.start_main_~z~0) (- 4))) ULTIMATE.start_main_~a~0) 0) (< aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 2) (< (div (+ (* (- 2) ULTIMATE.start_main_~a~0 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0) 2) (<= 0 (+ (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) (not (= (+ (* 4 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (div (+ (* (- 2) ULTIMATE.start_main_~a~0 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0) (* 4 ULTIMATE.start_main_~y~0) (* 2 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) 0)) (< 0 (+ (* 4 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (div (+ (* (- 2) ULTIMATE.start_main_~a~0 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0) (* 4 ULTIMATE.start_main_~y~0) (* 2 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) 1)) (<= 0 (div (+ (* (- 2) ULTIMATE.start_main_~a~0 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0)) (< (div (+ (- 1) (div (+ (* (- 2) ULTIMATE.start_main_~a~0 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0)) 2) (div (div (+ (* (- 2) ULTIMATE.start_main_~a~0 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0) 2)) (< (+ (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) 2) (not (= aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 1)) (= (mod (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (* 8 ULTIMATE.start_main_~a~0 (+ aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 (* aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 2) (* ULTIMATE.start_main_~y~0 2)))) (- 4)) 0) (<= 0 aux_mod_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48))) (exists ((aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 Int)) (and (< (div (+ (- 1) (div (+ (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0)) 2) (div (div (+ (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0) 2)) (< 0 (+ (* 4 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (* 4 ULTIMATE.start_main_~y~0) (div (+ (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0) 1)) (< (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) 2) (<= 0 (* 2 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) (< (div (+ (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0) 2) (<= 0 (div (+ (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0)) (= (mod (+ ULTIMATE.start_main_~z~0 (* 8 ULTIMATE.start_main_~a~0 (+ (* aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 2) (* ULTIMATE.start_main_~y~0 2))) (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) 0) (= (mod (+ (* (- 2) ULTIMATE.start_main_~a~0 (+ (* aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48 2) (* ULTIMATE.start_main_~y~0 2))) (div (+ (* (* ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0) (- 1)) ULTIMATE.start_main_~z~0) (- 4))) ULTIMATE.start_main_~a~0) 0) (not (= (+ (* 4 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48) (* 4 ULTIMATE.start_main_~y~0) (div (+ (div (+ ULTIMATE.start_main_~z~0 (* (- 1) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~b~0)) (- 4)) (* (- 4) ULTIMATE.start_main_~a~0 ULTIMATE.start_main_~y~0) (* (- 4) ULTIMATE.start_main_~a~0 aux_div_aux_mod_v_ULTIMATE.start_main_~y~0_30_37_48)) ULTIMATE.start_main_~a~0)) 0))))))))} assume !false;__VERIFIER_assert_#in~cond := (if main_~z~0 + main_~x~0 * main_~y~0 == main_~a~0 * main_~b~0 then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {1890#(<= 0 ULTIMATE.start___VERIFIER_assert_~cond)} is VALID [2021-09-13 14:45:56,766 INFO L281 TraceCheckUtils]: 29: Hoare triple {1890#(<= 0 ULTIMATE.start___VERIFIER_assert_~cond)} assume 0 == __VERIFIER_assert_~cond; {1787#true} is VALID [2021-09-13 14:45:56,767 INFO L281 TraceCheckUtils]: 30: Hoare triple {1787#true} assume !false; {1788#false} is INVALID [2021-09-13 14:45:56,768 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 14:45:56,768 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1080420336] [2021-09-13 14:45:56,768 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unknown [2021-09-13 14:45:56,768 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1736875139] [2021-09-13 14:45:56,768 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_DEPENDING: invalid Hoare triple in FP [2021-09-13 14:45:56,768 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 0 imperfect interpolant sequences. [2021-09-13 14:45:56,768 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [] total 0 [2021-09-13 14:45:56,768 ERROR L172 FreeRefinementEngine]: Strategy CAMEL failed to provide any proof altough trace is infeasible [2021-09-13 14:45:56,768 INFO L627 BasicCegarLoop]: Counterexample might be feasible [2021-09-13 14:45:56,771 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (1 of 2 remaining) [2021-09-13 14:45:56,772 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION (0 of 2 remaining) [2021-09-13 14:45:56,794 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2021-09-13 14:45:56,981 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 14:45:56,985 INFO L179 ceAbstractionStarter]: Computing trace abstraction results [2021-09-13 14:45:56,999 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2021-09-13 14:45:56,999 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2021-09-13 14:45:57,000 WARN L170 areAnnotationChecker]: L10 has no Hoare annotation [2021-09-13 14:45:57,000 WARN L170 areAnnotationChecker]: L10 has no Hoare annotation [2021-09-13 14:45:57,000 WARN L170 areAnnotationChecker]: L9 has no Hoare annotation [2021-09-13 14:45:57,000 WARN L170 areAnnotationChecker]: L10-2 has no Hoare annotation [2021-09-13 14:45:57,000 WARN L170 areAnnotationChecker]: L10-2 has no Hoare annotation [2021-09-13 14:45:57,000 WARN L170 areAnnotationChecker]: L9-1 has no Hoare annotation [2021-09-13 14:45:57,000 WARN L170 areAnnotationChecker]: L10-4 has no Hoare annotation [2021-09-13 14:45:57,000 WARN L170 areAnnotationChecker]: L10-4 has no Hoare annotation [2021-09-13 14:45:57,000 WARN L170 areAnnotationChecker]: L9-2 has no Hoare annotation [2021-09-13 14:45:57,000 WARN L170 areAnnotationChecker]: L34-2 has no Hoare annotation [2021-09-13 14:45:57,001 WARN L170 areAnnotationChecker]: L34-2 has no Hoare annotation [2021-09-13 14:45:57,001 WARN L170 areAnnotationChecker]: L34-2 has no Hoare annotation [2021-09-13 14:45:57,001 WARN L170 areAnnotationChecker]: L34-3 has no Hoare annotation [2021-09-13 14:45:57,001 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2021-09-13 14:45:57,001 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2021-09-13 14:45:57,001 WARN L170 areAnnotationChecker]: L13-3 has no Hoare annotation [2021-09-13 14:45:57,001 WARN L170 areAnnotationChecker]: L13-3 has no Hoare annotation [2021-09-13 14:45:57,001 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2021-09-13 14:45:57,001 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2021-09-13 14:45:57,002 WARN L170 areAnnotationChecker]: L13-2 has no Hoare annotation [2021-09-13 14:45:57,002 WARN L170 areAnnotationChecker]: L13-2 has no Hoare annotation [2021-09-13 14:45:57,002 WARN L170 areAnnotationChecker]: L14-1 has no Hoare annotation [2021-09-13 14:45:57,002 WARN L170 areAnnotationChecker]: L14-1 has no Hoare annotation [2021-09-13 14:45:57,002 WARN L170 areAnnotationChecker]: L13-5 has no Hoare annotation [2021-09-13 14:45:57,002 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2021-09-13 14:45:57,002 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2021-09-13 14:45:57,002 WARN L170 areAnnotationChecker]: L48 has no Hoare annotation [2021-09-13 14:45:57,002 WARN L170 areAnnotationChecker]: L39-2 has no Hoare annotation [2021-09-13 14:45:57,002 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2021-09-13 14:45:57,003 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2021-09-13 14:45:57,003 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 13.09 02:45:57 BoogieIcfgContainer [2021-09-13 14:45:57,003 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2021-09-13 14:45:57,004 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2021-09-13 14:45:57,004 INFO L271 PluginConnector]: Initializing Witness Printer... [2021-09-13 14:45:57,004 INFO L275 PluginConnector]: Witness Printer initialized [2021-09-13 14:45:57,005 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 13.09 02:41:38" (3/4) ... [2021-09-13 14:45:57,007 INFO L140 WitnessPrinter]: No result that supports witness generation found [2021-09-13 14:45:57,008 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2021-09-13 14:45:57,008 INFO L158 Benchmark]: Toolchain (without parser) took 259091.24ms. Allocated memory was 54.5MB in the beginning and 83.9MB in the end (delta: 29.4MB). Free memory was 31.8MB in the beginning and 59.1MB in the end (delta: -27.2MB). Peak memory consumption was 765.6kB. Max. memory is 16.1GB. [2021-09-13 14:45:57,009 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 54.5MB. Free memory was 36.9MB in the beginning and 36.8MB in the end (delta: 38.3kB). There was no memory consumed. Max. memory is 16.1GB. [2021-09-13 14:45:57,009 INFO L158 Benchmark]: CACSL2BoogieTranslator took 249.60ms. Allocated memory was 54.5MB in the beginning and 69.2MB in the end (delta: 14.7MB). Free memory was 31.7MB in the beginning and 52.5MB in the end (delta: -20.8MB). Peak memory consumption was 7.3MB. Max. memory is 16.1GB. [2021-09-13 14:45:57,009 INFO L158 Benchmark]: Boogie Procedure Inliner took 43.59ms. Allocated memory is still 69.2MB. Free memory was 52.5MB in the beginning and 50.9MB in the end (delta: 1.6MB). There was no memory consumed. Max. memory is 16.1GB. [2021-09-13 14:45:57,010 INFO L158 Benchmark]: Boogie Preprocessor took 34.61ms. Allocated memory is still 69.2MB. Free memory was 50.8MB in the beginning and 49.7MB in the end (delta: 1.0MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2021-09-13 14:45:57,010 INFO L158 Benchmark]: RCFGBuilder took 308.09ms. Allocated memory is still 69.2MB. Free memory was 49.6MB in the beginning and 39.6MB in the end (delta: 10.0MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2021-09-13 14:45:57,010 INFO L158 Benchmark]: TraceAbstraction took 258443.53ms. Allocated memory was 69.2MB in the beginning and 83.9MB in the end (delta: 14.7MB). Free memory was 39.1MB in the beginning and 59.1MB in the end (delta: -20.0MB). Peak memory consumption was 37.4MB. Max. memory is 16.1GB. [2021-09-13 14:45:57,010 INFO L158 Benchmark]: Witness Printer took 3.54ms. Allocated memory is still 83.9MB. Free memory is still 59.1MB. There was no memory consumed. Max. memory is 16.1GB. [2021-09-13 14:45:57,013 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11ms. Allocated memory is still 54.5MB. Free memory was 36.9MB in the beginning and 36.8MB in the end (delta: 38.3kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 249.60ms. Allocated memory was 54.5MB in the beginning and 69.2MB in the end (delta: 14.7MB). Free memory was 31.7MB in the beginning and 52.5MB in the end (delta: -20.8MB). Peak memory consumption was 7.3MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 43.59ms. Allocated memory is still 69.2MB. Free memory was 52.5MB in the beginning and 50.9MB in the end (delta: 1.6MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 34.61ms. Allocated memory is still 69.2MB. Free memory was 50.8MB in the beginning and 49.7MB in the end (delta: 1.0MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 308.09ms. Allocated memory is still 69.2MB. Free memory was 49.6MB in the beginning and 39.6MB in the end (delta: 10.0MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * TraceAbstraction took 258443.53ms. Allocated memory was 69.2MB in the beginning and 83.9MB in the end (delta: 14.7MB). Free memory was 39.1MB in the beginning and 59.1MB in the end (delta: -20.0MB). Peak memory consumption was 37.4MB. Max. memory is 16.1GB. * Witness Printer took 3.54ms. Allocated memory is still 83.9MB. Free memory is still 59.1MB. There was no memory consumed. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.00ms ErrorAutomatonConstructionTimeTotal, 0.00ms FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.00ms ErrorAutomatonConstructionTimeAvg, 0.00ms ErrorAutomatonDifferenceTimeAvg, 0.00ms ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - UnprovableResult [Line: 15]: Unable to prove that call to reach_error is unreachable Unable to prove that call to reach_error is unreachable Reason: unable to decide satisfiability of path constraint. Possible FailurePath: [L21] int a, b; [L22] long long x, y, z; [L24] a = __VERIFIER_nondet_int() [L10] COND FALSE !(!cond) [L26] b = __VERIFIER_nondet_int() [L10] COND FALSE !(!cond) [L10] COND FALSE !(!cond) [L30] x = a [L31] y = b [L32] z = 0 [L34] COND TRUE 1 [L13] COND FALSE !(!(cond)) [L36] COND FALSE !(!(y != 0)) [L39] COND TRUE y % 2 == 1 [L40] z = z + x [L41] y = y - 1 [L43] x = 2 * x [L44] y = y / 2 [L34] COND TRUE 1 [L13] COND FALSE !(!(cond)) [L36] COND FALSE !(!(y != 0)) [L39] COND TRUE y % 2 == 1 [L40] z = z + x [L41] y = y - 1 [L43] x = 2 * x [L44] y = y / 2 [L34] COND TRUE 1 [L13] COND FALSE !(!(cond)) [L36] COND FALSE !(!(y != 0)) [L39] COND FALSE !(y % 2 == 1) [L43] x = 2 * x [L44] y = y / 2 [L34] COND TRUE 1 [L13] COND FALSE !(!(cond)) [L36] COND FALSE !(!(y != 0)) [L39] COND FALSE !(y % 2 == 1) [L43] x = 2 * x [L44] y = y / 2 [L34] COND TRUE 1 [L13] COND TRUE !(cond) [L15] reach_error() - UnprovableResult [Line: 15]: Unable to prove that call to reach_error is unreachable Unable to prove that call to reach_error is unreachable Reason: Not analyzed. - StatisticsResult: Ultimate Automizer benchmark data CFG has 1 procedures, 23 locations, 2 error locations. Started 1 CEGAR loops. OverallTime: 258335.52ms, OverallIterations: 8, TraceHistogramMax: 5, EmptinessCheckTime: 12.87ms, AutomataDifference: 27997.74ms, DeadEndRemovalTime: 0.00ms, HoareAnnotationTime: 0.00ms, InitialAbstractionConstructionTime: 7.50ms, PartialOrderReductionTime: 0.00ms, HoareTripleCheckerStatistics: 2 mSolverCounterUnknown, 262 SdHoareTripleChecker+Valid, 7756.20ms IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 262 mSDsluCounter, 0 SdHoareTripleChecker+Invalid, 7730.86ms Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 62 IncrementalHoareTripleChecker+Unchecked, 314 mSDsCounter, 109 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 725 IncrementalHoareTripleChecker+Invalid, 898 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 109 mSolverCounterUnsat, 0 mSDtfsCounter, 725 mSolverCounterSat, 12.02ms SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 188 GetRequests, 100 SyntacticMatches, 4 SemanticMatches, 84 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 403 ImplicationChecksByTransitivity, 12855.84ms Time, 0.00ms BasicInterpolantAutomatonTime, BiggestAbstraction: size=39occurred in iteration=7, InterpolantAutomatonStates: 70, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.00ms DumpTime, AutomataMinimizationStatistics: 259.58ms AutomataMinimizationTime, 7 MinimizatonAttempts, 72 StatesRemovedByMinimization, 6 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 44.01ms SsaConstructionTime, 127.34ms SatisfiabilityAnalysisTime, 174666.14ms InterpolantComputationTime, 108 NumberOfCodeBlocks, 108 NumberOfCodeBlocksAsserted, 7 NumberOfCheckSat, 151 ConstructedInterpolants, 2 QuantifiedInterpolants, 1581 SizeOfPredicates, 40 NumberOfNonLiveVariables, 486 ConjunctsInSsa, 99 ConjunctsInUnsatCore, 10 InterpolantComputations, 4 PerfectInterpolantSequences, 10/29 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces [2021-09-13 14:45:57,178 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... ### Bit-precise run ### This is Ultimate 0.2.1-wip.dd.seqcomp-5fbdf5b [2021-09-13 14:45:58,878 INFO L177 SettingsManager]: Resetting all preferences to default values... [2021-09-13 14:45:58,880 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2021-09-13 14:45:58,911 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2021-09-13 14:45:58,912 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2021-09-13 14:45:58,916 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2021-09-13 14:45:58,917 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2021-09-13 14:45:58,923 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2021-09-13 14:45:58,925 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2021-09-13 14:45:58,930 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2021-09-13 14:45:58,931 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2021-09-13 14:45:58,935 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2021-09-13 14:45:58,936 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2021-09-13 14:45:58,937 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2021-09-13 14:45:58,939 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2021-09-13 14:45:58,940 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2021-09-13 14:45:58,944 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2021-09-13 14:45:58,944 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2021-09-13 14:45:58,947 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2021-09-13 14:45:58,950 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2021-09-13 14:45:58,954 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2021-09-13 14:45:58,955 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2021-09-13 14:45:58,956 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2021-09-13 14:45:58,957 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2021-09-13 14:45:58,960 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2021-09-13 14:45:58,961 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2021-09-13 14:45:58,961 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2021-09-13 14:45:58,962 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2021-09-13 14:45:58,963 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2021-09-13 14:45:58,964 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2021-09-13 14:45:58,964 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2021-09-13 14:45:58,965 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2021-09-13 14:45:58,966 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2021-09-13 14:45:58,967 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2021-09-13 14:45:58,968 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2021-09-13 14:45:58,968 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2021-09-13 14:45:58,969 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2021-09-13 14:45:58,969 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2021-09-13 14:45:58,970 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2021-09-13 14:45:58,971 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2021-09-13 14:45:58,971 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2021-09-13 14:45:58,972 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2021-09-13 14:45:59,006 INFO L113 SettingsManager]: Loading preferences was successful [2021-09-13 14:45:59,006 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2021-09-13 14:45:59,007 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2021-09-13 14:45:59,007 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2021-09-13 14:45:59,009 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2021-09-13 14:45:59,010 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2021-09-13 14:45:59,010 INFO L138 SettingsManager]: * Use SBE=true [2021-09-13 14:45:59,010 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2021-09-13 14:45:59,010 INFO L138 SettingsManager]: * sizeof long=4 [2021-09-13 14:45:59,010 INFO L138 SettingsManager]: * sizeof POINTER=4 [2021-09-13 14:45:59,011 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2021-09-13 14:45:59,011 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2021-09-13 14:45:59,012 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2021-09-13 14:45:59,012 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2021-09-13 14:45:59,012 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2021-09-13 14:45:59,012 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2021-09-13 14:45:59,012 INFO L138 SettingsManager]: * sizeof long double=12 [2021-09-13 14:45:59,012 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2021-09-13 14:45:59,013 INFO L138 SettingsManager]: * Use constant arrays=true [2021-09-13 14:45:59,013 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2021-09-13 14:45:59,021 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2021-09-13 14:45:59,021 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2021-09-13 14:45:59,021 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2021-09-13 14:45:59,022 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2021-09-13 14:45:59,022 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2021-09-13 14:45:59,022 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2021-09-13 14:45:59,022 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2021-09-13 14:45:59,022 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2021-09-13 14:45:59,023 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2021-09-13 14:45:59,023 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2021-09-13 14:45:59,023 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2021-09-13 14:45:59,023 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2021-09-13 14:45:59,024 INFO L138 SettingsManager]: * Logic for external solver=AUFBV WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release 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 -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux 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(reach_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 -> b5eedf832cb5065e6c29260742fd63baf98430fe [2021-09-13 14:45:59,283 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2021-09-13 14:45:59,309 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2021-09-13 14:45:59,311 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2021-09-13 14:45:59,312 INFO L271 PluginConnector]: Initializing CDTParser... [2021-09-13 14:45:59,312 INFO L275 PluginConnector]: CDTParser initialized [2021-09-13 14:45:59,315 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/nla-digbench-scaling/prodbin-ll_valuebound20.c [2021-09-13 14:45:59,372 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1d88eac6a/952b66f4bf3d4692bdf4381979c0c433/FLAG4e74d8d11 [2021-09-13 14:45:59,817 INFO L306 CDTParser]: Found 1 translation units. [2021-09-13 14:45:59,817 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/prodbin-ll_valuebound20.c [2021-09-13 14:45:59,824 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1d88eac6a/952b66f4bf3d4692bdf4381979c0c433/FLAG4e74d8d11 [2021-09-13 14:45:59,836 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1d88eac6a/952b66f4bf3d4692bdf4381979c0c433 [2021-09-13 14:45:59,845 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2021-09-13 14:45:59,848 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2021-09-13 14:45:59,863 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2021-09-13 14:45:59,864 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2021-09-13 14:45:59,866 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2021-09-13 14:45:59,867 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.09 02:45:59" (1/1) ... [2021-09-13 14:45:59,868 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1771a6dc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:45:59, skipping insertion in model container [2021-09-13 14:45:59,868 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.09 02:45:59" (1/1) ... [2021-09-13 14:45:59,884 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2021-09-13 14:45:59,898 INFO L178 MainTranslator]: Built tables and reachable declarations [2021-09-13 14:46:00,017 WARN L228 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/prodbin-ll_valuebound20.c[537,550] [2021-09-13 14:46:00,029 INFO L206 PostProcessor]: Analyzing one entry point: main [2021-09-13 14:46:00,040 INFO L203 MainTranslator]: Completed pre-run [2021-09-13 14:46:00,061 WARN L228 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/prodbin-ll_valuebound20.c[537,550] [2021-09-13 14:46:00,089 INFO L206 PostProcessor]: Analyzing one entry point: main [2021-09-13 14:46:00,100 INFO L208 MainTranslator]: Completed translation [2021-09-13 14:46:00,101 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:46:00 WrapperNode [2021-09-13 14:46:00,101 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2021-09-13 14:46:00,102 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2021-09-13 14:46:00,102 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2021-09-13 14:46:00,103 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2021-09-13 14:46:00,107 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:46:00" (1/1) ... [2021-09-13 14:46:00,113 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:46:00" (1/1) ... [2021-09-13 14:46:00,132 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2021-09-13 14:46:00,132 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2021-09-13 14:46:00,133 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2021-09-13 14:46:00,133 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2021-09-13 14:46:00,139 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:46:00" (1/1) ... [2021-09-13 14:46:00,139 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:46:00" (1/1) ... [2021-09-13 14:46:00,141 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:46:00" (1/1) ... [2021-09-13 14:46:00,141 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:46:00" (1/1) ... [2021-09-13 14:46:00,147 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:46:00" (1/1) ... [2021-09-13 14:46:00,151 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:46:00" (1/1) ... [2021-09-13 14:46:00,152 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:46:00" (1/1) ... [2021-09-13 14:46:00,154 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2021-09-13 14:46:00,155 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2021-09-13 14:46:00,155 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2021-09-13 14:46:00,155 INFO L275 PluginConnector]: RCFGBuilder initialized [2021-09-13 14:46:00,155 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:46:00" (1/1) ... [2021-09-13 14:46:00,161 INFO L170 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2021-09-13 14:46:00,170 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 14:46:00,182 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2021-09-13 14:46:00,194 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2021-09-13 14:46:00,221 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2021-09-13 14:46:00,221 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2021-09-13 14:46:00,222 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2021-09-13 14:46:00,222 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2021-09-13 14:46:00,440 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2021-09-13 14:46:00,452 INFO L299 CfgBuilder]: Removed 15 assume(true) statements. [2021-09-13 14:46:00,460 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 13.09 02:46:00 BoogieIcfgContainer [2021-09-13 14:46:00,461 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2021-09-13 14:46:00,462 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2021-09-13 14:46:00,462 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2021-09-13 14:46:00,464 INFO L275 PluginConnector]: TraceAbstraction initialized [2021-09-13 14:46:00,464 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 13.09 02:45:59" (1/3) ... [2021-09-13 14:46:00,465 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@43b5dd57 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 13.09 02:46:00, skipping insertion in model container [2021-09-13 14:46:00,465 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 02:46:00" (2/3) ... [2021-09-13 14:46:00,465 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@43b5dd57 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 13.09 02:46:00, skipping insertion in model container [2021-09-13 14:46:00,465 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 13.09 02:46:00" (3/3) ... [2021-09-13 14:46:00,466 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound20.c [2021-09-13 14:46:00,470 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2021-09-13 14:46:00,470 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 2 error locations. [2021-09-13 14:46:00,548 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2021-09-13 14:46:00,553 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2021-09-13 14:46:00,553 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2021-09-13 14:46:00,568 INFO L276 IsEmpty]: Start isEmpty. Operand has 23 states, 20 states have (on average 1.55) internal successors, (31), 22 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:00,572 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2021-09-13 14:46:00,572 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 14:46:00,572 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 14:46:00,573 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2021-09-13 14:46:00,577 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 14:46:00,577 INFO L82 PathProgramCache]: Analyzing trace with hash 330581779, now seen corresponding path program 1 times [2021-09-13 14:46:00,587 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-13 14:46:00,588 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1641110678] [2021-09-13 14:46:00,588 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 14:46:00,589 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-13 14:46:00,590 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-13 14:46:00,594 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2021-09-13 14:46:00,596 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2021-09-13 14:46:00,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:46:00,719 INFO L263 TraceCheckSpWp]: Trace formula consists of 39 conjuncts, 1 conjunts are in the unsatisfiable core [2021-09-13 14:46:00,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:46:00,742 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 14:46:00,833 INFO L281 TraceCheckUtils]: 0: Hoare triple {26#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);call #t~string4.base, #t~string4.offset := #Ultimate.allocOnStack(2bv32);call write~init~intINTTYPE1(48bv8, #t~string4.base, #t~string4.offset, 1bv32);call write~init~intINTTYPE1(0bv8, #t~string4.base, ~bvadd32(1bv32, #t~string4.offset), 1bv32);call #t~string5.base, #t~string5.offset := #Ultimate.allocOnStack(13bv32);call #t~string6.base, #t~string6.offset := #Ultimate.allocOnStack(12bv32); {26#true} is VALID [2021-09-13 14:46:00,834 INFO L281 TraceCheckUtils]: 1: Hoare triple {26#true} havoc main_#res;havoc main_#t~nondet7, main_#t~nondet8, main_~a~0, main_~b~0, main_~x~0, main_~y~0, main_~z~0;havoc main_~a~0;havoc main_~b~0;havoc main_~x~0;havoc main_~y~0;havoc main_~z~0;main_~a~0 := main_#t~nondet7;havoc main_#t~nondet7;assume_abort_if_not_#in~cond := (if ~bvsge32(main_~a~0, 0bv32) && ~bvsle32(main_~a~0, 20bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {26#true} is VALID [2021-09-13 14:46:00,835 INFO L281 TraceCheckUtils]: 2: Hoare triple {26#true} assume 0bv32 == assume_abort_if_not_~cond;assume false; {27#false} is VALID [2021-09-13 14:46:00,835 INFO L281 TraceCheckUtils]: 3: Hoare triple {27#false} main_~b~0 := main_#t~nondet8;havoc main_#t~nondet8;assume_abort_if_not_#in~cond := (if ~bvsge32(main_~b~0, 0bv32) && ~bvsle32(main_~b~0, 20bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {27#false} is VALID [2021-09-13 14:46:00,835 INFO L281 TraceCheckUtils]: 4: Hoare triple {27#false} assume 0bv32 == assume_abort_if_not_~cond;assume false; {27#false} is VALID [2021-09-13 14:46:00,836 INFO L281 TraceCheckUtils]: 5: Hoare triple {27#false} assume_abort_if_not_#in~cond := (if ~bvsge32(main_~b~0, 1bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {27#false} is VALID [2021-09-13 14:46:00,836 INFO L281 TraceCheckUtils]: 6: Hoare triple {27#false} assume 0bv32 == assume_abort_if_not_~cond;assume false; {27#false} is VALID [2021-09-13 14:46:00,836 INFO L281 TraceCheckUtils]: 7: Hoare triple {27#false} main_~x~0 := ~sign_extendFrom32To64(main_~a~0);main_~y~0 := ~sign_extendFrom32To64(main_~b~0);main_~z~0 := ~sign_extendFrom32To64(0bv32); {27#false} is VALID [2021-09-13 14:46:00,836 INFO L281 TraceCheckUtils]: 8: Hoare triple {27#false} assume !false;__VERIFIER_assert_#in~cond := (if ~bvadd64(main_~z~0, ~bvmul64(main_~x~0, main_~y~0)) == ~bvmul64(~sign_extendFrom32To64(main_~a~0), ~sign_extendFrom32To64(main_~b~0)) then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {27#false} is VALID [2021-09-13 14:46:00,837 INFO L281 TraceCheckUtils]: 9: Hoare triple {27#false} assume 0bv32 == __VERIFIER_assert_~cond; {27#false} is VALID [2021-09-13 14:46:00,837 INFO L281 TraceCheckUtils]: 10: Hoare triple {27#false} assume !false; {27#false} is VALID [2021-09-13 14:46:00,838 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 14:46:00,838 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 14:46:00,908 INFO L281 TraceCheckUtils]: 10: Hoare triple {27#false} assume !false; {27#false} is VALID [2021-09-13 14:46:00,908 INFO L281 TraceCheckUtils]: 9: Hoare triple {27#false} assume 0bv32 == __VERIFIER_assert_~cond; {27#false} is VALID [2021-09-13 14:46:00,909 INFO L281 TraceCheckUtils]: 8: Hoare triple {27#false} assume !false;__VERIFIER_assert_#in~cond := (if ~bvadd64(main_~z~0, ~bvmul64(main_~x~0, main_~y~0)) == ~bvmul64(~sign_extendFrom32To64(main_~a~0), ~sign_extendFrom32To64(main_~b~0)) then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {27#false} is VALID [2021-09-13 14:46:00,909 INFO L281 TraceCheckUtils]: 7: Hoare triple {27#false} main_~x~0 := ~sign_extendFrom32To64(main_~a~0);main_~y~0 := ~sign_extendFrom32To64(main_~b~0);main_~z~0 := ~sign_extendFrom32To64(0bv32); {27#false} is VALID [2021-09-13 14:46:00,910 INFO L281 TraceCheckUtils]: 6: Hoare triple {27#false} assume 0bv32 == assume_abort_if_not_~cond;assume false; {27#false} is VALID [2021-09-13 14:46:00,910 INFO L281 TraceCheckUtils]: 5: Hoare triple {27#false} assume_abort_if_not_#in~cond := (if ~bvsge32(main_~b~0, 1bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {27#false} is VALID [2021-09-13 14:46:00,910 INFO L281 TraceCheckUtils]: 4: Hoare triple {27#false} assume 0bv32 == assume_abort_if_not_~cond;assume false; {27#false} is VALID [2021-09-13 14:46:00,911 INFO L281 TraceCheckUtils]: 3: Hoare triple {27#false} main_~b~0 := main_#t~nondet8;havoc main_#t~nondet8;assume_abort_if_not_#in~cond := (if ~bvsge32(main_~b~0, 0bv32) && ~bvsle32(main_~b~0, 20bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {27#false} is VALID [2021-09-13 14:46:00,912 INFO L281 TraceCheckUtils]: 2: Hoare triple {26#true} assume 0bv32 == assume_abort_if_not_~cond;assume false; {27#false} is VALID [2021-09-13 14:46:00,912 INFO L281 TraceCheckUtils]: 1: Hoare triple {26#true} havoc main_#res;havoc main_#t~nondet7, main_#t~nondet8, main_~a~0, main_~b~0, main_~x~0, main_~y~0, main_~z~0;havoc main_~a~0;havoc main_~b~0;havoc main_~x~0;havoc main_~y~0;havoc main_~z~0;main_~a~0 := main_#t~nondet7;havoc main_#t~nondet7;assume_abort_if_not_#in~cond := (if ~bvsge32(main_~a~0, 0bv32) && ~bvsle32(main_~a~0, 20bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {26#true} is VALID [2021-09-13 14:46:00,913 INFO L281 TraceCheckUtils]: 0: Hoare triple {26#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);call #t~string4.base, #t~string4.offset := #Ultimate.allocOnStack(2bv32);call write~init~intINTTYPE1(48bv8, #t~string4.base, #t~string4.offset, 1bv32);call write~init~intINTTYPE1(0bv8, #t~string4.base, ~bvadd32(1bv32, #t~string4.offset), 1bv32);call #t~string5.base, #t~string5.offset := #Ultimate.allocOnStack(13bv32);call #t~string6.base, #t~string6.offset := #Ultimate.allocOnStack(12bv32); {26#true} is VALID [2021-09-13 14:46:00,913 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 14:46:00,914 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-13 14:46:00,914 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1641110678] [2021-09-13 14:46:00,915 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1641110678] provided 2 perfect and 0 imperfect interpolant sequences [2021-09-13 14:46:00,915 INFO L186 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2021-09-13 14:46:00,915 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2, 2] imperfect sequences [] total 2 [2021-09-13 14:46:00,917 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1924228136] [2021-09-13 14:46:00,926 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2021-09-13 14:46:00,927 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 14:46:00,929 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:00,998 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 14:46:00,998 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2021-09-13 14:46:00,998 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-13 14:46:01,014 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2021-09-13 14:46:01,014 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2021-09-13 14:46:01,016 INFO L87 Difference]: Start difference. First operand has 23 states, 20 states have (on average 1.55) internal successors, (31), 22 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:01,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:46:01,695 INFO L93 Difference]: Finished difference Result 43 states and 58 transitions. [2021-09-13 14:46:01,696 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2021-09-13 14:46:01,697 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2021-09-13 14:46:01,697 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 14:46:01,698 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:01,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 58 transitions. [2021-09-13 14:46:01,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:01,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 58 transitions. [2021-09-13 14:46:01,712 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 58 transitions. [2021-09-13 14:46:02,044 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 14:46:02,051 INFO L225 Difference]: With dead ends: 43 [2021-09-13 14:46:02,052 INFO L226 Difference]: Without dead ends: 19 [2021-09-13 14:46:02,054 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.15ms TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2021-09-13 14:46:02,057 INFO L928 BasicCegarLoop]: 0 mSDtfsCounter, 0 mSDsluCounter, 24 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 298.47ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 0 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.59ms SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 299.61ms IncrementalHoareTripleChecker+Time [2021-09-13 14:46:02,058 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 0 Invalid, 24 Unknown, 0 Unchecked, 0.59ms Time], IncrementalHoareTripleChecker [0 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 299.61ms Time] [2021-09-13 14:46:02,070 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19 states. [2021-09-13 14:46:02,078 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19 to 19. [2021-09-13 14:46:02,078 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 14:46:02,079 INFO L82 GeneralOperation]: Start isEquivalent. First operand 19 states. Second operand has 19 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:02,080 INFO L74 IsIncluded]: Start isIncluded. First operand 19 states. Second operand has 19 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:02,080 INFO L87 Difference]: Start difference. First operand 19 states. Second operand has 19 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:02,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:46:02,082 INFO L93 Difference]: Finished difference Result 19 states and 20 transitions. [2021-09-13 14:46:02,082 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2021-09-13 14:46:02,082 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:46:02,082 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:46:02,083 INFO L74 IsIncluded]: Start isIncluded. First operand has 19 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 19 states. [2021-09-13 14:46:02,083 INFO L87 Difference]: Start difference. First operand has 19 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 19 states. [2021-09-13 14:46:02,084 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:46:02,085 INFO L93 Difference]: Finished difference Result 19 states and 20 transitions. [2021-09-13 14:46:02,085 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2021-09-13 14:46:02,085 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:46:02,085 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:46:02,086 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 14:46:02,086 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 14:46:02,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:02,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 20 transitions. [2021-09-13 14:46:02,088 INFO L78 Accepts]: Start accepts. Automaton has 19 states and 20 transitions. Word has length 11 [2021-09-13 14:46:02,088 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 14:46:02,089 INFO L470 AbstractCegarLoop]: Abstraction has 19 states and 20 transitions. [2021-09-13 14:46:02,089 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:02,089 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2021-09-13 14:46:02,089 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2021-09-13 14:46:02,090 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 14:46:02,090 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 14:46:02,104 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Forceful destruction successful, exit code 0 [2021-09-13 14:46:02,308 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-13 14:46:02,309 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2021-09-13 14:46:02,310 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 14:46:02,310 INFO L82 PathProgramCache]: Analyzing trace with hash -1507472743, now seen corresponding path program 1 times [2021-09-13 14:46:02,311 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-13 14:46:02,311 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1232401311] [2021-09-13 14:46:02,311 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 14:46:02,311 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-13 14:46:02,311 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-13 14:46:02,314 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2021-09-13 14:46:02,317 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2021-09-13 14:46:02,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:46:02,429 INFO L263 TraceCheckSpWp]: Trace formula consists of 39 conjuncts, 12 conjunts are in the unsatisfiable core [2021-09-13 14:46:02,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:46:02,444 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 14:46:03,141 INFO L281 TraceCheckUtils]: 0: Hoare triple {200#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);call #t~string4.base, #t~string4.offset := #Ultimate.allocOnStack(2bv32);call write~init~intINTTYPE1(48bv8, #t~string4.base, #t~string4.offset, 1bv32);call write~init~intINTTYPE1(0bv8, #t~string4.base, ~bvadd32(1bv32, #t~string4.offset), 1bv32);call #t~string5.base, #t~string5.offset := #Ultimate.allocOnStack(13bv32);call #t~string6.base, #t~string6.offset := #Ultimate.allocOnStack(12bv32); {200#true} is VALID [2021-09-13 14:46:03,143 INFO L281 TraceCheckUtils]: 1: Hoare triple {200#true} havoc main_#res;havoc main_#t~nondet7, main_#t~nondet8, main_~a~0, main_~b~0, main_~x~0, main_~y~0, main_~z~0;havoc main_~a~0;havoc main_~b~0;havoc main_~x~0;havoc main_~y~0;havoc main_~z~0;main_~a~0 := main_#t~nondet7;havoc main_#t~nondet7;assume_abort_if_not_#in~cond := (if ~bvsge32(main_~a~0, 0bv32) && ~bvsle32(main_~a~0, 20bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {208#(or (and (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32)) (or (not (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32))) (not (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32))))) (and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv1 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32))))} is VALID [2021-09-13 14:46:03,144 INFO L281 TraceCheckUtils]: 2: Hoare triple {208#(or (and (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32)) (or (not (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32))) (not (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32))))) (and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv1 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32))))} assume !(0bv32 == assume_abort_if_not_~cond); {212#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:03,145 INFO L281 TraceCheckUtils]: 3: Hoare triple {212#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)))} main_~b~0 := main_#t~nondet8;havoc main_#t~nondet8;assume_abort_if_not_#in~cond := (if ~bvsge32(main_~b~0, 0bv32) && ~bvsle32(main_~b~0, 20bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {216#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (or (and (or (not (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32))) (not (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)))) (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32))) (and (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv1 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:03,146 INFO L281 TraceCheckUtils]: 4: Hoare triple {216#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (or (and (or (not (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32))) (not (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)))) (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32))) (and (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv1 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)))} assume !(0bv32 == assume_abort_if_not_~cond); {220#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:03,147 INFO L281 TraceCheckUtils]: 5: Hoare triple {220#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} assume_abort_if_not_#in~cond := (if ~bvsge32(main_~b~0, 1bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {220#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:03,147 INFO L281 TraceCheckUtils]: 6: Hoare triple {220#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} assume !(0bv32 == assume_abort_if_not_~cond); {220#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:03,148 INFO L281 TraceCheckUtils]: 7: Hoare triple {220#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} main_~x~0 := ~sign_extendFrom32To64(main_~a~0);main_~y~0 := ~sign_extendFrom32To64(main_~b~0);main_~z~0 := ~sign_extendFrom32To64(0bv32); {230#(and (= ULTIMATE.start_main_~y~0 ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (= ((_ sign_extend 32) ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (= ((_ sign_extend 32) (_ bv0 32)) ULTIMATE.start_main_~z~0) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:03,149 INFO L281 TraceCheckUtils]: 8: Hoare triple {230#(and (= ULTIMATE.start_main_~y~0 ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (= ((_ sign_extend 32) ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (= ((_ sign_extend 32) (_ bv0 32)) ULTIMATE.start_main_~z~0) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} assume !false;__VERIFIER_assert_#in~cond := (if ~bvadd64(main_~z~0, ~bvmul64(main_~x~0, main_~y~0)) == ~bvmul64(~sign_extendFrom32To64(main_~a~0), ~sign_extendFrom32To64(main_~b~0)) then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {234#(= ULTIMATE.start___VERIFIER_assert_~cond (_ bv1 32))} is VALID [2021-09-13 14:46:03,149 INFO L281 TraceCheckUtils]: 9: Hoare triple {234#(= ULTIMATE.start___VERIFIER_assert_~cond (_ bv1 32))} assume 0bv32 == __VERIFIER_assert_~cond; {201#false} is VALID [2021-09-13 14:46:03,150 INFO L281 TraceCheckUtils]: 10: Hoare triple {201#false} assume !false; {201#false} is VALID [2021-09-13 14:46:03,150 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 14:46:03,150 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 14:46:05,502 INFO L281 TraceCheckUtils]: 10: Hoare triple {201#false} assume !false; {201#false} is VALID [2021-09-13 14:46:05,502 INFO L281 TraceCheckUtils]: 9: Hoare triple {244#(not (= ULTIMATE.start___VERIFIER_assert_~cond (_ bv0 32)))} assume 0bv32 == __VERIFIER_assert_~cond; {201#false} is VALID [2021-09-13 14:46:05,503 INFO L281 TraceCheckUtils]: 8: Hoare triple {248#(= (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) (bvadd (bvmul ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0) ULTIMATE.start_main_~z~0))} assume !false;__VERIFIER_assert_#in~cond := (if ~bvadd64(main_~z~0, ~bvmul64(main_~x~0, main_~y~0)) == ~bvmul64(~sign_extendFrom32To64(main_~a~0), ~sign_extendFrom32To64(main_~b~0)) then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {244#(not (= ULTIMATE.start___VERIFIER_assert_~cond (_ bv0 32)))} is VALID [2021-09-13 14:46:05,506 INFO L281 TraceCheckUtils]: 7: Hoare triple {200#true} main_~x~0 := ~sign_extendFrom32To64(main_~a~0);main_~y~0 := ~sign_extendFrom32To64(main_~b~0);main_~z~0 := ~sign_extendFrom32To64(0bv32); {248#(= (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) (bvadd (bvmul ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0) ULTIMATE.start_main_~z~0))} is VALID [2021-09-13 14:46:05,507 INFO L281 TraceCheckUtils]: 6: Hoare triple {200#true} assume !(0bv32 == assume_abort_if_not_~cond); {200#true} is VALID [2021-09-13 14:46:05,507 INFO L281 TraceCheckUtils]: 5: Hoare triple {200#true} assume_abort_if_not_#in~cond := (if ~bvsge32(main_~b~0, 1bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {200#true} is VALID [2021-09-13 14:46:05,507 INFO L281 TraceCheckUtils]: 4: Hoare triple {200#true} assume !(0bv32 == assume_abort_if_not_~cond); {200#true} is VALID [2021-09-13 14:46:05,507 INFO L281 TraceCheckUtils]: 3: Hoare triple {200#true} main_~b~0 := main_#t~nondet8;havoc main_#t~nondet8;assume_abort_if_not_#in~cond := (if ~bvsge32(main_~b~0, 0bv32) && ~bvsle32(main_~b~0, 20bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {200#true} is VALID [2021-09-13 14:46:05,507 INFO L281 TraceCheckUtils]: 2: Hoare triple {200#true} assume !(0bv32 == assume_abort_if_not_~cond); {200#true} is VALID [2021-09-13 14:46:05,508 INFO L281 TraceCheckUtils]: 1: Hoare triple {200#true} havoc main_#res;havoc main_#t~nondet7, main_#t~nondet8, main_~a~0, main_~b~0, main_~x~0, main_~y~0, main_~z~0;havoc main_~a~0;havoc main_~b~0;havoc main_~x~0;havoc main_~y~0;havoc main_~z~0;main_~a~0 := main_#t~nondet7;havoc main_#t~nondet7;assume_abort_if_not_#in~cond := (if ~bvsge32(main_~a~0, 0bv32) && ~bvsle32(main_~a~0, 20bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {200#true} is VALID [2021-09-13 14:46:05,508 INFO L281 TraceCheckUtils]: 0: Hoare triple {200#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);call #t~string4.base, #t~string4.offset := #Ultimate.allocOnStack(2bv32);call write~init~intINTTYPE1(48bv8, #t~string4.base, #t~string4.offset, 1bv32);call write~init~intINTTYPE1(0bv8, #t~string4.base, ~bvadd32(1bv32, #t~string4.offset), 1bv32);call #t~string5.base, #t~string5.offset := #Ultimate.allocOnStack(13bv32);call #t~string6.base, #t~string6.offset := #Ultimate.allocOnStack(12bv32); {200#true} is VALID [2021-09-13 14:46:05,508 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 14:46:05,508 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-13 14:46:05,509 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1232401311] [2021-09-13 14:46:05,509 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1232401311] provided 2 perfect and 0 imperfect interpolant sequences [2021-09-13 14:46:05,509 INFO L186 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2021-09-13 14:46:05,509 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8, 4] imperfect sequences [] total 10 [2021-09-13 14:46:05,509 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [746203472] [2021-09-13 14:46:05,510 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2021-09-13 14:46:05,511 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 14:46:05,511 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:05,684 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 14:46:05,684 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2021-09-13 14:46:05,684 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-13 14:46:05,685 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2021-09-13 14:46:05,685 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2021-09-13 14:46:05,685 INFO L87 Difference]: Start difference. First operand 19 states and 20 transitions. Second operand has 10 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:16,015 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:46:16,015 INFO L93 Difference]: Finished difference Result 32 states and 34 transitions. [2021-09-13 14:46:16,015 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2021-09-13 14:46:16,015 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2021-09-13 14:46:16,015 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 14:46:16,016 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:16,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 34 transitions. [2021-09-13 14:46:16,017 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:16,018 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 34 transitions. [2021-09-13 14:46:16,019 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 34 transitions. [2021-09-13 14:46:16,563 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 14:46:16,565 INFO L225 Difference]: With dead ends: 32 [2021-09-13 14:46:16,565 INFO L226 Difference]: Without dead ends: 30 [2021-09-13 14:46:16,566 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 4058.44ms TimeCoverageRelationStatistics Valid=66, Invalid=174, Unknown=0, NotChecked=0, Total=240 [2021-09-13 14:46:16,567 INFO L928 BasicCegarLoop]: 0 mSDtfsCounter, 49 mSDsluCounter, 38 mSDsCounter, 0 mSdLazyCounter, 108 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3826.69ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 0 SdHoareTripleChecker+Invalid, 124 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 3.26ms SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 108 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3830.80ms IncrementalHoareTripleChecker+Time [2021-09-13 14:46:16,567 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [49 Valid, 0 Invalid, 124 Unknown, 0 Unchecked, 3.26ms Time], IncrementalHoareTripleChecker [16 Valid, 108 Invalid, 0 Unknown, 0 Unchecked, 3830.80ms Time] [2021-09-13 14:46:16,568 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2021-09-13 14:46:16,582 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 21. [2021-09-13 14:46:16,582 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 14:46:16,583 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand has 21 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:16,583 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand has 21 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:16,583 INFO L87 Difference]: Start difference. First operand 30 states. Second operand has 21 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:16,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:46:16,585 INFO L93 Difference]: Finished difference Result 30 states and 32 transitions. [2021-09-13 14:46:16,585 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 32 transitions. [2021-09-13 14:46:16,586 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:46:16,586 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:46:16,586 INFO L74 IsIncluded]: Start isIncluded. First operand has 21 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 30 states. [2021-09-13 14:46:16,586 INFO L87 Difference]: Start difference. First operand has 21 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 30 states. [2021-09-13 14:46:16,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:46:16,588 INFO L93 Difference]: Finished difference Result 30 states and 32 transitions. [2021-09-13 14:46:16,588 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 32 transitions. [2021-09-13 14:46:16,588 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:46:16,588 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:46:16,589 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 14:46:16,589 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 14:46:16,589 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:16,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 22 transitions. [2021-09-13 14:46:16,590 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 22 transitions. Word has length 11 [2021-09-13 14:46:16,590 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 14:46:16,590 INFO L470 AbstractCegarLoop]: Abstraction has 21 states and 22 transitions. [2021-09-13 14:46:16,591 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:16,591 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2021-09-13 14:46:16,591 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2021-09-13 14:46:16,591 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 14:46:16,592 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 14:46:16,602 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Ended with exit code 0 [2021-09-13 14:46:16,796 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-13 14:46:16,797 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2021-09-13 14:46:16,797 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 14:46:16,798 INFO L82 PathProgramCache]: Analyzing trace with hash -937526112, now seen corresponding path program 1 times [2021-09-13 14:46:16,798 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-13 14:46:16,798 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [431513823] [2021-09-13 14:46:16,798 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 14:46:16,798 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-13 14:46:16,798 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-13 14:46:16,802 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2021-09-13 14:46:16,805 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Waiting until timeout for monitored process [2021-09-13 14:46:16,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:46:16,893 INFO L263 TraceCheckSpWp]: Trace formula consists of 43 conjuncts, 8 conjunts are in the unsatisfiable core [2021-09-13 14:46:16,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:46:16,904 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 14:46:17,400 INFO L281 TraceCheckUtils]: 0: Hoare triple {405#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);call #t~string4.base, #t~string4.offset := #Ultimate.allocOnStack(2bv32);call write~init~intINTTYPE1(48bv8, #t~string4.base, #t~string4.offset, 1bv32);call write~init~intINTTYPE1(0bv8, #t~string4.base, ~bvadd32(1bv32, #t~string4.offset), 1bv32);call #t~string5.base, #t~string5.offset := #Ultimate.allocOnStack(13bv32);call #t~string6.base, #t~string6.offset := #Ultimate.allocOnStack(12bv32); {405#true} is VALID [2021-09-13 14:46:17,401 INFO L281 TraceCheckUtils]: 1: Hoare triple {405#true} havoc main_#res;havoc main_#t~nondet7, main_#t~nondet8, main_~a~0, main_~b~0, main_~x~0, main_~y~0, main_~z~0;havoc main_~a~0;havoc main_~b~0;havoc main_~x~0;havoc main_~y~0;havoc main_~z~0;main_~a~0 := main_#t~nondet7;havoc main_#t~nondet7;assume_abort_if_not_#in~cond := (if ~bvsge32(main_~a~0, 0bv32) && ~bvsle32(main_~a~0, 20bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {405#true} is VALID [2021-09-13 14:46:17,401 INFO L281 TraceCheckUtils]: 2: Hoare triple {405#true} assume !(0bv32 == assume_abort_if_not_~cond); {405#true} is VALID [2021-09-13 14:46:17,404 INFO L281 TraceCheckUtils]: 3: Hoare triple {405#true} main_~b~0 := main_#t~nondet8;havoc main_#t~nondet8;assume_abort_if_not_#in~cond := (if ~bvsge32(main_~b~0, 0bv32) && ~bvsle32(main_~b~0, 20bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {419#(or (and (or (not (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32))) (not (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)))) (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32))) (and (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv1 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32))))} is VALID [2021-09-13 14:46:17,405 INFO L281 TraceCheckUtils]: 4: Hoare triple {419#(or (and (or (not (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32))) (not (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)))) (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32))) (and (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv1 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32))))} assume !(0bv32 == assume_abort_if_not_~cond); {423#(and (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:17,411 INFO L281 TraceCheckUtils]: 5: Hoare triple {423#(and (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} assume_abort_if_not_#in~cond := (if ~bvsge32(main_~b~0, 1bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {427#(and (or (and (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv1 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv1 32))) (and (not (bvsge ULTIMATE.start_main_~b~0 (_ bv1 32))) (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32)))) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:17,414 INFO L281 TraceCheckUtils]: 6: Hoare triple {427#(and (or (and (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv1 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv1 32))) (and (not (bvsge ULTIMATE.start_main_~b~0 (_ bv1 32))) (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32)))) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} assume !(0bv32 == assume_abort_if_not_~cond); {431#(and (bvsge ULTIMATE.start_main_~b~0 (_ bv1 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:17,417 INFO L281 TraceCheckUtils]: 7: Hoare triple {431#(and (bvsge ULTIMATE.start_main_~b~0 (_ bv1 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} main_~x~0 := ~sign_extendFrom32To64(main_~a~0);main_~y~0 := ~sign_extendFrom32To64(main_~b~0);main_~z~0 := ~sign_extendFrom32To64(0bv32); {435#(exists ((ULTIMATE.start_main_~b~0 (_ BitVec 32))) (and (= ULTIMATE.start_main_~y~0 ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) (bvsge ULTIMATE.start_main_~b~0 (_ bv1 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32))))} is VALID [2021-09-13 14:46:17,418 INFO L281 TraceCheckUtils]: 8: Hoare triple {435#(exists ((ULTIMATE.start_main_~b~0 (_ BitVec 32))) (and (= ULTIMATE.start_main_~y~0 ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) (bvsge ULTIMATE.start_main_~b~0 (_ bv1 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32))))} assume !false;__VERIFIER_assert_#in~cond := (if ~bvadd64(main_~z~0, ~bvmul64(main_~x~0, main_~y~0)) == ~bvmul64(~sign_extendFrom32To64(main_~a~0), ~sign_extendFrom32To64(main_~b~0)) then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {435#(exists ((ULTIMATE.start_main_~b~0 (_ BitVec 32))) (and (= ULTIMATE.start_main_~y~0 ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) (bvsge ULTIMATE.start_main_~b~0 (_ bv1 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32))))} is VALID [2021-09-13 14:46:17,419 INFO L281 TraceCheckUtils]: 9: Hoare triple {435#(exists ((ULTIMATE.start_main_~b~0 (_ BitVec 32))) (and (= ULTIMATE.start_main_~y~0 ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) (bvsge ULTIMATE.start_main_~b~0 (_ bv1 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32))))} assume !(0bv32 == __VERIFIER_assert_~cond); {435#(exists ((ULTIMATE.start_main_~b~0 (_ BitVec 32))) (and (= ULTIMATE.start_main_~y~0 ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) (bvsge ULTIMATE.start_main_~b~0 (_ bv1 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32))))} is VALID [2021-09-13 14:46:17,420 INFO L281 TraceCheckUtils]: 10: Hoare triple {435#(exists ((ULTIMATE.start_main_~b~0 (_ BitVec 32))) (and (= ULTIMATE.start_main_~y~0 ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) (bvsge ULTIMATE.start_main_~b~0 (_ bv1 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32))))} assume !(main_~y~0 != ~sign_extendFrom32To64(0bv32)); {406#false} is VALID [2021-09-13 14:46:17,421 INFO L281 TraceCheckUtils]: 11: Hoare triple {406#false} __VERIFIER_assert_#in~cond := (if main_~z~0 == ~bvmul64(~sign_extendFrom32To64(main_~a~0), ~sign_extendFrom32To64(main_~b~0)) then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {406#false} is VALID [2021-09-13 14:46:17,421 INFO L281 TraceCheckUtils]: 12: Hoare triple {406#false} assume 0bv32 == __VERIFIER_assert_~cond; {406#false} is VALID [2021-09-13 14:46:17,421 INFO L281 TraceCheckUtils]: 13: Hoare triple {406#false} assume !false; {406#false} is VALID [2021-09-13 14:46:17,421 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 14:46:17,421 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 14:46:17,669 INFO L281 TraceCheckUtils]: 13: Hoare triple {406#false} assume !false; {406#false} is VALID [2021-09-13 14:46:17,670 INFO L281 TraceCheckUtils]: 12: Hoare triple {406#false} assume 0bv32 == __VERIFIER_assert_~cond; {406#false} is VALID [2021-09-13 14:46:17,670 INFO L281 TraceCheckUtils]: 11: Hoare triple {406#false} __VERIFIER_assert_#in~cond := (if main_~z~0 == ~bvmul64(~sign_extendFrom32To64(main_~a~0), ~sign_extendFrom32To64(main_~b~0)) then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {406#false} is VALID [2021-09-13 14:46:17,670 INFO L281 TraceCheckUtils]: 10: Hoare triple {463#(not (= ((_ sign_extend 32) (_ bv0 32)) ULTIMATE.start_main_~y~0))} assume !(main_~y~0 != ~sign_extendFrom32To64(0bv32)); {406#false} is VALID [2021-09-13 14:46:17,671 INFO L281 TraceCheckUtils]: 9: Hoare triple {463#(not (= ((_ sign_extend 32) (_ bv0 32)) ULTIMATE.start_main_~y~0))} assume !(0bv32 == __VERIFIER_assert_~cond); {463#(not (= ((_ sign_extend 32) (_ bv0 32)) ULTIMATE.start_main_~y~0))} is VALID [2021-09-13 14:46:17,671 INFO L281 TraceCheckUtils]: 8: Hoare triple {463#(not (= ((_ sign_extend 32) (_ bv0 32)) ULTIMATE.start_main_~y~0))} assume !false;__VERIFIER_assert_#in~cond := (if ~bvadd64(main_~z~0, ~bvmul64(main_~x~0, main_~y~0)) == ~bvmul64(~sign_extendFrom32To64(main_~a~0), ~sign_extendFrom32To64(main_~b~0)) then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {463#(not (= ((_ sign_extend 32) (_ bv0 32)) ULTIMATE.start_main_~y~0))} is VALID [2021-09-13 14:46:17,672 INFO L281 TraceCheckUtils]: 7: Hoare triple {473#(not (= ((_ sign_extend 32) (_ bv0 32)) ((_ sign_extend 32) ULTIMATE.start_main_~b~0)))} main_~x~0 := ~sign_extendFrom32To64(main_~a~0);main_~y~0 := ~sign_extendFrom32To64(main_~b~0);main_~z~0 := ~sign_extendFrom32To64(0bv32); {463#(not (= ((_ sign_extend 32) (_ bv0 32)) ULTIMATE.start_main_~y~0))} is VALID [2021-09-13 14:46:17,672 INFO L281 TraceCheckUtils]: 6: Hoare triple {477#(or (not (= ((_ sign_extend 32) (_ bv0 32)) ((_ sign_extend 32) ULTIMATE.start_main_~b~0))) (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32)))} assume !(0bv32 == assume_abort_if_not_~cond); {473#(not (= ((_ sign_extend 32) (_ bv0 32)) ((_ sign_extend 32) ULTIMATE.start_main_~b~0)))} is VALID [2021-09-13 14:46:17,673 INFO L281 TraceCheckUtils]: 5: Hoare triple {405#true} assume_abort_if_not_#in~cond := (if ~bvsge32(main_~b~0, 1bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {477#(or (not (= ((_ sign_extend 32) (_ bv0 32)) ((_ sign_extend 32) ULTIMATE.start_main_~b~0))) (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32)))} is VALID [2021-09-13 14:46:17,673 INFO L281 TraceCheckUtils]: 4: Hoare triple {405#true} assume !(0bv32 == assume_abort_if_not_~cond); {405#true} is VALID [2021-09-13 14:46:17,673 INFO L281 TraceCheckUtils]: 3: Hoare triple {405#true} main_~b~0 := main_#t~nondet8;havoc main_#t~nondet8;assume_abort_if_not_#in~cond := (if ~bvsge32(main_~b~0, 0bv32) && ~bvsle32(main_~b~0, 20bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {405#true} is VALID [2021-09-13 14:46:17,674 INFO L281 TraceCheckUtils]: 2: Hoare triple {405#true} assume !(0bv32 == assume_abort_if_not_~cond); {405#true} is VALID [2021-09-13 14:46:17,674 INFO L281 TraceCheckUtils]: 1: Hoare triple {405#true} havoc main_#res;havoc main_#t~nondet7, main_#t~nondet8, main_~a~0, main_~b~0, main_~x~0, main_~y~0, main_~z~0;havoc main_~a~0;havoc main_~b~0;havoc main_~x~0;havoc main_~y~0;havoc main_~z~0;main_~a~0 := main_#t~nondet7;havoc main_#t~nondet7;assume_abort_if_not_#in~cond := (if ~bvsge32(main_~a~0, 0bv32) && ~bvsle32(main_~a~0, 20bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {405#true} is VALID [2021-09-13 14:46:17,674 INFO L281 TraceCheckUtils]: 0: Hoare triple {405#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);call #t~string4.base, #t~string4.offset := #Ultimate.allocOnStack(2bv32);call write~init~intINTTYPE1(48bv8, #t~string4.base, #t~string4.offset, 1bv32);call write~init~intINTTYPE1(0bv8, #t~string4.base, ~bvadd32(1bv32, #t~string4.offset), 1bv32);call #t~string5.base, #t~string5.offset := #Ultimate.allocOnStack(13bv32);call #t~string6.base, #t~string6.offset := #Ultimate.allocOnStack(12bv32); {405#true} is VALID [2021-09-13 14:46:17,674 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 14:46:17,674 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-13 14:46:17,675 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [431513823] [2021-09-13 14:46:17,675 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [431513823] provided 2 perfect and 0 imperfect interpolant sequences [2021-09-13 14:46:17,675 INFO L186 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2021-09-13 14:46:17,675 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7, 5] imperfect sequences [] total 10 [2021-09-13 14:46:17,678 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1315579588] [2021-09-13 14:46:17,678 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 10 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 14 [2021-09-13 14:46:17,679 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 14:46:17,680 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.2) internal successors, (22), 10 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:17,831 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 14:46:17,832 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2021-09-13 14:46:17,832 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-13 14:46:17,832 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2021-09-13 14:46:17,832 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2021-09-13 14:46:17,833 INFO L87 Difference]: Start difference. First operand 21 states and 22 transitions. Second operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 10 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:19,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:46:19,737 INFO L93 Difference]: Finished difference Result 26 states and 27 transitions. [2021-09-13 14:46:19,738 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2021-09-13 14:46:19,738 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 10 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 14 [2021-09-13 14:46:19,738 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 14:46:19,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 10 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:19,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 27 transitions. [2021-09-13 14:46:19,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 10 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:19,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 27 transitions. [2021-09-13 14:46:19,741 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 27 transitions. [2021-09-13 14:46:19,963 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 14:46:19,964 INFO L225 Difference]: With dead ends: 26 [2021-09-13 14:46:19,964 INFO L226 Difference]: Without dead ends: 22 [2021-09-13 14:46:19,964 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 520.11ms TimeCoverageRelationStatistics Valid=49, Invalid=107, Unknown=0, NotChecked=0, Total=156 [2021-09-13 14:46:19,965 INFO L928 BasicCegarLoop]: 0 mSDtfsCounter, 7 mSDsluCounter, 58 mSDsCounter, 0 mSdLazyCounter, 75 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 693.33ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 0 SdHoareTripleChecker+Invalid, 96 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 1.73ms SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 75 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 19 IncrementalHoareTripleChecker+Unchecked, 695.15ms IncrementalHoareTripleChecker+Time [2021-09-13 14:46:19,965 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [7 Valid, 0 Invalid, 96 Unknown, 0 Unchecked, 1.73ms Time], IncrementalHoareTripleChecker [2 Valid, 75 Invalid, 0 Unknown, 19 Unchecked, 695.15ms Time] [2021-09-13 14:46:19,966 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2021-09-13 14:46:19,985 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 22. [2021-09-13 14:46:19,985 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 14:46:19,985 INFO L82 GeneralOperation]: Start isEquivalent. First operand 22 states. Second operand has 22 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:19,985 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand has 22 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:19,985 INFO L87 Difference]: Start difference. First operand 22 states. Second operand has 22 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:19,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:46:19,986 INFO L93 Difference]: Finished difference Result 22 states and 23 transitions. [2021-09-13 14:46:19,986 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 23 transitions. [2021-09-13 14:46:19,987 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:46:19,987 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:46:19,987 INFO L74 IsIncluded]: Start isIncluded. First operand has 22 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 22 states. [2021-09-13 14:46:19,987 INFO L87 Difference]: Start difference. First operand has 22 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 22 states. [2021-09-13 14:46:19,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 14:46:19,988 INFO L93 Difference]: Finished difference Result 22 states and 23 transitions. [2021-09-13 14:46:19,988 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 23 transitions. [2021-09-13 14:46:19,988 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 14:46:19,988 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 14:46:19,988 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 14:46:19,989 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 14:46:19,989 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:19,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 23 transitions. [2021-09-13 14:46:19,990 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 23 transitions. Word has length 14 [2021-09-13 14:46:19,990 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 14:46:19,990 INFO L470 AbstractCegarLoop]: Abstraction has 22 states and 23 transitions. [2021-09-13 14:46:19,990 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 10 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:46:19,990 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 23 transitions. [2021-09-13 14:46:19,990 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2021-09-13 14:46:19,990 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 14:46:19,991 INFO L513 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 14:46:20,004 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Forceful destruction successful, exit code 0 [2021-09-13 14:46:20,201 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-13 14:46:20,202 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2021-09-13 14:46:20,202 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 14:46:20,202 INFO L82 PathProgramCache]: Analyzing trace with hash 1030171456, now seen corresponding path program 1 times [2021-09-13 14:46:20,203 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-13 14:46:20,203 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [596456702] [2021-09-13 14:46:20,203 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 14:46:20,203 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-13 14:46:20,203 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-13 14:46:20,204 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2021-09-13 14:46:20,205 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Waiting until timeout for monitored process [2021-09-13 14:46:20,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:46:20,334 INFO L263 TraceCheckSpWp]: Trace formula consists of 48 conjuncts, 17 conjunts are in the unsatisfiable core [2021-09-13 14:46:20,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 14:46:20,589 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 14:46:32,246 INFO L281 TraceCheckUtils]: 0: Hoare triple {601#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);call #t~string4.base, #t~string4.offset := #Ultimate.allocOnStack(2bv32);call write~init~intINTTYPE1(48bv8, #t~string4.base, #t~string4.offset, 1bv32);call write~init~intINTTYPE1(0bv8, #t~string4.base, ~bvadd32(1bv32, #t~string4.offset), 1bv32);call #t~string5.base, #t~string5.offset := #Ultimate.allocOnStack(13bv32);call #t~string6.base, #t~string6.offset := #Ultimate.allocOnStack(12bv32); {601#true} is VALID [2021-09-13 14:46:32,247 INFO L281 TraceCheckUtils]: 1: Hoare triple {601#true} havoc main_#res;havoc main_#t~nondet7, main_#t~nondet8, main_~a~0, main_~b~0, main_~x~0, main_~y~0, main_~z~0;havoc main_~a~0;havoc main_~b~0;havoc main_~x~0;havoc main_~y~0;havoc main_~z~0;main_~a~0 := main_#t~nondet7;havoc main_#t~nondet7;assume_abort_if_not_#in~cond := (if ~bvsge32(main_~a~0, 0bv32) && ~bvsle32(main_~a~0, 20bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {609#(or (and (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32)) (or (not (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32))) (not (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32))))) (and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv1 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32))))} is VALID [2021-09-13 14:46:32,247 INFO L281 TraceCheckUtils]: 2: Hoare triple {609#(or (and (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32)) (or (not (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32))) (not (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32))))) (and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv1 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32))))} assume !(0bv32 == assume_abort_if_not_~cond); {613#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:32,248 INFO L281 TraceCheckUtils]: 3: Hoare triple {613#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)))} main_~b~0 := main_#t~nondet8;havoc main_#t~nondet8;assume_abort_if_not_#in~cond := (if ~bvsge32(main_~b~0, 0bv32) && ~bvsle32(main_~b~0, 20bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {617#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (or (and (or (not (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32))) (not (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)))) (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32))) (and (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv1 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:32,249 INFO L281 TraceCheckUtils]: 4: Hoare triple {617#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (or (and (or (not (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32))) (not (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)))) (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32))) (and (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv1 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)))} assume !(0bv32 == assume_abort_if_not_~cond); {621#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:32,249 INFO L281 TraceCheckUtils]: 5: Hoare triple {621#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} assume_abort_if_not_#in~cond := (if ~bvsge32(main_~b~0, 1bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {621#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:32,250 INFO L281 TraceCheckUtils]: 6: Hoare triple {621#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} assume !(0bv32 == assume_abort_if_not_~cond); {621#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:32,250 INFO L281 TraceCheckUtils]: 7: Hoare triple {621#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} main_~x~0 := ~sign_extendFrom32To64(main_~a~0);main_~y~0 := ~sign_extendFrom32To64(main_~b~0);main_~z~0 := ~sign_extendFrom32To64(0bv32); {631#(and (= ULTIMATE.start_main_~y~0 ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (= ((_ sign_extend 32) ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (= ((_ sign_extend 32) (_ bv0 32)) ULTIMATE.start_main_~z~0) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:32,251 INFO L281 TraceCheckUtils]: 8: Hoare triple {631#(and (= ULTIMATE.start_main_~y~0 ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (= ((_ sign_extend 32) ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (= ((_ sign_extend 32) (_ bv0 32)) ULTIMATE.start_main_~z~0) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} assume !false;__VERIFIER_assert_#in~cond := (if ~bvadd64(main_~z~0, ~bvmul64(main_~x~0, main_~y~0)) == ~bvmul64(~sign_extendFrom32To64(main_~a~0), ~sign_extendFrom32To64(main_~b~0)) then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {631#(and (= ULTIMATE.start_main_~y~0 ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (= ((_ sign_extend 32) ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (= ((_ sign_extend 32) (_ bv0 32)) ULTIMATE.start_main_~z~0) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:32,251 INFO L281 TraceCheckUtils]: 9: Hoare triple {631#(and (= ULTIMATE.start_main_~y~0 ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (= ((_ sign_extend 32) ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (= ((_ sign_extend 32) (_ bv0 32)) ULTIMATE.start_main_~z~0) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} assume !(0bv32 == __VERIFIER_assert_~cond); {631#(and (= ULTIMATE.start_main_~y~0 ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (= ((_ sign_extend 32) ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (= ((_ sign_extend 32) (_ bv0 32)) ULTIMATE.start_main_~z~0) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:32,252 INFO L281 TraceCheckUtils]: 10: Hoare triple {631#(and (= ULTIMATE.start_main_~y~0 ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (= ((_ sign_extend 32) ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (= ((_ sign_extend 32) (_ bv0 32)) ULTIMATE.start_main_~z~0) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} assume !!(main_~y~0 != ~sign_extendFrom32To64(0bv32)); {631#(and (= ULTIMATE.start_main_~y~0 ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (= ((_ sign_extend 32) ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (= ((_ sign_extend 32) (_ bv0 32)) ULTIMATE.start_main_~z~0) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:32,255 INFO L281 TraceCheckUtils]: 11: Hoare triple {631#(and (= ULTIMATE.start_main_~y~0 ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (= ((_ sign_extend 32) ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (= ((_ sign_extend 32) (_ bv0 32)) ULTIMATE.start_main_~z~0) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsge ULTIMATE.start_main_~b~0 (_ bv0 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} assume ~bvsrem64(main_~y~0, ~sign_extendFrom32To64(2bv32)) == ~sign_extendFrom32To64(1bv32);main_~z~0 := ~bvadd64(main_~z~0, main_~x~0);main_~y~0 := ~bvsub64(main_~y~0, ~sign_extendFrom32To64(1bv32)); {644#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (= ULTIMATE.start_main_~y~0 (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ((_ sign_extend 32) ULTIMATE.start_main_~b~0))) (= ((_ sign_extend 32) ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (= (bvadd ((_ sign_extend 32) (_ bv0 32)) ULTIMATE.start_main_~x~0) ULTIMATE.start_main_~z~0) (= (bvsrem (bvadd ULTIMATE.start_main_~y~0 (bvmul (bvneg ((_ sign_extend 32) (_ bv1 32))) (_ bv18446744073709551615 64))) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) (_ bv1 32))) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:32,331 INFO L281 TraceCheckUtils]: 12: Hoare triple {644#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (= ULTIMATE.start_main_~y~0 (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ((_ sign_extend 32) ULTIMATE.start_main_~b~0))) (= ((_ sign_extend 32) ULTIMATE.start_main_~a~0) ULTIMATE.start_main_~x~0) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (= (bvadd ((_ sign_extend 32) (_ bv0 32)) ULTIMATE.start_main_~x~0) ULTIMATE.start_main_~z~0) (= (bvsrem (bvadd ULTIMATE.start_main_~y~0 (bvmul (bvneg ((_ sign_extend 32) (_ bv1 32))) (_ bv18446744073709551615 64))) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) (_ bv1 32))) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} main_~x~0 := ~bvmul64(~sign_extendFrom32To64(2bv32), main_~x~0);main_~y~0 := ~bvsdiv64(main_~y~0, ~sign_extendFrom32To64(2bv32)); {648#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (= (bvsrem ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) (_ bv1 32))) (= (bvadd (bvmul ((_ sign_extend 32) (_ bv2 32)) ((_ sign_extend 32) (_ bv0 32))) ULTIMATE.start_main_~x~0) (bvmul ULTIMATE.start_main_~z~0 ((_ sign_extend 32) (_ bv2 32)))) (= ULTIMATE.start_main_~z~0 (bvadd ((_ sign_extend 32) (_ bv0 32)) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))) (= ULTIMATE.start_main_~y~0 (bvsdiv (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) ((_ sign_extend 32) (_ bv2 32)))) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} is VALID [2021-09-13 14:46:32,569 INFO L281 TraceCheckUtils]: 13: Hoare triple {648#(and (bvsge ULTIMATE.start_main_~a~0 (_ bv0 32)) (= (bvsrem ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) (_ bv1 32))) (= (bvadd (bvmul ((_ sign_extend 32) (_ bv2 32)) ((_ sign_extend 32) (_ bv0 32))) ULTIMATE.start_main_~x~0) (bvmul ULTIMATE.start_main_~z~0 ((_ sign_extend 32) (_ bv2 32)))) (= ULTIMATE.start_main_~z~0 (bvadd ((_ sign_extend 32) (_ bv0 32)) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))) (= ULTIMATE.start_main_~y~0 (bvsdiv (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) ((_ sign_extend 32) (_ bv2 32)))) (bvsle ULTIMATE.start_main_~a~0 (_ bv20 32)) (bvsle ULTIMATE.start_main_~b~0 (_ bv20 32)))} assume !false;__VERIFIER_assert_#in~cond := (if ~bvadd64(main_~z~0, ~bvmul64(main_~x~0, main_~y~0)) == ~bvmul64(~sign_extendFrom32To64(main_~a~0), ~sign_extendFrom32To64(main_~b~0)) then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {652#(= ULTIMATE.start___VERIFIER_assert_~cond (_ bv1 32))} is VALID [2021-09-13 14:46:32,570 INFO L281 TraceCheckUtils]: 14: Hoare triple {652#(= ULTIMATE.start___VERIFIER_assert_~cond (_ bv1 32))} assume 0bv32 == __VERIFIER_assert_~cond; {602#false} is VALID [2021-09-13 14:46:32,570 INFO L281 TraceCheckUtils]: 15: Hoare triple {602#false} assume !false; {602#false} is VALID [2021-09-13 14:46:32,571 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 14:46:32,571 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 14:47:11,839 WARN L860 $PredicateComparison]: unable to prove that (let ((.cse2 ((_ sign_extend 32) c_ULTIMATE.start_main_~b~0)) (.cse0 ((_ sign_extend 32) (_ bv2 32))) (.cse1 ((_ sign_extend 32) (_ bv1 32)))) (or (let ((.cse3 ((_ sign_extend 32) c_ULTIMATE.start_main_~a~0))) (= (bvadd ((_ sign_extend 32) (_ bv0 32)) (bvmul .cse0 (bvsdiv (bvadd (bvneg .cse1) .cse2) .cse0) .cse3) .cse3) (bvmul .cse2 .cse3))) (not (= (bvsrem .cse2 .cse0) .cse1)))) is different from true [2021-09-13 14:47:31,852 WARN L860 $PredicateComparison]: unable to prove that (let ((.cse2 ((_ sign_extend 32) c_ULTIMATE.start_main_~b~0)) (.cse0 ((_ sign_extend 32) (_ bv2 32))) (.cse1 ((_ sign_extend 32) (_ bv1 32)))) (or (let ((.cse3 ((_ sign_extend 32) c_ULTIMATE.start_main_~a~0))) (= (bvadd ((_ sign_extend 32) (_ bv0 32)) (bvmul .cse0 (bvsdiv (bvadd (bvneg .cse1) .cse2) .cse0) .cse3) .cse3) (bvmul .cse2 .cse3))) (= c_ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32)) (not (= (bvsrem .cse2 .cse0) .cse1)))) is different from true [2021-09-13 14:47:48,733 WARN L860 $PredicateComparison]: unable to prove that (forall ((v_ULTIMATE.start_main_~b~0_10 (_ BitVec 32))) (let ((.cse2 ((_ sign_extend 32) (_ bv1 32))) (.cse0 ((_ sign_extend 32) v_ULTIMATE.start_main_~b~0_10)) (.cse3 ((_ sign_extend 32) (_ bv2 32)))) (or (let ((.cse1 ((_ sign_extend 32) c_ULTIMATE.start_main_~a~0))) (= (bvmul .cse0 .cse1) (bvadd (bvmul (bvsdiv (bvadd .cse0 (bvneg .cse2)) .cse3) .cse3 .cse1) ((_ sign_extend 32) (_ bv0 32)) .cse1))) (not (= .cse2 (bvsrem .cse0 .cse3))) (not (bvsle v_ULTIMATE.start_main_~b~0_10 (_ bv20 32)))))) is different from true [2021-09-13 14:47:59,299 WARN L860 $PredicateComparison]: unable to prove that (or (forall ((v_ULTIMATE.start_main_~b~0_10 (_ BitVec 32))) (let ((.cse2 ((_ sign_extend 32) (_ bv1 32))) (.cse0 ((_ sign_extend 32) v_ULTIMATE.start_main_~b~0_10)) (.cse3 ((_ sign_extend 32) (_ bv2 32)))) (or (let ((.cse1 ((_ sign_extend 32) c_ULTIMATE.start_main_~a~0))) (= (bvmul .cse0 .cse1) (bvadd (bvmul (bvsdiv (bvadd .cse0 (bvneg .cse2)) .cse3) .cse3 .cse1) ((_ sign_extend 32) (_ bv0 32)) .cse1))) (not (= .cse2 (bvsrem .cse0 .cse3))) (not (bvsle v_ULTIMATE.start_main_~b~0_10 (_ bv20 32)))))) (= c_ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32))) is different from true [2021-09-13 14:47:59,624 INFO L281 TraceCheckUtils]: 15: Hoare triple {602#false} assume !false; {602#false} is VALID [2021-09-13 14:47:59,625 INFO L281 TraceCheckUtils]: 14: Hoare triple {662#(not (= ULTIMATE.start___VERIFIER_assert_~cond (_ bv0 32)))} assume 0bv32 == __VERIFIER_assert_~cond; {602#false} is VALID [2021-09-13 14:47:59,626 INFO L281 TraceCheckUtils]: 13: Hoare triple {666#(= (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) (bvadd (bvmul ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0) ULTIMATE.start_main_~z~0))} assume !false;__VERIFIER_assert_#in~cond := (if ~bvadd64(main_~z~0, ~bvmul64(main_~x~0, main_~y~0)) == ~bvmul64(~sign_extendFrom32To64(main_~a~0), ~sign_extendFrom32To64(main_~b~0)) then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {662#(not (= ULTIMATE.start___VERIFIER_assert_~cond (_ bv0 32)))} is VALID [2021-09-13 14:48:01,680 INFO L281 TraceCheckUtils]: 12: Hoare triple {670#(= (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) (bvadd (bvmul ((_ sign_extend 32) (_ bv2 32)) ULTIMATE.start_main_~x~0 (bvsdiv ULTIMATE.start_main_~y~0 ((_ sign_extend 32) (_ bv2 32)))) ULTIMATE.start_main_~z~0))} main_~x~0 := ~bvmul64(~sign_extendFrom32To64(2bv32), main_~x~0);main_~y~0 := ~bvsdiv64(main_~y~0, ~sign_extendFrom32To64(2bv32)); {666#(= (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) (bvadd (bvmul ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~y~0) ULTIMATE.start_main_~z~0))} is UNKNOWN [2021-09-13 14:48:03,719 INFO L281 TraceCheckUtils]: 11: Hoare triple {674#(or (not (= ((_ sign_extend 32) (_ bv1 32)) (bvsrem ULTIMATE.start_main_~y~0 ((_ sign_extend 32) (_ bv2 32))))) (= (bvadd ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~z~0 (bvmul ((_ sign_extend 32) (_ bv2 32)) ULTIMATE.start_main_~x~0 (bvsdiv (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ULTIMATE.start_main_~y~0) ((_ sign_extend 32) (_ bv2 32))))) (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))))} assume ~bvsrem64(main_~y~0, ~sign_extendFrom32To64(2bv32)) == ~sign_extendFrom32To64(1bv32);main_~z~0 := ~bvadd64(main_~z~0, main_~x~0);main_~y~0 := ~bvsub64(main_~y~0, ~sign_extendFrom32To64(1bv32)); {670#(= (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) (bvadd (bvmul ((_ sign_extend 32) (_ bv2 32)) ULTIMATE.start_main_~x~0 (bvsdiv ULTIMATE.start_main_~y~0 ((_ sign_extend 32) (_ bv2 32)))) ULTIMATE.start_main_~z~0))} is UNKNOWN [2021-09-13 14:48:03,720 INFO L281 TraceCheckUtils]: 10: Hoare triple {674#(or (not (= ((_ sign_extend 32) (_ bv1 32)) (bvsrem ULTIMATE.start_main_~y~0 ((_ sign_extend 32) (_ bv2 32))))) (= (bvadd ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~z~0 (bvmul ((_ sign_extend 32) (_ bv2 32)) ULTIMATE.start_main_~x~0 (bvsdiv (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ULTIMATE.start_main_~y~0) ((_ sign_extend 32) (_ bv2 32))))) (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))))} assume !!(main_~y~0 != ~sign_extendFrom32To64(0bv32)); {674#(or (not (= ((_ sign_extend 32) (_ bv1 32)) (bvsrem ULTIMATE.start_main_~y~0 ((_ sign_extend 32) (_ bv2 32))))) (= (bvadd ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~z~0 (bvmul ((_ sign_extend 32) (_ bv2 32)) ULTIMATE.start_main_~x~0 (bvsdiv (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ULTIMATE.start_main_~y~0) ((_ sign_extend 32) (_ bv2 32))))) (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))))} is VALID [2021-09-13 14:48:03,720 INFO L281 TraceCheckUtils]: 9: Hoare triple {674#(or (not (= ((_ sign_extend 32) (_ bv1 32)) (bvsrem ULTIMATE.start_main_~y~0 ((_ sign_extend 32) (_ bv2 32))))) (= (bvadd ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~z~0 (bvmul ((_ sign_extend 32) (_ bv2 32)) ULTIMATE.start_main_~x~0 (bvsdiv (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ULTIMATE.start_main_~y~0) ((_ sign_extend 32) (_ bv2 32))))) (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))))} assume !(0bv32 == __VERIFIER_assert_~cond); {674#(or (not (= ((_ sign_extend 32) (_ bv1 32)) (bvsrem ULTIMATE.start_main_~y~0 ((_ sign_extend 32) (_ bv2 32))))) (= (bvadd ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~z~0 (bvmul ((_ sign_extend 32) (_ bv2 32)) ULTIMATE.start_main_~x~0 (bvsdiv (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ULTIMATE.start_main_~y~0) ((_ sign_extend 32) (_ bv2 32))))) (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))))} is VALID [2021-09-13 14:48:03,720 INFO L281 TraceCheckUtils]: 8: Hoare triple {674#(or (not (= ((_ sign_extend 32) (_ bv1 32)) (bvsrem ULTIMATE.start_main_~y~0 ((_ sign_extend 32) (_ bv2 32))))) (= (bvadd ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~z~0 (bvmul ((_ sign_extend 32) (_ bv2 32)) ULTIMATE.start_main_~x~0 (bvsdiv (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ULTIMATE.start_main_~y~0) ((_ sign_extend 32) (_ bv2 32))))) (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))))} assume !false;__VERIFIER_assert_#in~cond := (if ~bvadd64(main_~z~0, ~bvmul64(main_~x~0, main_~y~0)) == ~bvmul64(~sign_extendFrom32To64(main_~a~0), ~sign_extendFrom32To64(main_~b~0)) then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; {674#(or (not (= ((_ sign_extend 32) (_ bv1 32)) (bvsrem ULTIMATE.start_main_~y~0 ((_ sign_extend 32) (_ bv2 32))))) (= (bvadd ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~z~0 (bvmul ((_ sign_extend 32) (_ bv2 32)) ULTIMATE.start_main_~x~0 (bvsdiv (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ULTIMATE.start_main_~y~0) ((_ sign_extend 32) (_ bv2 32))))) (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))))} is VALID [2021-09-13 14:48:03,721 INFO L281 TraceCheckUtils]: 7: Hoare triple {687#(or (= (bvadd ((_ sign_extend 32) (_ bv0 32)) (bvmul ((_ sign_extend 32) (_ bv2 32)) (bvsdiv (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))) (not (= (bvsrem ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) (_ bv1 32)))))} main_~x~0 := ~sign_extendFrom32To64(main_~a~0);main_~y~0 := ~sign_extendFrom32To64(main_~b~0);main_~z~0 := ~sign_extendFrom32To64(0bv32); {674#(or (not (= ((_ sign_extend 32) (_ bv1 32)) (bvsrem ULTIMATE.start_main_~y~0 ((_ sign_extend 32) (_ bv2 32))))) (= (bvadd ULTIMATE.start_main_~x~0 ULTIMATE.start_main_~z~0 (bvmul ((_ sign_extend 32) (_ bv2 32)) ULTIMATE.start_main_~x~0 (bvsdiv (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ULTIMATE.start_main_~y~0) ((_ sign_extend 32) (_ bv2 32))))) (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))))} is VALID [2021-09-13 14:48:03,721 INFO L281 TraceCheckUtils]: 6: Hoare triple {687#(or (= (bvadd ((_ sign_extend 32) (_ bv0 32)) (bvmul ((_ sign_extend 32) (_ bv2 32)) (bvsdiv (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))) (not (= (bvsrem ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) (_ bv1 32)))))} assume !(0bv32 == assume_abort_if_not_~cond); {687#(or (= (bvadd ((_ sign_extend 32) (_ bv0 32)) (bvmul ((_ sign_extend 32) (_ bv2 32)) (bvsdiv (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))) (not (= (bvsrem ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) (_ bv1 32)))))} is VALID [2021-09-13 14:48:03,722 INFO L281 TraceCheckUtils]: 5: Hoare triple {687#(or (= (bvadd ((_ sign_extend 32) (_ bv0 32)) (bvmul ((_ sign_extend 32) (_ bv2 32)) (bvsdiv (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))) (not (= (bvsrem ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) (_ bv1 32)))))} assume_abort_if_not_#in~cond := (if ~bvsge32(main_~b~0, 1bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {687#(or (= (bvadd ((_ sign_extend 32) (_ bv0 32)) (bvmul ((_ sign_extend 32) (_ bv2 32)) (bvsdiv (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))) (not (= (bvsrem ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) (_ bv1 32)))))} is VALID [2021-09-13 14:48:03,722 INFO L281 TraceCheckUtils]: 4: Hoare triple {697#(or (= (bvadd ((_ sign_extend 32) (_ bv0 32)) (bvmul ((_ sign_extend 32) (_ bv2 32)) (bvsdiv (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))) (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32)) (not (= (bvsrem ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) (_ bv1 32)))))} assume !(0bv32 == assume_abort_if_not_~cond); {687#(or (= (bvadd ((_ sign_extend 32) (_ bv0 32)) (bvmul ((_ sign_extend 32) (_ bv2 32)) (bvsdiv (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))) (not (= (bvsrem ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) (_ bv1 32)))))} is VALID [2021-09-13 14:48:03,975 INFO L281 TraceCheckUtils]: 3: Hoare triple {701#(forall ((v_ULTIMATE.start_main_~b~0_10 (_ BitVec 32))) (or (= (bvmul ((_ sign_extend 32) v_ULTIMATE.start_main_~b~0_10) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) (bvadd (bvmul (bvsdiv (bvadd ((_ sign_extend 32) v_ULTIMATE.start_main_~b~0_10) (bvneg ((_ sign_extend 32) (_ bv1 32)))) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) (_ bv2 32)) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) ((_ sign_extend 32) (_ bv0 32)) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))) (not (= ((_ sign_extend 32) (_ bv1 32)) (bvsrem ((_ sign_extend 32) v_ULTIMATE.start_main_~b~0_10) ((_ sign_extend 32) (_ bv2 32))))) (not (bvsle v_ULTIMATE.start_main_~b~0_10 (_ bv20 32)))))} main_~b~0 := main_#t~nondet8;havoc main_#t~nondet8;assume_abort_if_not_#in~cond := (if ~bvsge32(main_~b~0, 0bv32) && ~bvsle32(main_~b~0, 20bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {697#(or (= (bvadd ((_ sign_extend 32) (_ bv0 32)) (bvmul ((_ sign_extend 32) (_ bv2 32)) (bvsdiv (bvadd (bvneg ((_ sign_extend 32) (_ bv1 32))) ((_ sign_extend 32) ULTIMATE.start_main_~b~0)) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) (bvmul ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))) (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32)) (not (= (bvsrem ((_ sign_extend 32) ULTIMATE.start_main_~b~0) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) (_ bv1 32)))))} is VALID [2021-09-13 14:48:03,978 INFO L281 TraceCheckUtils]: 2: Hoare triple {705#(or (forall ((v_ULTIMATE.start_main_~b~0_10 (_ BitVec 32))) (or (= (bvmul ((_ sign_extend 32) v_ULTIMATE.start_main_~b~0_10) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) (bvadd (bvmul (bvsdiv (bvadd ((_ sign_extend 32) v_ULTIMATE.start_main_~b~0_10) (bvneg ((_ sign_extend 32) (_ bv1 32)))) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) (_ bv2 32)) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) ((_ sign_extend 32) (_ bv0 32)) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))) (not (= ((_ sign_extend 32) (_ bv1 32)) (bvsrem ((_ sign_extend 32) v_ULTIMATE.start_main_~b~0_10) ((_ sign_extend 32) (_ bv2 32))))) (not (bvsle v_ULTIMATE.start_main_~b~0_10 (_ bv20 32))))) (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32)))} assume !(0bv32 == assume_abort_if_not_~cond); {701#(forall ((v_ULTIMATE.start_main_~b~0_10 (_ BitVec 32))) (or (= (bvmul ((_ sign_extend 32) v_ULTIMATE.start_main_~b~0_10) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) (bvadd (bvmul (bvsdiv (bvadd ((_ sign_extend 32) v_ULTIMATE.start_main_~b~0_10) (bvneg ((_ sign_extend 32) (_ bv1 32)))) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) (_ bv2 32)) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) ((_ sign_extend 32) (_ bv0 32)) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))) (not (= ((_ sign_extend 32) (_ bv1 32)) (bvsrem ((_ sign_extend 32) v_ULTIMATE.start_main_~b~0_10) ((_ sign_extend 32) (_ bv2 32))))) (not (bvsle v_ULTIMATE.start_main_~b~0_10 (_ bv20 32)))))} is VALID [2021-09-13 14:48:04,208 INFO L281 TraceCheckUtils]: 1: Hoare triple {601#true} havoc main_#res;havoc main_#t~nondet7, main_#t~nondet8, main_~a~0, main_~b~0, main_~x~0, main_~y~0, main_~z~0;havoc main_~a~0;havoc main_~b~0;havoc main_~x~0;havoc main_~y~0;havoc main_~z~0;main_~a~0 := main_#t~nondet7;havoc main_#t~nondet7;assume_abort_if_not_#in~cond := (if ~bvsge32(main_~a~0, 0bv32) && ~bvsle32(main_~a~0, 20bv32) then 1bv32 else 0bv32);havoc assume_abort_if_not_~cond;assume_abort_if_not_~cond := assume_abort_if_not_#in~cond; {705#(or (forall ((v_ULTIMATE.start_main_~b~0_10 (_ BitVec 32))) (or (= (bvmul ((_ sign_extend 32) v_ULTIMATE.start_main_~b~0_10) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) (bvadd (bvmul (bvsdiv (bvadd ((_ sign_extend 32) v_ULTIMATE.start_main_~b~0_10) (bvneg ((_ sign_extend 32) (_ bv1 32)))) ((_ sign_extend 32) (_ bv2 32))) ((_ sign_extend 32) (_ bv2 32)) ((_ sign_extend 32) ULTIMATE.start_main_~a~0)) ((_ sign_extend 32) (_ bv0 32)) ((_ sign_extend 32) ULTIMATE.start_main_~a~0))) (not (= ((_ sign_extend 32) (_ bv1 32)) (bvsrem ((_ sign_extend 32) v_ULTIMATE.start_main_~b~0_10) ((_ sign_extend 32) (_ bv2 32))))) (not (bvsle v_ULTIMATE.start_main_~b~0_10 (_ bv20 32))))) (= ULTIMATE.start_assume_abort_if_not_~cond (_ bv0 32)))} is VALID [2021-09-13 14:48:04,208 INFO L281 TraceCheckUtils]: 0: Hoare triple {601#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);call #t~string4.base, #t~string4.offset := #Ultimate.allocOnStack(2bv32);call write~init~intINTTYPE1(48bv8, #t~string4.base, #t~string4.offset, 1bv32);call write~init~intINTTYPE1(0bv8, #t~string4.base, ~bvadd32(1bv32, #t~string4.offset), 1bv32);call #t~string5.base, #t~string5.offset := #Ultimate.allocOnStack(13bv32);call #t~string6.base, #t~string6.offset := #Ultimate.allocOnStack(12bv32); {601#true} is VALID [2021-09-13 14:48:04,209 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 1 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 14:48:04,209 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-13 14:48:04,209 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [596456702] [2021-09-13 14:48:04,209 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [596456702] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-13 14:48:04,209 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2021-09-13 14:48:04,209 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2021-09-13 14:48:04,209 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1202136453] [2021-09-13 14:48:04,210 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 18 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2021-09-13 14:48:04,210 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 14:48:04,210 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 18 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:48:08,423 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 29 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2021-09-13 14:48:08,424 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2021-09-13 14:48:08,428 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-13 14:48:08,429 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2021-09-13 14:48:08,429 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=143, Unknown=6, NotChecked=108, Total=306 [2021-09-13 14:48:08,429 INFO L87 Difference]: Start difference. First operand 22 states and 23 transitions. Second operand has 18 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 18 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-09-13 14:49:05,244 WARN L210 SmtUtils]: Spent 10.25s on a formula simplification that was a NOOP. DAG size: 34 [2021-09-13 14:49:16,719 WARN L515 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.06s for a HTC check with result INVALID. Formula has sorts [Bool, BitVec], hasArrays=false, hasNonlinArith=false, quantifiers [] [2021-09-13 14:49:53,322 WARN L210 SmtUtils]: Spent 15.83s on a formula simplification. DAG size of input: 38 DAG size of output: 27 [2021-09-13 14:50:44,524 WARN L210 SmtUtils]: Spent 17.27s on a formula simplification. DAG size of input: 36 DAG size of output: 24 [2021-09-13 14:50:46,843 WARN L515 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.13s for a HTC check with result UNKNOWN. Formula has sorts [Bool, BitVec], hasArrays=false, hasNonlinArith=false, quantifiers [] [2021-09-13 14:51:13,303 WARN L210 SmtUtils]: Spent 9.69s on a formula simplification that was a NOOP. DAG size: 35 [2021-09-13 14:51:15,626 WARN L515 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.04s for a HTC check with result UNKNOWN. Formula has sorts [Bool, BitVec], hasArrays=false, hasNonlinArith=false, quantifiers [] [2021-09-13 14:51:15,686 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2021-09-13 14:51:15,687 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 14 SyntacticMatches, 3 SemanticMatches, 28 ConstructedPredicates, 4 IntricatePredicates, 0 DeprecatedPredicates, 98 ImplicationChecksByTransitivity, 162408.59ms TimeCoverageRelationStatistics Valid=165, Invalid=487, Unknown=14, NotChecked=204, Total=870 [2021-09-13 14:51:15,688 INFO L928 BasicCegarLoop]: 0 mSDtfsCounter, 48 mSDsluCounter, 23 mSDsCounter, 0 mSdLazyCounter, 160 mSolverCounterSat, 44 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 26731.51ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 0 SdHoareTripleChecker+Invalid, 296 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 4.58ms SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 160 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 90 IncrementalHoareTripleChecker+Unchecked, 26755.65ms IncrementalHoareTripleChecker+Time [2021-09-13 14:51:15,688 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [48 Valid, 0 Invalid, 296 Unknown, 0 Unchecked, 4.58ms Time], IncrementalHoareTripleChecker [44 Valid, 160 Invalid, 2 Unknown, 90 Unchecked, 26755.65ms Time] [2021-09-13 14:51:15,698 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Forceful destruction successful, exit code 0 [2021-09-13 14:51:15,889 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-13 14:51:15,890 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.IllegalStateException: ManagedScript already locked by de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.IncrementalHoareTripleChecker@41d79343 at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.ManagedScript.lock(ManagedScript.java:81) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.MonolithicHoareTripleChecker.isInductive(MonolithicHoareTripleChecker.java:182) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.MonolithicHoareTripleChecker.isInductive(MonolithicHoareTripleChecker.java:164) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.MonolithicHoareTripleChecker.checkInternal(MonolithicHoareTripleChecker.java:91) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.ChainingHoareTripleChecker$ReviewedProtectedHtc.reviewInductiveInternal(ChainingHoareTripleChecker.java:318) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.ChainingHoareTripleChecker$ReviewedProtectedHtc.checkInternal(ChainingHoareTripleChecker.java:290) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.ChainingHoareTripleChecker.checkInternal(ChainingHoareTripleChecker.java:98) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.CachingHoareTripleChecker.checkInternal(CachingHoareTripleChecker.java:95) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.AbstractInterpolantAutomaton$InternalSuccessorComputationHelper.computeSuccWithSolver(AbstractInterpolantAutomaton.java:357) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.DeterministicInterpolantAutomaton.addOtherSuccessors(DeterministicInterpolantAutomaton.java:198) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.BasicAbstractInterpolantAutomaton.computeSuccs(BasicAbstractInterpolantAutomaton.java:78) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.BasicAbstractInterpolantAutomaton.computeSuccs(BasicAbstractInterpolantAutomaton.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.AbstractInterpolantAutomaton.internalSuccessors(AbstractInterpolantAutomaton.java:233) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.AbstractInterpolantAutomaton.internalSuccessors(AbstractInterpolantAutomaton.java:1) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.TotalizeNwa.internalSuccessors(TotalizeNwa.java:213) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.ComplementDeterministicNwa.internalSuccessors(ComplementDeterministicNwa.java:121) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.ProductNwa.internalSuccessors(ProductNwa.java:216) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.ProductNwa.internalSuccessors(ProductNwa.java:208) at de.uni_freiburg.informatik.ultimate.automata.nestedword.reachablestates.NestedWordAutomatonReachableStates$ReachableStatesComputation.addInternalsAndSuccessors(NestedWordAutomatonReachableStates.java:1058) at de.uni_freiburg.informatik.ultimate.automata.nestedword.reachablestates.NestedWordAutomatonReachableStates$ReachableStatesComputation.(NestedWordAutomatonReachableStates.java:960) at de.uni_freiburg.informatik.ultimate.automata.nestedword.reachablestates.NestedWordAutomatonReachableStates.(NestedWordAutomatonReachableStates.java:182) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.Difference.computeDifference(Difference.java:137) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.Difference.(Difference.java:90) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.computeAutomataDifference(BasicCegarLoop.java:863) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.refineAbstraction(BasicCegarLoop.java:779) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.refineAbstractionInternal(AbstractCegarLoop.java:462) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:420) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:330) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopUtils.getCegarLoopResult(CegarLoopUtils.java:53) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:392) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:303) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseSequentialProgram(TraceAbstractionStarter.java:263) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:176) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:155) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) 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:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2021-09-13 14:51:15,893 INFO L158 Benchmark]: Toolchain (without parser) took 316045.51ms. Allocated memory was 48.2MB in the beginning and 73.4MB in the end (delta: 25.2MB). Free memory was 24.1MB in the beginning and 41.5MB in the end (delta: -17.4MB). Peak memory consumption was 6.4MB. Max. memory is 16.1GB. [2021-09-13 14:51:15,893 INFO L158 Benchmark]: CDTParser took 0.18ms. Allocated memory is still 48.2MB. Free memory was 30.4MB in the beginning and 30.4MB in the end (delta: 31.3kB). There was no memory consumed. Max. memory is 16.1GB. [2021-09-13 14:51:15,894 INFO L158 Benchmark]: CACSL2BoogieTranslator took 238.23ms. Allocated memory was 48.2MB in the beginning and 60.8MB in the end (delta: 12.6MB). Free memory was 23.8MB in the beginning and 43.7MB in the end (delta: -19.8MB). Peak memory consumption was 3.4MB. Max. memory is 16.1GB. [2021-09-13 14:51:15,894 INFO L158 Benchmark]: Boogie Procedure Inliner took 29.60ms. Allocated memory is still 60.8MB. Free memory was 43.7MB in the beginning and 42.1MB in the end (delta: 1.5MB). There was no memory consumed. Max. memory is 16.1GB. [2021-09-13 14:51:15,894 INFO L158 Benchmark]: Boogie Preprocessor took 21.45ms. Allocated memory is still 60.8MB. Free memory was 41.9MB in the beginning and 40.8MB in the end (delta: 1.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2021-09-13 14:51:15,895 INFO L158 Benchmark]: RCFGBuilder took 306.14ms. Allocated memory is still 60.8MB. Free memory was 40.6MB in the beginning and 43.8MB in the end (delta: -3.2MB). Peak memory consumption was 13.9MB. Max. memory is 16.1GB. [2021-09-13 14:51:15,895 INFO L158 Benchmark]: TraceAbstraction took 315430.27ms. Allocated memory was 60.8MB in the beginning and 73.4MB in the end (delta: 12.6MB). Free memory was 43.3MB in the beginning and 41.5MB in the end (delta: 1.8MB). Peak memory consumption was 13.8MB. Max. memory is 16.1GB. [2021-09-13 14:51:15,896 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.18ms. Allocated memory is still 48.2MB. Free memory was 30.4MB in the beginning and 30.4MB in the end (delta: 31.3kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 238.23ms. Allocated memory was 48.2MB in the beginning and 60.8MB in the end (delta: 12.6MB). Free memory was 23.8MB in the beginning and 43.7MB in the end (delta: -19.8MB). Peak memory consumption was 3.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 29.60ms. Allocated memory is still 60.8MB. Free memory was 43.7MB in the beginning and 42.1MB in the end (delta: 1.5MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 21.45ms. Allocated memory is still 60.8MB. Free memory was 41.9MB in the beginning and 40.8MB in the end (delta: 1.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 306.14ms. Allocated memory is still 60.8MB. Free memory was 40.6MB in the beginning and 43.8MB in the end (delta: -3.2MB). Peak memory consumption was 13.9MB. Max. memory is 16.1GB. * TraceAbstraction took 315430.27ms. Allocated memory was 60.8MB in the beginning and 73.4MB in the end (delta: 12.6MB). Free memory was 43.3MB in the beginning and 41.5MB in the end (delta: 1.8MB). Peak memory consumption was 13.8MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: IllegalStateException: ManagedScript already locked by de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.IncrementalHoareTripleChecker@41d79343 de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: IllegalStateException: ManagedScript already locked by de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.IncrementalHoareTripleChecker@41d79343: de.uni_freiburg.informatik.ultimate.lib.smtlibutils.ManagedScript.lock(ManagedScript.java:81) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2021-09-13 14:51:15,988 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...