./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/nla-digbench-scaling/egcd2-ll_unwindbound100.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 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/egcd2-ll_unwindbound100.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 30672bd579b7f25ffa685cb80d8a419cb542781c19afe0226ba5d9d3cf26984c --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:20:57,987 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:20:57,988 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:20:58,005 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:20:58,005 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:20:58,006 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:20:58,007 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:20:58,008 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:20:58,009 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:20:58,009 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:20:58,010 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:20:58,011 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:20:58,011 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:20:58,012 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:20:58,012 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:20:58,013 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:20:58,025 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:20:58,028 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:20:58,033 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:20:58,038 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:20:58,039 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:20:58,039 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:20:58,040 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:20:58,041 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:20:58,046 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:20:58,046 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:20:58,046 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:20:58,047 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:20:58,048 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:20:58,048 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:20:58,049 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:20:58,050 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:20:58,051 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:20:58,051 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:20:58,052 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:20:58,052 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:20:58,053 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:20:58,053 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:20:58,053 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:20:58,053 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:20:58,054 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:20:58,054 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 17:20:58,075 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:20:58,076 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:20:58,077 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:20:58,077 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:20:58,078 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:20:58,078 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:20:58,078 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:20:58,078 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:20:58,078 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:20:58,078 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:20:58,079 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:20:58,079 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 17:20:58,079 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:20:58,080 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:20:58,080 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:20:58,080 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:20:58,080 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:20:58,080 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:20:58,080 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:20:58,080 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:20:58,081 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:20:58,081 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:20:58,081 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:20:58,081 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:20:58,081 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:20:58,081 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:20:58,081 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:20:58,082 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:20:58,082 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 17:20:58,082 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 17:20:58,082 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:20:58,082 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:20:58,082 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:20:58,083 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 -> 30672bd579b7f25ffa685cb80d8a419cb542781c19afe0226ba5d9d3cf26984c [2022-02-20 17:20:58,253 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:20:58,273 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:20:58,275 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:20:58,276 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:20:58,276 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:20:58,277 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/nla-digbench-scaling/egcd2-ll_unwindbound100.c [2022-02-20 17:20:58,337 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b60d2508d/874febc550cd4376a079a95bce8e0550/FLAG70468b35e [2022-02-20 17:20:58,700 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:20:58,701 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/egcd2-ll_unwindbound100.c [2022-02-20 17:20:58,714 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b60d2508d/874febc550cd4376a079a95bce8e0550/FLAG70468b35e [2022-02-20 17:20:58,723 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b60d2508d/874febc550cd4376a079a95bce8e0550 [2022-02-20 17:20:58,724 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:20:58,725 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:20:58,731 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:20:58,731 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:20:58,733 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:20:58,734 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:20:58" (1/1) ... [2022-02-20 17:20:58,735 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@22508ae9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:58, skipping insertion in model container [2022-02-20 17:20:58,735 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:20:58" (1/1) ... [2022-02-20 17:20:58,740 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:20:58,750 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:20:58,866 WARN L230 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/egcd2-ll_unwindbound100.c[490,503] [2022-02-20 17:20:58,893 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:20:58,899 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:20:58,906 WARN L230 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/egcd2-ll_unwindbound100.c[490,503] [2022-02-20 17:20:58,915 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:20:58,923 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:20:58,924 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:58 WrapperNode [2022-02-20 17:20:58,924 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:20:58,925 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:20:58,925 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:20:58,925 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:20:58,930 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:58" (1/1) ... [2022-02-20 17:20:58,934 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:58" (1/1) ... [2022-02-20 17:20:58,960 INFO L137 Inliner]: procedures = 14, calls = 17, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 84 [2022-02-20 17:20:58,961 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:20:58,962 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:20:58,962 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:20:58,962 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:20:58,967 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:58" (1/1) ... [2022-02-20 17:20:58,967 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:58" (1/1) ... [2022-02-20 17:20:58,974 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:58" (1/1) ... [2022-02-20 17:20:58,975 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:58" (1/1) ... [2022-02-20 17:20:58,980 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:58" (1/1) ... [2022-02-20 17:20:58,985 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:58" (1/1) ... [2022-02-20 17:20:58,987 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:58" (1/1) ... [2022-02-20 17:20:58,990 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:20:58,992 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:20:58,992 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:20:58,993 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:20:58,994 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:58" (1/1) ... [2022-02-20 17:20:58,999 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:20:59,006 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:20:59,018 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) [2022-02-20 17:20:59,040 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 [2022-02-20 17:20:59,050 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:20:59,050 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 17:20:59,050 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 17:20:59,050 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 17:20:59,051 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:20:59,051 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:20:59,051 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:20:59,051 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:20:59,092 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:20:59,093 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:20:59,372 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:20:59,386 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:20:59,387 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 17:20:59,388 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:20:59 BoogieIcfgContainer [2022-02-20 17:20:59,388 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:20:59,395 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:20:59,396 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:20:59,398 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:20:59,398 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:20:58" (1/3) ... [2022-02-20 17:20:59,399 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@12d38fe6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:20:59, skipping insertion in model container [2022-02-20 17:20:59,399 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:58" (2/3) ... [2022-02-20 17:20:59,399 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@12d38fe6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:20:59, skipping insertion in model container [2022-02-20 17:20:59,399 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:20:59" (3/3) ... [2022-02-20 17:20:59,400 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll_unwindbound100.c [2022-02-20 17:20:59,403 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:20:59,403 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:20:59,430 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:20:59,435 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, mAutomataTypeConcurrency=PETRI_NET, 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 [2022-02-20 17:20:59,435 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:20:59,447 INFO L276 IsEmpty]: Start isEmpty. Operand has 34 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 17:20:59,450 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 17:20:59,450 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:20:59,451 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:20:59,451 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:20:59,454 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:20:59,454 INFO L85 PathProgramCache]: Analyzing trace with hash 1022199732, now seen corresponding path program 1 times [2022-02-20 17:20:59,460 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:20:59,460 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [692825160] [2022-02-20 17:20:59,461 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:59,461 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:20:59,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:59,587 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:20:59,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:59,611 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-02-20 17:20:59,612 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-02-20 17:20:59,612 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-02-20 17:20:59,612 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {37#true} #75#return; {38#false} is VALID [2022-02-20 17:20:59,613 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-02-20 17:20:59,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:59,625 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-02-20 17:20:59,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-02-20 17:20:59,626 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-02-20 17:20:59,626 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #77#return; {38#false} is VALID [2022-02-20 17:20:59,626 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:20:59,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:59,645 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-02-20 17:20:59,645 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-02-20 17:20:59,645 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-02-20 17:20:59,646 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #79#return; {38#false} is VALID [2022-02-20 17:20:59,646 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-02-20 17:20:59,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:59,662 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-02-20 17:20:59,666 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-02-20 17:20:59,667 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-02-20 17:20:59,667 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #81#return; {38#false} is VALID [2022-02-20 17:20:59,667 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {37#true} is VALID [2022-02-20 17:20:59,667 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {37#true} is VALID [2022-02-20 17:20:59,668 INFO L272 TraceCheckUtils]: 2: Hoare triple {37#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {37#true} is VALID [2022-02-20 17:20:59,668 INFO L290 TraceCheckUtils]: 3: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-02-20 17:20:59,669 INFO L290 TraceCheckUtils]: 4: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-02-20 17:20:59,669 INFO L290 TraceCheckUtils]: 5: Hoare triple {38#false} assume true; {38#false} is VALID [2022-02-20 17:20:59,669 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {38#false} {37#true} #75#return; {38#false} is VALID [2022-02-20 17:20:59,670 INFO L272 TraceCheckUtils]: 7: Hoare triple {38#false} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {37#true} is VALID [2022-02-20 17:20:59,670 INFO L290 TraceCheckUtils]: 8: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-02-20 17:20:59,670 INFO L290 TraceCheckUtils]: 9: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-02-20 17:20:59,670 INFO L290 TraceCheckUtils]: 10: Hoare triple {38#false} assume true; {38#false} is VALID [2022-02-20 17:20:59,671 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {38#false} {38#false} #77#return; {38#false} is VALID [2022-02-20 17:20:59,671 INFO L290 TraceCheckUtils]: 12: Hoare triple {38#false} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {38#false} is VALID [2022-02-20 17:20:59,671 INFO L272 TraceCheckUtils]: 13: Hoare triple {38#false} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {37#true} is VALID [2022-02-20 17:20:59,671 INFO L290 TraceCheckUtils]: 14: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-02-20 17:20:59,672 INFO L290 TraceCheckUtils]: 15: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-02-20 17:20:59,673 INFO L290 TraceCheckUtils]: 16: Hoare triple {38#false} assume true; {38#false} is VALID [2022-02-20 17:20:59,673 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {38#false} {38#false} #79#return; {38#false} is VALID [2022-02-20 17:20:59,673 INFO L272 TraceCheckUtils]: 18: Hoare triple {38#false} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {37#true} is VALID [2022-02-20 17:20:59,674 INFO L290 TraceCheckUtils]: 19: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-02-20 17:20:59,674 INFO L290 TraceCheckUtils]: 20: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-02-20 17:20:59,674 INFO L290 TraceCheckUtils]: 21: Hoare triple {38#false} assume true; {38#false} is VALID [2022-02-20 17:20:59,675 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {38#false} {38#false} #81#return; {38#false} is VALID [2022-02-20 17:20:59,676 INFO L290 TraceCheckUtils]: 23: Hoare triple {38#false} assume !true; {38#false} is VALID [2022-02-20 17:20:59,676 INFO L272 TraceCheckUtils]: 24: Hoare triple {38#false} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~x~0#1 + main_~s~0#1 * main_~y~0#1 then 1 else 0)); {38#false} is VALID [2022-02-20 17:20:59,676 INFO L290 TraceCheckUtils]: 25: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-02-20 17:20:59,676 INFO L290 TraceCheckUtils]: 26: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-02-20 17:20:59,677 INFO L290 TraceCheckUtils]: 27: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-02-20 17:20:59,677 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 17:20:59,677 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:20:59,678 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [692825160] [2022-02-20 17:20:59,679 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [692825160] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:20:59,679 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:20:59,680 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 17:20:59,681 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1166738706] [2022-02-20 17:20:59,681 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:20:59,686 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-02-20 17:20:59,688 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:20:59,691 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:20:59,715 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:59,716 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 17:20:59,716 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:20:59,740 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 17:20:59,741 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:20:59,744 INFO L87 Difference]: Start difference. First operand has 34 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:20:59,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:59,833 INFO L93 Difference]: Finished difference Result 65 states and 104 transitions. [2022-02-20 17:20:59,834 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 17:20:59,834 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-02-20 17:20:59,841 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:20:59,842 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:20:59,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 104 transitions. [2022-02-20 17:20:59,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:20:59,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 104 transitions. [2022-02-20 17:20:59,860 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 104 transitions. [2022-02-20 17:20:59,958 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:59,967 INFO L225 Difference]: With dead ends: 65 [2022-02-20 17:20:59,967 INFO L226 Difference]: Without dead ends: 30 [2022-02-20 17:20:59,983 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:20:59,985 INFO L933 BasicCegarLoop]: 45 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:20:59,986 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 45 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:20:59,997 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-02-20 17:21:00,008 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-02-20 17:21:00,008 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:00,009 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand has 30 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 19 states have internal predecessors, (22), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:00,010 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand has 30 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 19 states have internal predecessors, (22), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:00,010 INFO L87 Difference]: Start difference. First operand 30 states. Second operand has 30 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 19 states have internal predecessors, (22), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:00,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:00,014 INFO L93 Difference]: Finished difference Result 30 states and 41 transitions. [2022-02-20 17:21:00,014 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 41 transitions. [2022-02-20 17:21:00,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:00,015 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:00,015 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 19 states have internal predecessors, (22), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 30 states. [2022-02-20 17:21:00,016 INFO L87 Difference]: Start difference. First operand has 30 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 19 states have internal predecessors, (22), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 30 states. [2022-02-20 17:21:00,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:00,019 INFO L93 Difference]: Finished difference Result 30 states and 41 transitions. [2022-02-20 17:21:00,019 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 41 transitions. [2022-02-20 17:21:00,020 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:00,020 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:00,020 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:00,020 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:00,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 19 states have internal predecessors, (22), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:00,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 41 transitions. [2022-02-20 17:21:00,025 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 41 transitions. Word has length 28 [2022-02-20 17:21:00,025 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:00,026 INFO L470 AbstractCegarLoop]: Abstraction has 30 states and 41 transitions. [2022-02-20 17:21:00,026 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:21:00,026 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 41 transitions. [2022-02-20 17:21:00,027 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 17:21:00,027 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:00,027 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:00,027 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 17:21:00,028 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:00,028 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:00,028 INFO L85 PathProgramCache]: Analyzing trace with hash -455220980, now seen corresponding path program 1 times [2022-02-20 17:21:00,029 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:00,029 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1046425741] [2022-02-20 17:21:00,029 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:00,029 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:00,043 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:00,044 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1575848483] [2022-02-20 17:21:00,044 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:00,044 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:00,045 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:00,054 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) [2022-02-20 17:21:00,056 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-02-20 17:21:00,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:00,114 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 17:21:00,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:00,131 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:00,308 INFO L290 TraceCheckUtils]: 0: Hoare triple {255#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,309 INFO L290 TraceCheckUtils]: 1: Hoare triple {260#(<= ~counter~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,309 INFO L272 TraceCheckUtils]: 2: Hoare triple {260#(<= ~counter~0 0)} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,310 INFO L290 TraceCheckUtils]: 3: Hoare triple {260#(<= ~counter~0 0)} ~cond := #in~cond; {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,310 INFO L290 TraceCheckUtils]: 4: Hoare triple {260#(<= ~counter~0 0)} assume !(0 == ~cond); {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,310 INFO L290 TraceCheckUtils]: 5: Hoare triple {260#(<= ~counter~0 0)} assume true; {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,311 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {260#(<= ~counter~0 0)} {260#(<= ~counter~0 0)} #75#return; {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,312 INFO L272 TraceCheckUtils]: 7: Hoare triple {260#(<= ~counter~0 0)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,312 INFO L290 TraceCheckUtils]: 8: Hoare triple {260#(<= ~counter~0 0)} ~cond := #in~cond; {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,312 INFO L290 TraceCheckUtils]: 9: Hoare triple {260#(<= ~counter~0 0)} assume !(0 == ~cond); {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,313 INFO L290 TraceCheckUtils]: 10: Hoare triple {260#(<= ~counter~0 0)} assume true; {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,313 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {260#(<= ~counter~0 0)} {260#(<= ~counter~0 0)} #77#return; {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,314 INFO L290 TraceCheckUtils]: 12: Hoare triple {260#(<= ~counter~0 0)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,314 INFO L272 TraceCheckUtils]: 13: Hoare triple {260#(<= ~counter~0 0)} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,315 INFO L290 TraceCheckUtils]: 14: Hoare triple {260#(<= ~counter~0 0)} ~cond := #in~cond; {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,315 INFO L290 TraceCheckUtils]: 15: Hoare triple {260#(<= ~counter~0 0)} assume !(0 == ~cond); {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,315 INFO L290 TraceCheckUtils]: 16: Hoare triple {260#(<= ~counter~0 0)} assume true; {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,316 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {260#(<= ~counter~0 0)} {260#(<= ~counter~0 0)} #79#return; {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,316 INFO L272 TraceCheckUtils]: 18: Hoare triple {260#(<= ~counter~0 0)} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,317 INFO L290 TraceCheckUtils]: 19: Hoare triple {260#(<= ~counter~0 0)} ~cond := #in~cond; {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,317 INFO L290 TraceCheckUtils]: 20: Hoare triple {260#(<= ~counter~0 0)} assume !(0 == ~cond); {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,318 INFO L290 TraceCheckUtils]: 21: Hoare triple {260#(<= ~counter~0 0)} assume true; {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,318 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {260#(<= ~counter~0 0)} {260#(<= ~counter~0 0)} #81#return; {260#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:00,319 INFO L290 TraceCheckUtils]: 23: Hoare triple {260#(<= ~counter~0 0)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {330#(<= |ULTIMATE.start_main_#t~post6#1| 0)} is VALID [2022-02-20 17:21:00,319 INFO L290 TraceCheckUtils]: 24: Hoare triple {330#(<= |ULTIMATE.start_main_#t~post6#1| 0)} assume !(main_#t~post6#1 < 100);havoc main_#t~post6#1; {256#false} is VALID [2022-02-20 17:21:00,319 INFO L272 TraceCheckUtils]: 25: Hoare triple {256#false} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~x~0#1 + main_~s~0#1 * main_~y~0#1 then 1 else 0)); {256#false} is VALID [2022-02-20 17:21:00,320 INFO L290 TraceCheckUtils]: 26: Hoare triple {256#false} ~cond := #in~cond; {256#false} is VALID [2022-02-20 17:21:00,320 INFO L290 TraceCheckUtils]: 27: Hoare triple {256#false} assume 0 == ~cond; {256#false} is VALID [2022-02-20 17:21:00,320 INFO L290 TraceCheckUtils]: 28: Hoare triple {256#false} assume !false; {256#false} is VALID [2022-02-20 17:21:00,320 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 17:21:00,320 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:21:00,321 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:00,321 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1046425741] [2022-02-20 17:21:00,321 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:00,321 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1575848483] [2022-02-20 17:21:00,321 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1575848483] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:21:00,322 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:21:00,322 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 17:21:00,322 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [410727686] [2022-02-20 17:21:00,323 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:00,323 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 29 [2022-02-20 17:21:00,323 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:00,324 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), 3 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:21:00,339 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:00,339 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 17:21:00,339 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:00,340 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 17:21:00,340 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 17:21:00,341 INFO L87 Difference]: Start difference. First operand 30 states and 41 transitions. Second operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:21:00,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:00,413 INFO L93 Difference]: Finished difference Result 40 states and 52 transitions. [2022-02-20 17:21:00,413 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 17:21:00,414 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 29 [2022-02-20 17:21:00,414 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:00,414 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:21:00,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 52 transitions. [2022-02-20 17:21:00,416 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:21:00,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 52 transitions. [2022-02-20 17:21:00,418 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 52 transitions. [2022-02-20 17:21:00,457 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:00,458 INFO L225 Difference]: With dead ends: 40 [2022-02-20 17:21:00,458 INFO L226 Difference]: Without dead ends: 32 [2022-02-20 17:21:00,459 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 17:21:00,460 INFO L933 BasicCegarLoop]: 39 mSDtfsCounter, 0 mSDsluCounter, 61 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 100 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:00,460 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 100 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:21:00,461 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-02-20 17:21:00,467 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-02-20 17:21:00,467 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:00,467 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.263157894736842) internal successors, (24), 20 states have internal predecessors, (24), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:00,468 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.263157894736842) internal successors, (24), 20 states have internal predecessors, (24), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:00,468 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.263157894736842) internal successors, (24), 20 states have internal predecessors, (24), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:00,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:00,470 INFO L93 Difference]: Finished difference Result 32 states and 43 transitions. [2022-02-20 17:21:00,470 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 43 transitions. [2022-02-20 17:21:00,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:00,471 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:00,471 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 19 states have (on average 1.263157894736842) internal successors, (24), 20 states have internal predecessors, (24), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 32 states. [2022-02-20 17:21:00,472 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.263157894736842) internal successors, (24), 20 states have internal predecessors, (24), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 32 states. [2022-02-20 17:21:00,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:00,474 INFO L93 Difference]: Finished difference Result 32 states and 43 transitions. [2022-02-20 17:21:00,474 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 43 transitions. [2022-02-20 17:21:00,474 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:00,474 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:00,474 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:00,475 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:00,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 19 states have (on average 1.263157894736842) internal successors, (24), 20 states have internal predecessors, (24), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:00,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 43 transitions. [2022-02-20 17:21:00,477 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 43 transitions. Word has length 29 [2022-02-20 17:21:00,477 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:00,477 INFO L470 AbstractCegarLoop]: Abstraction has 32 states and 43 transitions. [2022-02-20 17:21:00,477 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:21:00,477 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 43 transitions. [2022-02-20 17:21:00,478 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 17:21:00,478 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:00,478 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:00,495 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-02-20 17:21:00,691 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 [2022-02-20 17:21:00,691 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:00,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:00,692 INFO L85 PathProgramCache]: Analyzing trace with hash -1233535180, now seen corresponding path program 1 times [2022-02-20 17:21:00,692 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:00,692 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1792057980] [2022-02-20 17:21:00,692 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:00,692 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:00,714 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:00,714 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [21763880] [2022-02-20 17:21:00,714 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:00,714 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:00,714 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:00,722 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) [2022-02-20 17:21:00,724 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-02-20 17:21:00,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:00,766 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 17:21:00,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:00,775 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:00,923 INFO L290 TraceCheckUtils]: 0: Hoare triple {514#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {514#true} is VALID [2022-02-20 17:21:00,923 INFO L290 TraceCheckUtils]: 1: Hoare triple {514#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {514#true} is VALID [2022-02-20 17:21:00,923 INFO L272 TraceCheckUtils]: 2: Hoare triple {514#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {514#true} is VALID [2022-02-20 17:21:00,924 INFO L290 TraceCheckUtils]: 3: Hoare triple {514#true} ~cond := #in~cond; {514#true} is VALID [2022-02-20 17:21:00,924 INFO L290 TraceCheckUtils]: 4: Hoare triple {514#true} assume !(0 == ~cond); {514#true} is VALID [2022-02-20 17:21:00,924 INFO L290 TraceCheckUtils]: 5: Hoare triple {514#true} assume true; {514#true} is VALID [2022-02-20 17:21:00,924 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {514#true} {514#true} #75#return; {514#true} is VALID [2022-02-20 17:21:00,924 INFO L272 TraceCheckUtils]: 7: Hoare triple {514#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {514#true} is VALID [2022-02-20 17:21:00,924 INFO L290 TraceCheckUtils]: 8: Hoare triple {514#true} ~cond := #in~cond; {543#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:21:00,925 INFO L290 TraceCheckUtils]: 9: Hoare triple {543#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {547#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:21:00,925 INFO L290 TraceCheckUtils]: 10: Hoare triple {547#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {547#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:21:00,926 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {547#(not (= |assume_abort_if_not_#in~cond| 0))} {514#true} #77#return; {554#(<= 1 |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 17:21:00,927 INFO L290 TraceCheckUtils]: 12: Hoare triple {554#(<= 1 |ULTIMATE.start_main_~y~0#1|)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:00,927 INFO L272 TraceCheckUtils]: 13: Hoare triple {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {514#true} is VALID [2022-02-20 17:21:00,927 INFO L290 TraceCheckUtils]: 14: Hoare triple {514#true} ~cond := #in~cond; {514#true} is VALID [2022-02-20 17:21:00,927 INFO L290 TraceCheckUtils]: 15: Hoare triple {514#true} assume !(0 == ~cond); {514#true} is VALID [2022-02-20 17:21:00,927 INFO L290 TraceCheckUtils]: 16: Hoare triple {514#true} assume true; {514#true} is VALID [2022-02-20 17:21:00,928 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {514#true} {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} #79#return; {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:00,928 INFO L272 TraceCheckUtils]: 18: Hoare triple {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {514#true} is VALID [2022-02-20 17:21:00,928 INFO L290 TraceCheckUtils]: 19: Hoare triple {514#true} ~cond := #in~cond; {514#true} is VALID [2022-02-20 17:21:00,929 INFO L290 TraceCheckUtils]: 20: Hoare triple {514#true} assume !(0 == ~cond); {514#true} is VALID [2022-02-20 17:21:00,929 INFO L290 TraceCheckUtils]: 21: Hoare triple {514#true} assume true; {514#true} is VALID [2022-02-20 17:21:00,929 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {514#true} {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} #81#return; {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:00,930 INFO L290 TraceCheckUtils]: 23: Hoare triple {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:00,931 INFO L290 TraceCheckUtils]: 24: Hoare triple {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:00,931 INFO L290 TraceCheckUtils]: 25: Hoare triple {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !(0 != main_~b~0#1); {515#false} is VALID [2022-02-20 17:21:00,931 INFO L272 TraceCheckUtils]: 26: Hoare triple {515#false} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~x~0#1 + main_~s~0#1 * main_~y~0#1 then 1 else 0)); {515#false} is VALID [2022-02-20 17:21:00,931 INFO L290 TraceCheckUtils]: 27: Hoare triple {515#false} ~cond := #in~cond; {515#false} is VALID [2022-02-20 17:21:00,932 INFO L290 TraceCheckUtils]: 28: Hoare triple {515#false} assume 0 == ~cond; {515#false} is VALID [2022-02-20 17:21:00,932 INFO L290 TraceCheckUtils]: 29: Hoare triple {515#false} assume !false; {515#false} is VALID [2022-02-20 17:21:00,932 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 17:21:00,932 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:21:01,157 INFO L290 TraceCheckUtils]: 29: Hoare triple {515#false} assume !false; {515#false} is VALID [2022-02-20 17:21:01,157 INFO L290 TraceCheckUtils]: 28: Hoare triple {515#false} assume 0 == ~cond; {515#false} is VALID [2022-02-20 17:21:01,157 INFO L290 TraceCheckUtils]: 27: Hoare triple {515#false} ~cond := #in~cond; {515#false} is VALID [2022-02-20 17:21:01,158 INFO L272 TraceCheckUtils]: 26: Hoare triple {515#false} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~x~0#1 + main_~s~0#1 * main_~y~0#1 then 1 else 0)); {515#false} is VALID [2022-02-20 17:21:01,158 INFO L290 TraceCheckUtils]: 25: Hoare triple {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !(0 != main_~b~0#1); {515#false} is VALID [2022-02-20 17:21:01,158 INFO L290 TraceCheckUtils]: 24: Hoare triple {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:01,159 INFO L290 TraceCheckUtils]: 23: Hoare triple {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:01,159 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {514#true} {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} #81#return; {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:01,159 INFO L290 TraceCheckUtils]: 21: Hoare triple {514#true} assume true; {514#true} is VALID [2022-02-20 17:21:01,160 INFO L290 TraceCheckUtils]: 20: Hoare triple {514#true} assume !(0 == ~cond); {514#true} is VALID [2022-02-20 17:21:01,160 INFO L290 TraceCheckUtils]: 19: Hoare triple {514#true} ~cond := #in~cond; {514#true} is VALID [2022-02-20 17:21:01,160 INFO L272 TraceCheckUtils]: 18: Hoare triple {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {514#true} is VALID [2022-02-20 17:21:01,161 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {514#true} {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} #79#return; {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:01,161 INFO L290 TraceCheckUtils]: 16: Hoare triple {514#true} assume true; {514#true} is VALID [2022-02-20 17:21:01,161 INFO L290 TraceCheckUtils]: 15: Hoare triple {514#true} assume !(0 == ~cond); {514#true} is VALID [2022-02-20 17:21:01,162 INFO L290 TraceCheckUtils]: 14: Hoare triple {514#true} ~cond := #in~cond; {514#true} is VALID [2022-02-20 17:21:01,162 INFO L272 TraceCheckUtils]: 13: Hoare triple {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {514#true} is VALID [2022-02-20 17:21:01,171 INFO L290 TraceCheckUtils]: 12: Hoare triple {554#(<= 1 |ULTIMATE.start_main_~y~0#1|)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {558#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:01,172 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {547#(not (= |assume_abort_if_not_#in~cond| 0))} {514#true} #77#return; {554#(<= 1 |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 17:21:01,172 INFO L290 TraceCheckUtils]: 10: Hoare triple {547#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {547#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:21:01,173 INFO L290 TraceCheckUtils]: 9: Hoare triple {673#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {547#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:21:01,173 INFO L290 TraceCheckUtils]: 8: Hoare triple {514#true} ~cond := #in~cond; {673#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-02-20 17:21:01,173 INFO L272 TraceCheckUtils]: 7: Hoare triple {514#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {514#true} is VALID [2022-02-20 17:21:01,174 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {514#true} {514#true} #75#return; {514#true} is VALID [2022-02-20 17:21:01,174 INFO L290 TraceCheckUtils]: 5: Hoare triple {514#true} assume true; {514#true} is VALID [2022-02-20 17:21:01,174 INFO L290 TraceCheckUtils]: 4: Hoare triple {514#true} assume !(0 == ~cond); {514#true} is VALID [2022-02-20 17:21:01,174 INFO L290 TraceCheckUtils]: 3: Hoare triple {514#true} ~cond := #in~cond; {514#true} is VALID [2022-02-20 17:21:01,174 INFO L272 TraceCheckUtils]: 2: Hoare triple {514#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {514#true} is VALID [2022-02-20 17:21:01,174 INFO L290 TraceCheckUtils]: 1: Hoare triple {514#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {514#true} is VALID [2022-02-20 17:21:01,175 INFO L290 TraceCheckUtils]: 0: Hoare triple {514#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {514#true} is VALID [2022-02-20 17:21:01,175 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 17:21:01,175 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:01,175 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1792057980] [2022-02-20 17:21:01,175 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:01,175 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [21763880] [2022-02-20 17:21:01,176 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [21763880] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:21:01,176 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:21:01,176 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-02-20 17:21:01,176 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1043800904] [2022-02-20 17:21:01,176 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:21:01,177 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 30 [2022-02-20 17:21:01,177 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:01,177 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:21:01,193 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:01,193 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 17:21:01,194 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:01,194 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 17:21:01,194 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-02-20 17:21:01,195 INFO L87 Difference]: Start difference. First operand 32 states and 43 transitions. Second operand has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:21:01,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:01,393 INFO L93 Difference]: Finished difference Result 49 states and 67 transitions. [2022-02-20 17:21:01,393 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:21:01,394 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 30 [2022-02-20 17:21:01,394 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:01,394 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:21:01,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2022-02-20 17:21:01,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:21:01,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2022-02-20 17:21:01,398 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 67 transitions. [2022-02-20 17:21:01,447 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:01,448 INFO L225 Difference]: With dead ends: 49 [2022-02-20 17:21:01,448 INFO L226 Difference]: Without dead ends: 41 [2022-02-20 17:21:01,449 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 52 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:21:01,449 INFO L933 BasicCegarLoop]: 35 mSDtfsCounter, 30 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 36 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 111 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 36 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:01,450 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 111 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:21:01,450 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-02-20 17:21:01,463 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 33. [2022-02-20 17:21:01,463 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:01,464 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 33 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:01,464 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 33 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:01,464 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 33 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:01,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:01,466 INFO L93 Difference]: Finished difference Result 41 states and 58 transitions. [2022-02-20 17:21:01,466 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 58 transitions. [2022-02-20 17:21:01,467 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:01,467 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:01,468 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 41 states. [2022-02-20 17:21:01,468 INFO L87 Difference]: Start difference. First operand has 33 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 41 states. [2022-02-20 17:21:01,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:01,470 INFO L93 Difference]: Finished difference Result 41 states and 58 transitions. [2022-02-20 17:21:01,470 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 58 transitions. [2022-02-20 17:21:01,470 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:01,471 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:01,471 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:01,471 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:01,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:01,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 44 transitions. [2022-02-20 17:21:01,473 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 44 transitions. Word has length 30 [2022-02-20 17:21:01,473 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:01,473 INFO L470 AbstractCegarLoop]: Abstraction has 33 states and 44 transitions. [2022-02-20 17:21:01,473 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:21:01,473 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 44 transitions. [2022-02-20 17:21:01,474 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-02-20 17:21:01,474 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:01,474 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:01,497 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 17:21:01,698 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 [2022-02-20 17:21:01,698 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:01,699 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:01,699 INFO L85 PathProgramCache]: Analyzing trace with hash -73118621, now seen corresponding path program 1 times [2022-02-20 17:21:01,699 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:01,699 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2062532410] [2022-02-20 17:21:01,699 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:01,699 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:01,709 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:01,709 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [730572036] [2022-02-20 17:21:01,709 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:01,710 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:01,710 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:01,711 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) [2022-02-20 17:21:01,712 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-02-20 17:21:01,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:01,748 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 17:21:01,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:01,786 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:02,174 INFO L290 TraceCheckUtils]: 0: Hoare triple {903#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {903#true} is VALID [2022-02-20 17:21:02,174 INFO L290 TraceCheckUtils]: 1: Hoare triple {903#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {903#true} is VALID [2022-02-20 17:21:02,174 INFO L272 TraceCheckUtils]: 2: Hoare triple {903#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {903#true} is VALID [2022-02-20 17:21:02,174 INFO L290 TraceCheckUtils]: 3: Hoare triple {903#true} ~cond := #in~cond; {903#true} is VALID [2022-02-20 17:21:02,174 INFO L290 TraceCheckUtils]: 4: Hoare triple {903#true} assume !(0 == ~cond); {903#true} is VALID [2022-02-20 17:21:02,175 INFO L290 TraceCheckUtils]: 5: Hoare triple {903#true} assume true; {903#true} is VALID [2022-02-20 17:21:02,175 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {903#true} {903#true} #75#return; {903#true} is VALID [2022-02-20 17:21:02,175 INFO L272 TraceCheckUtils]: 7: Hoare triple {903#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {903#true} is VALID [2022-02-20 17:21:02,175 INFO L290 TraceCheckUtils]: 8: Hoare triple {903#true} ~cond := #in~cond; {932#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:21:02,175 INFO L290 TraceCheckUtils]: 9: Hoare triple {932#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {936#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:21:02,176 INFO L290 TraceCheckUtils]: 10: Hoare triple {936#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {936#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:21:02,176 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {936#(not (= |assume_abort_if_not_#in~cond| 0))} {903#true} #77#return; {943#(<= 1 |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 17:21:02,177 INFO L290 TraceCheckUtils]: 12: Hoare triple {943#(<= 1 |ULTIMATE.start_main_~y~0#1|)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {947#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:02,177 INFO L272 TraceCheckUtils]: 13: Hoare triple {947#(<= 1 |ULTIMATE.start_main_~b~0#1|)} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {903#true} is VALID [2022-02-20 17:21:02,177 INFO L290 TraceCheckUtils]: 14: Hoare triple {903#true} ~cond := #in~cond; {903#true} is VALID [2022-02-20 17:21:02,177 INFO L290 TraceCheckUtils]: 15: Hoare triple {903#true} assume !(0 == ~cond); {903#true} is VALID [2022-02-20 17:21:02,177 INFO L290 TraceCheckUtils]: 16: Hoare triple {903#true} assume true; {903#true} is VALID [2022-02-20 17:21:02,178 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {903#true} {947#(<= 1 |ULTIMATE.start_main_~b~0#1|)} #79#return; {947#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:02,178 INFO L272 TraceCheckUtils]: 18: Hoare triple {947#(<= 1 |ULTIMATE.start_main_~b~0#1|)} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {903#true} is VALID [2022-02-20 17:21:02,178 INFO L290 TraceCheckUtils]: 19: Hoare triple {903#true} ~cond := #in~cond; {903#true} is VALID [2022-02-20 17:21:02,179 INFO L290 TraceCheckUtils]: 20: Hoare triple {903#true} assume !(0 == ~cond); {903#true} is VALID [2022-02-20 17:21:02,179 INFO L290 TraceCheckUtils]: 21: Hoare triple {903#true} assume true; {903#true} is VALID [2022-02-20 17:21:02,179 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {903#true} {947#(<= 1 |ULTIMATE.start_main_~b~0#1|)} #81#return; {947#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:02,179 INFO L290 TraceCheckUtils]: 23: Hoare triple {947#(<= 1 |ULTIMATE.start_main_~b~0#1|)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {947#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:02,180 INFO L290 TraceCheckUtils]: 24: Hoare triple {947#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {947#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:02,180 INFO L290 TraceCheckUtils]: 25: Hoare triple {947#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {987#(and (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~c~0#1|) (<= 1 |ULTIMATE.start_main_~b~0#1|) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 17:21:02,180 INFO L290 TraceCheckUtils]: 26: Hoare triple {987#(and (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~c~0#1|) (<= 1 |ULTIMATE.start_main_~b~0#1|) (= |ULTIMATE.start_main_~k~0#1| 0))} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {987#(and (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~c~0#1|) (<= 1 |ULTIMATE.start_main_~b~0#1|) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 17:21:02,181 INFO L290 TraceCheckUtils]: 27: Hoare triple {987#(and (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~c~0#1|) (<= 1 |ULTIMATE.start_main_~b~0#1|) (= |ULTIMATE.start_main_~k~0#1| 0))} assume !!(main_#t~post7#1 < 100);havoc main_#t~post7#1; {987#(and (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~c~0#1|) (<= 1 |ULTIMATE.start_main_~b~0#1|) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 17:21:02,182 INFO L272 TraceCheckUtils]: 28: Hoare triple {987#(and (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~c~0#1|) (<= 1 |ULTIMATE.start_main_~b~0#1|) (= |ULTIMATE.start_main_~k~0#1| 0))} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {997#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:02,182 INFO L290 TraceCheckUtils]: 29: Hoare triple {997#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1001#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:02,182 INFO L290 TraceCheckUtils]: 30: Hoare triple {1001#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {904#false} is VALID [2022-02-20 17:21:02,182 INFO L290 TraceCheckUtils]: 31: Hoare triple {904#false} assume !false; {904#false} is VALID [2022-02-20 17:21:02,182 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 17:21:02,183 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:21:02,348 INFO L290 TraceCheckUtils]: 31: Hoare triple {904#false} assume !false; {904#false} is VALID [2022-02-20 17:21:02,349 INFO L290 TraceCheckUtils]: 30: Hoare triple {1001#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {904#false} is VALID [2022-02-20 17:21:02,349 INFO L290 TraceCheckUtils]: 29: Hoare triple {997#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1001#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:02,350 INFO L272 TraceCheckUtils]: 28: Hoare triple {1017#(= |ULTIMATE.start_main_~a~0#1| (+ |ULTIMATE.start_main_~c~0#1| (* |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~k~0#1|)))} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {997#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:02,351 INFO L290 TraceCheckUtils]: 27: Hoare triple {1017#(= |ULTIMATE.start_main_~a~0#1| (+ |ULTIMATE.start_main_~c~0#1| (* |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~k~0#1|)))} assume !!(main_#t~post7#1 < 100);havoc main_#t~post7#1; {1017#(= |ULTIMATE.start_main_~a~0#1| (+ |ULTIMATE.start_main_~c~0#1| (* |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~k~0#1|)))} is VALID [2022-02-20 17:21:02,351 INFO L290 TraceCheckUtils]: 26: Hoare triple {1017#(= |ULTIMATE.start_main_~a~0#1| (+ |ULTIMATE.start_main_~c~0#1| (* |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~k~0#1|)))} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {1017#(= |ULTIMATE.start_main_~a~0#1| (+ |ULTIMATE.start_main_~c~0#1| (* |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~k~0#1|)))} is VALID [2022-02-20 17:21:02,351 INFO L290 TraceCheckUtils]: 25: Hoare triple {903#true} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {1017#(= |ULTIMATE.start_main_~a~0#1| (+ |ULTIMATE.start_main_~c~0#1| (* |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~k~0#1|)))} is VALID [2022-02-20 17:21:02,352 INFO L290 TraceCheckUtils]: 24: Hoare triple {903#true} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {903#true} is VALID [2022-02-20 17:21:02,352 INFO L290 TraceCheckUtils]: 23: Hoare triple {903#true} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {903#true} is VALID [2022-02-20 17:21:02,352 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {903#true} {903#true} #81#return; {903#true} is VALID [2022-02-20 17:21:02,352 INFO L290 TraceCheckUtils]: 21: Hoare triple {903#true} assume true; {903#true} is VALID [2022-02-20 17:21:02,352 INFO L290 TraceCheckUtils]: 20: Hoare triple {903#true} assume !(0 == ~cond); {903#true} is VALID [2022-02-20 17:21:02,352 INFO L290 TraceCheckUtils]: 19: Hoare triple {903#true} ~cond := #in~cond; {903#true} is VALID [2022-02-20 17:21:02,352 INFO L272 TraceCheckUtils]: 18: Hoare triple {903#true} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {903#true} is VALID [2022-02-20 17:21:02,353 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {903#true} {903#true} #79#return; {903#true} is VALID [2022-02-20 17:21:02,353 INFO L290 TraceCheckUtils]: 16: Hoare triple {903#true} assume true; {903#true} is VALID [2022-02-20 17:21:02,353 INFO L290 TraceCheckUtils]: 15: Hoare triple {903#true} assume !(0 == ~cond); {903#true} is VALID [2022-02-20 17:21:02,353 INFO L290 TraceCheckUtils]: 14: Hoare triple {903#true} ~cond := #in~cond; {903#true} is VALID [2022-02-20 17:21:02,353 INFO L272 TraceCheckUtils]: 13: Hoare triple {903#true} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {903#true} is VALID [2022-02-20 17:21:02,353 INFO L290 TraceCheckUtils]: 12: Hoare triple {903#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {903#true} is VALID [2022-02-20 17:21:02,354 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {903#true} {903#true} #77#return; {903#true} is VALID [2022-02-20 17:21:02,354 INFO L290 TraceCheckUtils]: 10: Hoare triple {903#true} assume true; {903#true} is VALID [2022-02-20 17:21:02,354 INFO L290 TraceCheckUtils]: 9: Hoare triple {903#true} assume !(0 == ~cond); {903#true} is VALID [2022-02-20 17:21:02,354 INFO L290 TraceCheckUtils]: 8: Hoare triple {903#true} ~cond := #in~cond; {903#true} is VALID [2022-02-20 17:21:02,354 INFO L272 TraceCheckUtils]: 7: Hoare triple {903#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {903#true} is VALID [2022-02-20 17:21:02,354 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {903#true} {903#true} #75#return; {903#true} is VALID [2022-02-20 17:21:02,354 INFO L290 TraceCheckUtils]: 5: Hoare triple {903#true} assume true; {903#true} is VALID [2022-02-20 17:21:02,355 INFO L290 TraceCheckUtils]: 4: Hoare triple {903#true} assume !(0 == ~cond); {903#true} is VALID [2022-02-20 17:21:02,355 INFO L290 TraceCheckUtils]: 3: Hoare triple {903#true} ~cond := #in~cond; {903#true} is VALID [2022-02-20 17:21:02,355 INFO L272 TraceCheckUtils]: 2: Hoare triple {903#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {903#true} is VALID [2022-02-20 17:21:02,355 INFO L290 TraceCheckUtils]: 1: Hoare triple {903#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {903#true} is VALID [2022-02-20 17:21:02,355 INFO L290 TraceCheckUtils]: 0: Hoare triple {903#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {903#true} is VALID [2022-02-20 17:21:02,355 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 17:21:02,356 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:02,356 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2062532410] [2022-02-20 17:21:02,356 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:02,356 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [730572036] [2022-02-20 17:21:02,356 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [730572036] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:21:02,356 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:21:02,356 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-02-20 17:21:02,357 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1257727922] [2022-02-20 17:21:02,357 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:02,357 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 32 [2022-02-20 17:21:02,358 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:02,358 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), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:21:02,372 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:02,373 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:21:02,373 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:02,373 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:21:02,374 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-02-20 17:21:02,374 INFO L87 Difference]: Start difference. First operand 33 states and 44 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:21:02,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:02,560 INFO L93 Difference]: Finished difference Result 39 states and 49 transitions. [2022-02-20 17:21:02,560 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:21:02,561 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 32 [2022-02-20 17:21:02,561 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:02,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:21:02,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2022-02-20 17:21:02,563 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:21:02,564 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2022-02-20 17:21:02,564 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2022-02-20 17:21:02,607 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:02,608 INFO L225 Difference]: With dead ends: 39 [2022-02-20 17:21:02,608 INFO L226 Difference]: Without dead ends: 37 [2022-02-20 17:21:02,609 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 63 GetRequests, 53 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:21:02,609 INFO L933 BasicCegarLoop]: 35 mSDtfsCounter, 7 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 29 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 124 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 29 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:02,610 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 124 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 29 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:21:02,610 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-02-20 17:21:02,629 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 37. [2022-02-20 17:21:02,630 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:02,630 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 37 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 24 states have internal predecessors, (28), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:02,630 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 37 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 24 states have internal predecessors, (28), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:02,631 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 37 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 24 states have internal predecessors, (28), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:02,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:02,633 INFO L93 Difference]: Finished difference Result 37 states and 47 transitions. [2022-02-20 17:21:02,633 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 47 transitions. [2022-02-20 17:21:02,633 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:02,633 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:02,634 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 24 states have internal predecessors, (28), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 37 states. [2022-02-20 17:21:02,634 INFO L87 Difference]: Start difference. First operand has 37 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 24 states have internal predecessors, (28), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 37 states. [2022-02-20 17:21:02,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:02,636 INFO L93 Difference]: Finished difference Result 37 states and 47 transitions. [2022-02-20 17:21:02,636 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 47 transitions. [2022-02-20 17:21:02,637 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:02,637 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:02,637 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:02,637 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:02,637 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 24 states have internal predecessors, (28), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:02,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 47 transitions. [2022-02-20 17:21:02,639 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 47 transitions. Word has length 32 [2022-02-20 17:21:02,639 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:02,639 INFO L470 AbstractCegarLoop]: Abstraction has 37 states and 47 transitions. [2022-02-20 17:21:02,640 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:21:02,640 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 47 transitions. [2022-02-20 17:21:02,640 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 17:21:02,641 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:02,641 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:02,669 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-02-20 17:21:02,859 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 [2022-02-20 17:21:02,860 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:02,860 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:02,860 INFO L85 PathProgramCache]: Analyzing trace with hash 96561445, now seen corresponding path program 1 times [2022-02-20 17:21:02,860 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:02,860 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1288619087] [2022-02-20 17:21:02,860 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:02,860 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:02,875 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:02,876 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1107956231] [2022-02-20 17:21:02,876 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:02,876 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:02,876 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:02,894 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) [2022-02-20 17:21:02,901 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-02-20 17:21:02,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:02,938 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 17:21:02,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:02,954 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:03,117 INFO L290 TraceCheckUtils]: 0: Hoare triple {1285#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {1290#(<= ~counter~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,121 INFO L272 TraceCheckUtils]: 2: Hoare triple {1290#(<= ~counter~0 0)} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,122 INFO L290 TraceCheckUtils]: 3: Hoare triple {1290#(<= ~counter~0 0)} ~cond := #in~cond; {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,122 INFO L290 TraceCheckUtils]: 4: Hoare triple {1290#(<= ~counter~0 0)} assume !(0 == ~cond); {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,122 INFO L290 TraceCheckUtils]: 5: Hoare triple {1290#(<= ~counter~0 0)} assume true; {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,123 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1290#(<= ~counter~0 0)} {1290#(<= ~counter~0 0)} #75#return; {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,123 INFO L272 TraceCheckUtils]: 7: Hoare triple {1290#(<= ~counter~0 0)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,123 INFO L290 TraceCheckUtils]: 8: Hoare triple {1290#(<= ~counter~0 0)} ~cond := #in~cond; {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,124 INFO L290 TraceCheckUtils]: 9: Hoare triple {1290#(<= ~counter~0 0)} assume !(0 == ~cond); {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,124 INFO L290 TraceCheckUtils]: 10: Hoare triple {1290#(<= ~counter~0 0)} assume true; {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,125 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1290#(<= ~counter~0 0)} {1290#(<= ~counter~0 0)} #77#return; {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,125 INFO L290 TraceCheckUtils]: 12: Hoare triple {1290#(<= ~counter~0 0)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,126 INFO L272 TraceCheckUtils]: 13: Hoare triple {1290#(<= ~counter~0 0)} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,126 INFO L290 TraceCheckUtils]: 14: Hoare triple {1290#(<= ~counter~0 0)} ~cond := #in~cond; {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,126 INFO L290 TraceCheckUtils]: 15: Hoare triple {1290#(<= ~counter~0 0)} assume !(0 == ~cond); {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,126 INFO L290 TraceCheckUtils]: 16: Hoare triple {1290#(<= ~counter~0 0)} assume true; {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,127 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1290#(<= ~counter~0 0)} {1290#(<= ~counter~0 0)} #79#return; {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,127 INFO L272 TraceCheckUtils]: 18: Hoare triple {1290#(<= ~counter~0 0)} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,128 INFO L290 TraceCheckUtils]: 19: Hoare triple {1290#(<= ~counter~0 0)} ~cond := #in~cond; {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,128 INFO L290 TraceCheckUtils]: 20: Hoare triple {1290#(<= ~counter~0 0)} assume !(0 == ~cond); {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,128 INFO L290 TraceCheckUtils]: 21: Hoare triple {1290#(<= ~counter~0 0)} assume true; {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,128 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1290#(<= ~counter~0 0)} {1290#(<= ~counter~0 0)} #81#return; {1290#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:03,129 INFO L290 TraceCheckUtils]: 23: Hoare triple {1290#(<= ~counter~0 0)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {1360#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:03,129 INFO L290 TraceCheckUtils]: 24: Hoare triple {1360#(<= ~counter~0 1)} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {1360#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:03,129 INFO L290 TraceCheckUtils]: 25: Hoare triple {1360#(<= ~counter~0 1)} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {1360#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:03,130 INFO L290 TraceCheckUtils]: 26: Hoare triple {1360#(<= ~counter~0 1)} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {1370#(<= |ULTIMATE.start_main_#t~post7#1| 1)} is VALID [2022-02-20 17:21:03,130 INFO L290 TraceCheckUtils]: 27: Hoare triple {1370#(<= |ULTIMATE.start_main_#t~post7#1| 1)} assume !(main_#t~post7#1 < 100);havoc main_#t~post7#1; {1286#false} is VALID [2022-02-20 17:21:03,130 INFO L290 TraceCheckUtils]: 28: Hoare triple {1286#false} main_~a~0#1 := main_~b~0#1;main_~b~0#1 := main_~c~0#1;havoc main_~temp~0#1;main_~temp~0#1 := main_~p~0#1;main_~p~0#1 := main_~q~0#1;main_~q~0#1 := main_~temp~0#1 - main_~q~0#1 * main_~k~0#1;main_~temp~0#1 := main_~r~0#1;main_~r~0#1 := main_~s~0#1;main_~s~0#1 := main_~temp~0#1 - main_~s~0#1 * main_~k~0#1; {1286#false} is VALID [2022-02-20 17:21:03,131 INFO L290 TraceCheckUtils]: 29: Hoare triple {1286#false} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {1286#false} is VALID [2022-02-20 17:21:03,131 INFO L290 TraceCheckUtils]: 30: Hoare triple {1286#false} assume !(main_#t~post6#1 < 100);havoc main_#t~post6#1; {1286#false} is VALID [2022-02-20 17:21:03,131 INFO L272 TraceCheckUtils]: 31: Hoare triple {1286#false} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~x~0#1 + main_~s~0#1 * main_~y~0#1 then 1 else 0)); {1286#false} is VALID [2022-02-20 17:21:03,131 INFO L290 TraceCheckUtils]: 32: Hoare triple {1286#false} ~cond := #in~cond; {1286#false} is VALID [2022-02-20 17:21:03,131 INFO L290 TraceCheckUtils]: 33: Hoare triple {1286#false} assume 0 == ~cond; {1286#false} is VALID [2022-02-20 17:21:03,131 INFO L290 TraceCheckUtils]: 34: Hoare triple {1286#false} assume !false; {1286#false} is VALID [2022-02-20 17:21:03,132 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 17:21:03,132 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:21:03,132 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:03,132 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1288619087] [2022-02-20 17:21:03,132 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:03,132 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1107956231] [2022-02-20 17:21:03,132 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1107956231] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:21:03,132 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:21:03,133 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 17:21:03,133 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1868975443] [2022-02-20 17:21:03,133 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:03,133 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 35 [2022-02-20 17:21:03,133 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:03,134 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:21:03,149 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:03,150 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:21:03,150 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:03,150 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:21:03,150 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:21:03,150 INFO L87 Difference]: Start difference. First operand 37 states and 47 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:21:03,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:03,231 INFO L93 Difference]: Finished difference Result 62 states and 80 transitions. [2022-02-20 17:21:03,231 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:21:03,232 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 35 [2022-02-20 17:21:03,232 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:03,232 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:21:03,234 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 74 transitions. [2022-02-20 17:21:03,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:21:03,237 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 74 transitions. [2022-02-20 17:21:03,237 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 74 transitions. [2022-02-20 17:21:03,280 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:03,281 INFO L225 Difference]: With dead ends: 62 [2022-02-20 17:21:03,281 INFO L226 Difference]: Without dead ends: 39 [2022-02-20 17:21:03,282 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:21:03,283 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 5 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 100 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:03,284 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 100 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:21:03,284 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-02-20 17:21:03,300 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 39. [2022-02-20 17:21:03,300 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:03,300 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand has 39 states, 25 states have (on average 1.2) internal successors, (30), 26 states have internal predecessors, (30), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:03,301 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand has 39 states, 25 states have (on average 1.2) internal successors, (30), 26 states have internal predecessors, (30), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:03,302 INFO L87 Difference]: Start difference. First operand 39 states. Second operand has 39 states, 25 states have (on average 1.2) internal successors, (30), 26 states have internal predecessors, (30), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:03,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:03,304 INFO L93 Difference]: Finished difference Result 39 states and 49 transitions. [2022-02-20 17:21:03,304 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 49 transitions. [2022-02-20 17:21:03,304 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:03,304 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:03,304 INFO L74 IsIncluded]: Start isIncluded. First operand has 39 states, 25 states have (on average 1.2) internal successors, (30), 26 states have internal predecessors, (30), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 39 states. [2022-02-20 17:21:03,304 INFO L87 Difference]: Start difference. First operand has 39 states, 25 states have (on average 1.2) internal successors, (30), 26 states have internal predecessors, (30), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 39 states. [2022-02-20 17:21:03,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:03,312 INFO L93 Difference]: Finished difference Result 39 states and 49 transitions. [2022-02-20 17:21:03,312 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 49 transitions. [2022-02-20 17:21:03,312 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:03,312 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:03,312 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:03,312 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:03,313 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 25 states have (on average 1.2) internal successors, (30), 26 states have internal predecessors, (30), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:03,316 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 49 transitions. [2022-02-20 17:21:03,316 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 49 transitions. Word has length 35 [2022-02-20 17:21:03,316 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:03,318 INFO L470 AbstractCegarLoop]: Abstraction has 39 states and 49 transitions. [2022-02-20 17:21:03,318 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:21:03,318 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 49 transitions. [2022-02-20 17:21:03,318 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 17:21:03,318 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:03,319 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:03,335 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-02-20 17:21:03,535 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 [2022-02-20 17:21:03,535 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:03,535 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:03,536 INFO L85 PathProgramCache]: Analyzing trace with hash 433790877, now seen corresponding path program 1 times [2022-02-20 17:21:03,536 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:03,536 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [556500794] [2022-02-20 17:21:03,536 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:03,536 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:03,546 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:03,547 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [764274837] [2022-02-20 17:21:03,547 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:03,547 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:03,547 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:03,548 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) [2022-02-20 17:21:03,549 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-02-20 17:21:03,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:03,585 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 15 conjunts are in the unsatisfiable core [2022-02-20 17:21:03,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:03,595 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:03,889 INFO L290 TraceCheckUtils]: 0: Hoare triple {1617#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1617#true} is VALID [2022-02-20 17:21:03,890 INFO L290 TraceCheckUtils]: 1: Hoare triple {1617#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1625#(<= |ULTIMATE.start_main_~y~0#1| 2147483647)} is VALID [2022-02-20 17:21:03,890 INFO L272 TraceCheckUtils]: 2: Hoare triple {1625#(<= |ULTIMATE.start_main_~y~0#1| 2147483647)} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {1617#true} is VALID [2022-02-20 17:21:03,890 INFO L290 TraceCheckUtils]: 3: Hoare triple {1617#true} ~cond := #in~cond; {1617#true} is VALID [2022-02-20 17:21:03,890 INFO L290 TraceCheckUtils]: 4: Hoare triple {1617#true} assume !(0 == ~cond); {1617#true} is VALID [2022-02-20 17:21:03,890 INFO L290 TraceCheckUtils]: 5: Hoare triple {1617#true} assume true; {1617#true} is VALID [2022-02-20 17:21:03,891 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1617#true} {1625#(<= |ULTIMATE.start_main_~y~0#1| 2147483647)} #75#return; {1625#(<= |ULTIMATE.start_main_~y~0#1| 2147483647)} is VALID [2022-02-20 17:21:03,891 INFO L272 TraceCheckUtils]: 7: Hoare triple {1625#(<= |ULTIMATE.start_main_~y~0#1| 2147483647)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {1617#true} is VALID [2022-02-20 17:21:03,891 INFO L290 TraceCheckUtils]: 8: Hoare triple {1617#true} ~cond := #in~cond; {1647#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:21:03,892 INFO L290 TraceCheckUtils]: 9: Hoare triple {1647#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1651#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:21:03,897 INFO L290 TraceCheckUtils]: 10: Hoare triple {1651#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1651#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:21:03,898 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1651#(not (= |assume_abort_if_not_#in~cond| 0))} {1625#(<= |ULTIMATE.start_main_~y~0#1| 2147483647)} #77#return; {1658#(and (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} is VALID [2022-02-20 17:21:03,899 INFO L290 TraceCheckUtils]: 12: Hoare triple {1658#(and (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} is VALID [2022-02-20 17:21:03,899 INFO L272 TraceCheckUtils]: 13: Hoare triple {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {1617#true} is VALID [2022-02-20 17:21:03,902 INFO L290 TraceCheckUtils]: 14: Hoare triple {1617#true} ~cond := #in~cond; {1617#true} is VALID [2022-02-20 17:21:03,904 INFO L290 TraceCheckUtils]: 15: Hoare triple {1617#true} assume !(0 == ~cond); {1617#true} is VALID [2022-02-20 17:21:03,904 INFO L290 TraceCheckUtils]: 16: Hoare triple {1617#true} assume true; {1617#true} is VALID [2022-02-20 17:21:03,905 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1617#true} {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} #79#return; {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} is VALID [2022-02-20 17:21:03,905 INFO L272 TraceCheckUtils]: 18: Hoare triple {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {1617#true} is VALID [2022-02-20 17:21:03,905 INFO L290 TraceCheckUtils]: 19: Hoare triple {1617#true} ~cond := #in~cond; {1617#true} is VALID [2022-02-20 17:21:03,906 INFO L290 TraceCheckUtils]: 20: Hoare triple {1617#true} assume !(0 == ~cond); {1617#true} is VALID [2022-02-20 17:21:03,906 INFO L290 TraceCheckUtils]: 21: Hoare triple {1617#true} assume true; {1617#true} is VALID [2022-02-20 17:21:03,907 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1617#true} {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} #81#return; {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} is VALID [2022-02-20 17:21:03,910 INFO L290 TraceCheckUtils]: 23: Hoare triple {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} is VALID [2022-02-20 17:21:03,910 INFO L290 TraceCheckUtils]: 24: Hoare triple {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} is VALID [2022-02-20 17:21:03,911 INFO L290 TraceCheckUtils]: 25: Hoare triple {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} is VALID [2022-02-20 17:21:03,911 INFO L290 TraceCheckUtils]: 26: Hoare triple {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} is VALID [2022-02-20 17:21:03,912 INFO L290 TraceCheckUtils]: 27: Hoare triple {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} assume !!(main_#t~post7#1 < 100);havoc main_#t~post7#1; {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} is VALID [2022-02-20 17:21:03,912 INFO L272 TraceCheckUtils]: 28: Hoare triple {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {1617#true} is VALID [2022-02-20 17:21:03,912 INFO L290 TraceCheckUtils]: 29: Hoare triple {1617#true} ~cond := #in~cond; {1617#true} is VALID [2022-02-20 17:21:03,912 INFO L290 TraceCheckUtils]: 30: Hoare triple {1617#true} assume !(0 == ~cond); {1617#true} is VALID [2022-02-20 17:21:03,912 INFO L290 TraceCheckUtils]: 31: Hoare triple {1617#true} assume true; {1617#true} is VALID [2022-02-20 17:21:03,913 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1617#true} {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} #83#return; {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} is VALID [2022-02-20 17:21:03,914 INFO L272 TraceCheckUtils]: 33: Hoare triple {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {1726#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:03,914 INFO L290 TraceCheckUtils]: 34: Hoare triple {1726#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1730#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:03,914 INFO L290 TraceCheckUtils]: 35: Hoare triple {1730#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1618#false} is VALID [2022-02-20 17:21:03,914 INFO L290 TraceCheckUtils]: 36: Hoare triple {1618#false} assume !false; {1618#false} is VALID [2022-02-20 17:21:03,916 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 5 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 17:21:03,916 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:21:04,155 INFO L290 TraceCheckUtils]: 36: Hoare triple {1618#false} assume !false; {1618#false} is VALID [2022-02-20 17:21:04,156 INFO L290 TraceCheckUtils]: 35: Hoare triple {1730#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1618#false} is VALID [2022-02-20 17:21:04,157 INFO L290 TraceCheckUtils]: 34: Hoare triple {1726#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1730#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:04,157 INFO L272 TraceCheckUtils]: 33: Hoare triple {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {1726#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:04,158 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1617#true} {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} #83#return; {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:04,158 INFO L290 TraceCheckUtils]: 31: Hoare triple {1617#true} assume true; {1617#true} is VALID [2022-02-20 17:21:04,158 INFO L290 TraceCheckUtils]: 30: Hoare triple {1617#true} assume !(0 == ~cond); {1617#true} is VALID [2022-02-20 17:21:04,159 INFO L290 TraceCheckUtils]: 29: Hoare triple {1617#true} ~cond := #in~cond; {1617#true} is VALID [2022-02-20 17:21:04,159 INFO L272 TraceCheckUtils]: 28: Hoare triple {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {1617#true} is VALID [2022-02-20 17:21:04,159 INFO L290 TraceCheckUtils]: 27: Hoare triple {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} assume !!(main_#t~post7#1 < 100);havoc main_#t~post7#1; {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:04,160 INFO L290 TraceCheckUtils]: 26: Hoare triple {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:04,160 INFO L290 TraceCheckUtils]: 25: Hoare triple {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:04,160 INFO L290 TraceCheckUtils]: 24: Hoare triple {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:04,161 INFO L290 TraceCheckUtils]: 23: Hoare triple {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:04,163 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1617#true} {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} #81#return; {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:04,163 INFO L290 TraceCheckUtils]: 21: Hoare triple {1617#true} assume true; {1617#true} is VALID [2022-02-20 17:21:04,163 INFO L290 TraceCheckUtils]: 20: Hoare triple {1617#true} assume !(0 == ~cond); {1617#true} is VALID [2022-02-20 17:21:04,163 INFO L290 TraceCheckUtils]: 19: Hoare triple {1617#true} ~cond := #in~cond; {1617#true} is VALID [2022-02-20 17:21:04,163 INFO L272 TraceCheckUtils]: 18: Hoare triple {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {1617#true} is VALID [2022-02-20 17:21:04,164 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1617#true} {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} #79#return; {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:04,164 INFO L290 TraceCheckUtils]: 16: Hoare triple {1617#true} assume true; {1617#true} is VALID [2022-02-20 17:21:04,164 INFO L290 TraceCheckUtils]: 15: Hoare triple {1617#true} assume !(0 == ~cond); {1617#true} is VALID [2022-02-20 17:21:04,165 INFO L290 TraceCheckUtils]: 14: Hoare triple {1617#true} ~cond := #in~cond; {1617#true} is VALID [2022-02-20 17:21:04,165 INFO L272 TraceCheckUtils]: 13: Hoare triple {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {1617#true} is VALID [2022-02-20 17:21:04,165 INFO L290 TraceCheckUtils]: 12: Hoare triple {1617#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {1746#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:04,165 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1617#true} {1617#true} #77#return; {1617#true} is VALID [2022-02-20 17:21:04,166 INFO L290 TraceCheckUtils]: 10: Hoare triple {1617#true} assume true; {1617#true} is VALID [2022-02-20 17:21:04,166 INFO L290 TraceCheckUtils]: 9: Hoare triple {1617#true} assume !(0 == ~cond); {1617#true} is VALID [2022-02-20 17:21:04,166 INFO L290 TraceCheckUtils]: 8: Hoare triple {1617#true} ~cond := #in~cond; {1617#true} is VALID [2022-02-20 17:21:04,166 INFO L272 TraceCheckUtils]: 7: Hoare triple {1617#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {1617#true} is VALID [2022-02-20 17:21:04,167 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1617#true} {1617#true} #75#return; {1617#true} is VALID [2022-02-20 17:21:04,167 INFO L290 TraceCheckUtils]: 5: Hoare triple {1617#true} assume true; {1617#true} is VALID [2022-02-20 17:21:04,167 INFO L290 TraceCheckUtils]: 4: Hoare triple {1617#true} assume !(0 == ~cond); {1617#true} is VALID [2022-02-20 17:21:04,167 INFO L290 TraceCheckUtils]: 3: Hoare triple {1617#true} ~cond := #in~cond; {1617#true} is VALID [2022-02-20 17:21:04,167 INFO L272 TraceCheckUtils]: 2: Hoare triple {1617#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {1617#true} is VALID [2022-02-20 17:21:04,167 INFO L290 TraceCheckUtils]: 1: Hoare triple {1617#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1617#true} is VALID [2022-02-20 17:21:04,169 INFO L290 TraceCheckUtils]: 0: Hoare triple {1617#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1617#true} is VALID [2022-02-20 17:21:04,170 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 17:21:04,170 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:04,170 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [556500794] [2022-02-20 17:21:04,170 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:04,170 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [764274837] [2022-02-20 17:21:04,170 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [764274837] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:21:04,170 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:21:04,170 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-02-20 17:21:04,171 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1372572593] [2022-02-20 17:21:04,171 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:04,171 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-02-20 17:21:04,173 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:04,173 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:21:04,194 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:04,194 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:21:04,194 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:04,195 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:21:04,195 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-02-20 17:21:04,196 INFO L87 Difference]: Start difference. First operand 39 states and 49 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:21:04,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:04,424 INFO L93 Difference]: Finished difference Result 53 states and 68 transitions. [2022-02-20 17:21:04,424 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:21:04,424 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-02-20 17:21:04,425 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:04,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:21:04,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-02-20 17:21:04,426 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:21:04,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-02-20 17:21:04,427 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-02-20 17:21:04,474 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:04,475 INFO L225 Difference]: With dead ends: 53 [2022-02-20 17:21:04,475 INFO L226 Difference]: Without dead ends: 51 [2022-02-20 17:21:04,475 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 63 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:21:04,476 INFO L933 BasicCegarLoop]: 43 mSDtfsCounter, 8 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 26 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 153 SdHoareTripleChecker+Invalid, 26 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 26 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:04,476 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 153 Invalid, 26 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 26 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:21:04,477 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-02-20 17:21:04,500 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-02-20 17:21:04,501 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:04,501 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 31 states have (on average 1.2258064516129032) internal successors, (38), 32 states have internal predecessors, (38), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:21:04,501 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 31 states have (on average 1.2258064516129032) internal successors, (38), 32 states have internal predecessors, (38), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:21:04,502 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 31 states have (on average 1.2258064516129032) internal successors, (38), 32 states have internal predecessors, (38), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:21:04,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:04,503 INFO L93 Difference]: Finished difference Result 51 states and 66 transitions. [2022-02-20 17:21:04,503 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 66 transitions. [2022-02-20 17:21:04,504 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:04,504 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:04,504 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 31 states have (on average 1.2258064516129032) internal successors, (38), 32 states have internal predecessors, (38), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-02-20 17:21:04,504 INFO L87 Difference]: Start difference. First operand has 50 states, 31 states have (on average 1.2258064516129032) internal successors, (38), 32 states have internal predecessors, (38), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-02-20 17:21:04,506 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:04,506 INFO L93 Difference]: Finished difference Result 51 states and 66 transitions. [2022-02-20 17:21:04,506 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 66 transitions. [2022-02-20 17:21:04,506 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:04,507 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:04,507 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:04,507 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:04,507 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 31 states have (on average 1.2258064516129032) internal successors, (38), 32 states have internal predecessors, (38), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:21:04,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 65 transitions. [2022-02-20 17:21:04,509 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 65 transitions. Word has length 37 [2022-02-20 17:21:04,509 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:04,509 INFO L470 AbstractCegarLoop]: Abstraction has 50 states and 65 transitions. [2022-02-20 17:21:04,509 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:21:04,509 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 65 transitions. [2022-02-20 17:21:04,509 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-02-20 17:21:04,510 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:04,510 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:04,551 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-02-20 17:21:04,723 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 [2022-02-20 17:21:04,724 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:04,724 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:04,724 INFO L85 PathProgramCache]: Analyzing trace with hash -553232285, now seen corresponding path program 1 times [2022-02-20 17:21:04,724 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:04,724 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1986097018] [2022-02-20 17:21:04,725 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:04,725 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:04,734 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:04,734 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1205962511] [2022-02-20 17:21:04,734 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:04,734 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:04,734 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:04,735 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) [2022-02-20 17:21:04,742 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-02-20 17:21:04,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:04,776 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 15 conjunts are in the unsatisfiable core [2022-02-20 17:21:04,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:04,790 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:05,080 INFO L290 TraceCheckUtils]: 0: Hoare triple {2098#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2098#true} is VALID [2022-02-20 17:21:05,081 INFO L290 TraceCheckUtils]: 1: Hoare triple {2098#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2106#(<= |ULTIMATE.start_main_~x~0#1| 2147483647)} is VALID [2022-02-20 17:21:05,081 INFO L272 TraceCheckUtils]: 2: Hoare triple {2106#(<= |ULTIMATE.start_main_~x~0#1| 2147483647)} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {2098#true} is VALID [2022-02-20 17:21:05,081 INFO L290 TraceCheckUtils]: 3: Hoare triple {2098#true} ~cond := #in~cond; {2113#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:21:05,082 INFO L290 TraceCheckUtils]: 4: Hoare triple {2113#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2117#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:21:05,082 INFO L290 TraceCheckUtils]: 5: Hoare triple {2117#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2117#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:21:05,083 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2117#(not (= |assume_abort_if_not_#in~cond| 0))} {2106#(<= |ULTIMATE.start_main_~x~0#1| 2147483647)} #75#return; {2124#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:21:05,083 INFO L272 TraceCheckUtils]: 7: Hoare triple {2124#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (<= 1 |ULTIMATE.start_main_~x~0#1|))} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {2098#true} is VALID [2022-02-20 17:21:05,083 INFO L290 TraceCheckUtils]: 8: Hoare triple {2098#true} ~cond := #in~cond; {2098#true} is VALID [2022-02-20 17:21:05,083 INFO L290 TraceCheckUtils]: 9: Hoare triple {2098#true} assume !(0 == ~cond); {2098#true} is VALID [2022-02-20 17:21:05,083 INFO L290 TraceCheckUtils]: 10: Hoare triple {2098#true} assume true; {2098#true} is VALID [2022-02-20 17:21:05,084 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {2098#true} {2124#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (<= 1 |ULTIMATE.start_main_~x~0#1|))} #77#return; {2124#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:21:05,084 INFO L290 TraceCheckUtils]: 12: Hoare triple {2124#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (<= 1 |ULTIMATE.start_main_~x~0#1|))} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:05,084 INFO L272 TraceCheckUtils]: 13: Hoare triple {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {2098#true} is VALID [2022-02-20 17:21:05,084 INFO L290 TraceCheckUtils]: 14: Hoare triple {2098#true} ~cond := #in~cond; {2098#true} is VALID [2022-02-20 17:21:05,085 INFO L290 TraceCheckUtils]: 15: Hoare triple {2098#true} assume !(0 == ~cond); {2098#true} is VALID [2022-02-20 17:21:05,085 INFO L290 TraceCheckUtils]: 16: Hoare triple {2098#true} assume true; {2098#true} is VALID [2022-02-20 17:21:05,085 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2098#true} {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} #79#return; {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:05,085 INFO L272 TraceCheckUtils]: 18: Hoare triple {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {2098#true} is VALID [2022-02-20 17:21:05,085 INFO L290 TraceCheckUtils]: 19: Hoare triple {2098#true} ~cond := #in~cond; {2098#true} is VALID [2022-02-20 17:21:05,086 INFO L290 TraceCheckUtils]: 20: Hoare triple {2098#true} assume !(0 == ~cond); {2098#true} is VALID [2022-02-20 17:21:05,086 INFO L290 TraceCheckUtils]: 21: Hoare triple {2098#true} assume true; {2098#true} is VALID [2022-02-20 17:21:05,086 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2098#true} {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} #81#return; {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:05,087 INFO L290 TraceCheckUtils]: 23: Hoare triple {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:05,087 INFO L290 TraceCheckUtils]: 24: Hoare triple {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:05,088 INFO L290 TraceCheckUtils]: 25: Hoare triple {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:05,088 INFO L290 TraceCheckUtils]: 26: Hoare triple {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:05,088 INFO L290 TraceCheckUtils]: 27: Hoare triple {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_#t~post7#1 < 100);havoc main_#t~post7#1; {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:05,089 INFO L272 TraceCheckUtils]: 28: Hoare triple {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {2098#true} is VALID [2022-02-20 17:21:05,089 INFO L290 TraceCheckUtils]: 29: Hoare triple {2098#true} ~cond := #in~cond; {2098#true} is VALID [2022-02-20 17:21:05,089 INFO L290 TraceCheckUtils]: 30: Hoare triple {2098#true} assume !(0 == ~cond); {2098#true} is VALID [2022-02-20 17:21:05,089 INFO L290 TraceCheckUtils]: 31: Hoare triple {2098#true} assume true; {2098#true} is VALID [2022-02-20 17:21:05,090 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2098#true} {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} #83#return; {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:05,090 INFO L272 TraceCheckUtils]: 33: Hoare triple {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {2098#true} is VALID [2022-02-20 17:21:05,090 INFO L290 TraceCheckUtils]: 34: Hoare triple {2098#true} ~cond := #in~cond; {2098#true} is VALID [2022-02-20 17:21:05,090 INFO L290 TraceCheckUtils]: 35: Hoare triple {2098#true} assume !(0 == ~cond); {2098#true} is VALID [2022-02-20 17:21:05,090 INFO L290 TraceCheckUtils]: 36: Hoare triple {2098#true} assume true; {2098#true} is VALID [2022-02-20 17:21:05,091 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2098#true} {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} #85#return; {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:05,092 INFO L272 TraceCheckUtils]: 38: Hoare triple {2143#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {2222#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:05,092 INFO L290 TraceCheckUtils]: 39: Hoare triple {2222#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2226#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:05,092 INFO L290 TraceCheckUtils]: 40: Hoare triple {2226#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2099#false} is VALID [2022-02-20 17:21:05,092 INFO L290 TraceCheckUtils]: 41: Hoare triple {2099#false} assume !false; {2099#false} is VALID [2022-02-20 17:21:05,093 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-02-20 17:21:05,093 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:21:05,239 INFO L290 TraceCheckUtils]: 41: Hoare triple {2099#false} assume !false; {2099#false} is VALID [2022-02-20 17:21:05,240 INFO L290 TraceCheckUtils]: 40: Hoare triple {2226#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2099#false} is VALID [2022-02-20 17:21:05,240 INFO L290 TraceCheckUtils]: 39: Hoare triple {2222#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2226#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:05,241 INFO L272 TraceCheckUtils]: 38: Hoare triple {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {2222#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:05,241 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2098#true} {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} #85#return; {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:05,241 INFO L290 TraceCheckUtils]: 36: Hoare triple {2098#true} assume true; {2098#true} is VALID [2022-02-20 17:21:05,241 INFO L290 TraceCheckUtils]: 35: Hoare triple {2098#true} assume !(0 == ~cond); {2098#true} is VALID [2022-02-20 17:21:05,241 INFO L290 TraceCheckUtils]: 34: Hoare triple {2098#true} ~cond := #in~cond; {2098#true} is VALID [2022-02-20 17:21:05,242 INFO L272 TraceCheckUtils]: 33: Hoare triple {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {2098#true} is VALID [2022-02-20 17:21:05,242 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2098#true} {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} #83#return; {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:05,242 INFO L290 TraceCheckUtils]: 31: Hoare triple {2098#true} assume true; {2098#true} is VALID [2022-02-20 17:21:05,242 INFO L290 TraceCheckUtils]: 30: Hoare triple {2098#true} assume !(0 == ~cond); {2098#true} is VALID [2022-02-20 17:21:05,242 INFO L290 TraceCheckUtils]: 29: Hoare triple {2098#true} ~cond := #in~cond; {2098#true} is VALID [2022-02-20 17:21:05,242 INFO L272 TraceCheckUtils]: 28: Hoare triple {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {2098#true} is VALID [2022-02-20 17:21:05,243 INFO L290 TraceCheckUtils]: 27: Hoare triple {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} assume !!(main_#t~post7#1 < 100);havoc main_#t~post7#1; {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:05,244 INFO L290 TraceCheckUtils]: 26: Hoare triple {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:05,244 INFO L290 TraceCheckUtils]: 25: Hoare triple {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:05,245 INFO L290 TraceCheckUtils]: 24: Hoare triple {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:05,245 INFO L290 TraceCheckUtils]: 23: Hoare triple {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:05,245 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2098#true} {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} #81#return; {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:05,245 INFO L290 TraceCheckUtils]: 21: Hoare triple {2098#true} assume true; {2098#true} is VALID [2022-02-20 17:21:05,246 INFO L290 TraceCheckUtils]: 20: Hoare triple {2098#true} assume !(0 == ~cond); {2098#true} is VALID [2022-02-20 17:21:05,246 INFO L290 TraceCheckUtils]: 19: Hoare triple {2098#true} ~cond := #in~cond; {2098#true} is VALID [2022-02-20 17:21:05,246 INFO L272 TraceCheckUtils]: 18: Hoare triple {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {2098#true} is VALID [2022-02-20 17:21:05,247 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2098#true} {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} #79#return; {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:05,247 INFO L290 TraceCheckUtils]: 16: Hoare triple {2098#true} assume true; {2098#true} is VALID [2022-02-20 17:21:05,252 INFO L290 TraceCheckUtils]: 15: Hoare triple {2098#true} assume !(0 == ~cond); {2098#true} is VALID [2022-02-20 17:21:05,252 INFO L290 TraceCheckUtils]: 14: Hoare triple {2098#true} ~cond := #in~cond; {2098#true} is VALID [2022-02-20 17:21:05,252 INFO L272 TraceCheckUtils]: 13: Hoare triple {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {2098#true} is VALID [2022-02-20 17:21:05,256 INFO L290 TraceCheckUtils]: 12: Hoare triple {2098#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {2242#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:05,257 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {2098#true} {2098#true} #77#return; {2098#true} is VALID [2022-02-20 17:21:05,257 INFO L290 TraceCheckUtils]: 10: Hoare triple {2098#true} assume true; {2098#true} is VALID [2022-02-20 17:21:05,257 INFO L290 TraceCheckUtils]: 9: Hoare triple {2098#true} assume !(0 == ~cond); {2098#true} is VALID [2022-02-20 17:21:05,257 INFO L290 TraceCheckUtils]: 8: Hoare triple {2098#true} ~cond := #in~cond; {2098#true} is VALID [2022-02-20 17:21:05,257 INFO L272 TraceCheckUtils]: 7: Hoare triple {2098#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {2098#true} is VALID [2022-02-20 17:21:05,257 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2098#true} {2098#true} #75#return; {2098#true} is VALID [2022-02-20 17:21:05,257 INFO L290 TraceCheckUtils]: 5: Hoare triple {2098#true} assume true; {2098#true} is VALID [2022-02-20 17:21:05,257 INFO L290 TraceCheckUtils]: 4: Hoare triple {2098#true} assume !(0 == ~cond); {2098#true} is VALID [2022-02-20 17:21:05,257 INFO L290 TraceCheckUtils]: 3: Hoare triple {2098#true} ~cond := #in~cond; {2098#true} is VALID [2022-02-20 17:21:05,257 INFO L272 TraceCheckUtils]: 2: Hoare triple {2098#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {2098#true} is VALID [2022-02-20 17:21:05,257 INFO L290 TraceCheckUtils]: 1: Hoare triple {2098#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2098#true} is VALID [2022-02-20 17:21:05,257 INFO L290 TraceCheckUtils]: 0: Hoare triple {2098#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2098#true} is VALID [2022-02-20 17:21:05,257 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-02-20 17:21:05,258 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:05,258 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1986097018] [2022-02-20 17:21:05,258 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:05,258 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1205962511] [2022-02-20 17:21:05,258 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1205962511] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:21:05,258 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:21:05,258 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-02-20 17:21:05,258 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [213149841] [2022-02-20 17:21:05,258 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:05,258 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 42 [2022-02-20 17:21:05,259 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:05,259 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:21:05,272 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:05,272 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:21:05,272 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:05,272 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:21:05,273 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-02-20 17:21:05,273 INFO L87 Difference]: Start difference. First operand 50 states and 65 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:21:05,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:05,450 INFO L93 Difference]: Finished difference Result 57 states and 71 transitions. [2022-02-20 17:21:05,450 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:21:05,450 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 42 [2022-02-20 17:21:05,451 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:05,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:21:05,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-02-20 17:21:05,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:21:05,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-02-20 17:21:05,453 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-02-20 17:21:05,483 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:05,484 INFO L225 Difference]: With dead ends: 57 [2022-02-20 17:21:05,484 INFO L226 Difference]: Without dead ends: 55 [2022-02-20 17:21:05,484 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:21:05,484 INFO L933 BasicCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 35 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 35 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:05,484 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 144 Invalid, 35 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 35 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:21:05,485 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-02-20 17:21:05,504 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 54. [2022-02-20 17:21:05,504 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:05,504 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 54 states, 34 states have (on average 1.2058823529411764) internal successors, (41), 35 states have internal predecessors, (41), 14 states have call successors, (14), 5 states have call predecessors, (14), 5 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:21:05,504 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 54 states, 34 states have (on average 1.2058823529411764) internal successors, (41), 35 states have internal predecessors, (41), 14 states have call successors, (14), 5 states have call predecessors, (14), 5 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:21:05,504 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 54 states, 34 states have (on average 1.2058823529411764) internal successors, (41), 35 states have internal predecessors, (41), 14 states have call successors, (14), 5 states have call predecessors, (14), 5 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:21:05,506 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:05,506 INFO L93 Difference]: Finished difference Result 55 states and 69 transitions. [2022-02-20 17:21:05,506 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 69 transitions. [2022-02-20 17:21:05,506 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:05,506 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:05,506 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 34 states have (on average 1.2058823529411764) internal successors, (41), 35 states have internal predecessors, (41), 14 states have call successors, (14), 5 states have call predecessors, (14), 5 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 55 states. [2022-02-20 17:21:05,507 INFO L87 Difference]: Start difference. First operand has 54 states, 34 states have (on average 1.2058823529411764) internal successors, (41), 35 states have internal predecessors, (41), 14 states have call successors, (14), 5 states have call predecessors, (14), 5 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 55 states. [2022-02-20 17:21:05,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:05,509 INFO L93 Difference]: Finished difference Result 55 states and 69 transitions. [2022-02-20 17:21:05,509 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 69 transitions. [2022-02-20 17:21:05,509 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:05,509 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:05,509 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:05,509 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:05,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 34 states have (on average 1.2058823529411764) internal successors, (41), 35 states have internal predecessors, (41), 14 states have call successors, (14), 5 states have call predecessors, (14), 5 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:21:05,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 68 transitions. [2022-02-20 17:21:05,511 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 68 transitions. Word has length 42 [2022-02-20 17:21:05,511 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:05,511 INFO L470 AbstractCegarLoop]: Abstraction has 54 states and 68 transitions. [2022-02-20 17:21:05,511 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:21:05,511 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 68 transitions. [2022-02-20 17:21:05,523 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-02-20 17:21:05,523 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:05,524 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:05,555 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-02-20 17:21:05,755 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 [2022-02-20 17:21:05,756 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:05,756 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:05,756 INFO L85 PathProgramCache]: Analyzing trace with hash 2115683101, now seen corresponding path program 1 times [2022-02-20 17:21:05,756 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:05,756 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2142903993] [2022-02-20 17:21:05,757 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:05,757 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:05,766 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:05,766 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1592751107] [2022-02-20 17:21:05,766 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:05,766 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:05,766 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:05,767 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) [2022-02-20 17:21:05,768 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-02-20 17:21:05,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:05,803 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 17:21:05,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:05,812 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:06,034 INFO L290 TraceCheckUtils]: 0: Hoare triple {2627#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2627#true} is VALID [2022-02-20 17:21:06,034 INFO L290 TraceCheckUtils]: 1: Hoare triple {2627#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2627#true} is VALID [2022-02-20 17:21:06,034 INFO L272 TraceCheckUtils]: 2: Hoare triple {2627#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {2627#true} is VALID [2022-02-20 17:21:06,034 INFO L290 TraceCheckUtils]: 3: Hoare triple {2627#true} ~cond := #in~cond; {2627#true} is VALID [2022-02-20 17:21:06,034 INFO L290 TraceCheckUtils]: 4: Hoare triple {2627#true} assume !(0 == ~cond); {2627#true} is VALID [2022-02-20 17:21:06,035 INFO L290 TraceCheckUtils]: 5: Hoare triple {2627#true} assume true; {2627#true} is VALID [2022-02-20 17:21:06,035 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2627#true} {2627#true} #75#return; {2627#true} is VALID [2022-02-20 17:21:06,035 INFO L272 TraceCheckUtils]: 7: Hoare triple {2627#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {2627#true} is VALID [2022-02-20 17:21:06,035 INFO L290 TraceCheckUtils]: 8: Hoare triple {2627#true} ~cond := #in~cond; {2627#true} is VALID [2022-02-20 17:21:06,035 INFO L290 TraceCheckUtils]: 9: Hoare triple {2627#true} assume !(0 == ~cond); {2627#true} is VALID [2022-02-20 17:21:06,035 INFO L290 TraceCheckUtils]: 10: Hoare triple {2627#true} assume true; {2627#true} is VALID [2022-02-20 17:21:06,035 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {2627#true} {2627#true} #77#return; {2627#true} is VALID [2022-02-20 17:21:06,036 INFO L290 TraceCheckUtils]: 12: Hoare triple {2627#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:06,036 INFO L272 TraceCheckUtils]: 13: Hoare triple {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {2627#true} is VALID [2022-02-20 17:21:06,036 INFO L290 TraceCheckUtils]: 14: Hoare triple {2627#true} ~cond := #in~cond; {2627#true} is VALID [2022-02-20 17:21:06,036 INFO L290 TraceCheckUtils]: 15: Hoare triple {2627#true} assume !(0 == ~cond); {2627#true} is VALID [2022-02-20 17:21:06,036 INFO L290 TraceCheckUtils]: 16: Hoare triple {2627#true} assume true; {2627#true} is VALID [2022-02-20 17:21:06,037 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2627#true} {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #79#return; {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:06,037 INFO L272 TraceCheckUtils]: 18: Hoare triple {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {2627#true} is VALID [2022-02-20 17:21:06,037 INFO L290 TraceCheckUtils]: 19: Hoare triple {2627#true} ~cond := #in~cond; {2627#true} is VALID [2022-02-20 17:21:06,037 INFO L290 TraceCheckUtils]: 20: Hoare triple {2627#true} assume !(0 == ~cond); {2627#true} is VALID [2022-02-20 17:21:06,038 INFO L290 TraceCheckUtils]: 21: Hoare triple {2627#true} assume true; {2627#true} is VALID [2022-02-20 17:21:06,038 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2627#true} {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #81#return; {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:06,038 INFO L290 TraceCheckUtils]: 23: Hoare triple {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:06,039 INFO L290 TraceCheckUtils]: 24: Hoare triple {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:06,039 INFO L290 TraceCheckUtils]: 25: Hoare triple {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:06,040 INFO L290 TraceCheckUtils]: 26: Hoare triple {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:06,040 INFO L290 TraceCheckUtils]: 27: Hoare triple {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_#t~post7#1 < 100);havoc main_#t~post7#1; {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:06,040 INFO L272 TraceCheckUtils]: 28: Hoare triple {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {2627#true} is VALID [2022-02-20 17:21:06,040 INFO L290 TraceCheckUtils]: 29: Hoare triple {2627#true} ~cond := #in~cond; {2627#true} is VALID [2022-02-20 17:21:06,040 INFO L290 TraceCheckUtils]: 30: Hoare triple {2627#true} assume !(0 == ~cond); {2627#true} is VALID [2022-02-20 17:21:06,041 INFO L290 TraceCheckUtils]: 31: Hoare triple {2627#true} assume true; {2627#true} is VALID [2022-02-20 17:21:06,041 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2627#true} {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #83#return; {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:06,041 INFO L272 TraceCheckUtils]: 33: Hoare triple {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {2627#true} is VALID [2022-02-20 17:21:06,042 INFO L290 TraceCheckUtils]: 34: Hoare triple {2627#true} ~cond := #in~cond; {2627#true} is VALID [2022-02-20 17:21:06,042 INFO L290 TraceCheckUtils]: 35: Hoare triple {2627#true} assume !(0 == ~cond); {2627#true} is VALID [2022-02-20 17:21:06,042 INFO L290 TraceCheckUtils]: 36: Hoare triple {2627#true} assume true; {2627#true} is VALID [2022-02-20 17:21:06,042 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2627#true} {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #85#return; {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:06,043 INFO L272 TraceCheckUtils]: 38: Hoare triple {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {2627#true} is VALID [2022-02-20 17:21:06,043 INFO L290 TraceCheckUtils]: 39: Hoare triple {2627#true} ~cond := #in~cond; {2750#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:06,043 INFO L290 TraceCheckUtils]: 40: Hoare triple {2750#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2754#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:06,044 INFO L290 TraceCheckUtils]: 41: Hoare triple {2754#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2754#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:06,044 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2754#(not (= |__VERIFIER_assert_#in~cond| 0))} {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #87#return; {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:06,045 INFO L272 TraceCheckUtils]: 43: Hoare triple {2668#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~xy~0#1 + main_~s~0#1 * main_~yy~0#1 - main_~q~0#1 * main_~x~0#1 - main_~b~0#1 * main_~y~0#1 - main_~s~0#1 * main_~y~0#1 + main_~b~0#1 then 1 else 0)); {2764#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:06,045 INFO L290 TraceCheckUtils]: 44: Hoare triple {2764#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2768#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:06,046 INFO L290 TraceCheckUtils]: 45: Hoare triple {2768#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2628#false} is VALID [2022-02-20 17:21:06,046 INFO L290 TraceCheckUtils]: 46: Hoare triple {2628#false} assume !false; {2628#false} is VALID [2022-02-20 17:21:06,046 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 11 proven. 1 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-02-20 17:21:06,046 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:22:01,059 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:22:01,059 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2142903993] [2022-02-20 17:22:01,059 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:22:01,059 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1592751107] [2022-02-20 17:22:01,059 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1592751107] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 17:22:01,060 INFO L191 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:22:01,060 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2022-02-20 17:22:01,060 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [49976317] [2022-02-20 17:22:01,060 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-02-20 17:22:01,060 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-02-20 17:22:01,060 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:22:01,061 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:22:01,090 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:01,090 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 17:22:01,090 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:22:01,090 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 17:22:01,090 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:22:01,090 INFO L87 Difference]: Start difference. First operand 54 states and 68 transitions. Second operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:22:01,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:01,428 INFO L93 Difference]: Finished difference Result 61 states and 74 transitions. [2022-02-20 17:22:01,428 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 17:22:01,428 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-02-20 17:22:01,428 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:22:01,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:22:01,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2022-02-20 17:22:01,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:22:01,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2022-02-20 17:22:01,430 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 63 transitions. [2022-02-20 17:22:01,477 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:01,478 INFO L225 Difference]: With dead ends: 61 [2022-02-20 17:22:01,478 INFO L226 Difference]: Without dead ends: 59 [2022-02-20 17:22:01,479 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 42 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:22:01,479 INFO L933 BasicCegarLoop]: 31 mSDtfsCounter, 12 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 110 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 152 SdHoareTripleChecker+Invalid, 112 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 110 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:22:01,479 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 152 Invalid, 112 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 110 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:22:01,480 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-02-20 17:22:01,502 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 58. [2022-02-20 17:22:01,502 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:22:01,502 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 58 states, 37 states have (on average 1.1891891891891893) internal successors, (44), 38 states have internal predecessors, (44), 14 states have call successors, (14), 6 states have call predecessors, (14), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:22:01,502 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 58 states, 37 states have (on average 1.1891891891891893) internal successors, (44), 38 states have internal predecessors, (44), 14 states have call successors, (14), 6 states have call predecessors, (14), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:22:01,503 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 58 states, 37 states have (on average 1.1891891891891893) internal successors, (44), 38 states have internal predecessors, (44), 14 states have call successors, (14), 6 states have call predecessors, (14), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:22:01,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:01,504 INFO L93 Difference]: Finished difference Result 59 states and 72 transitions. [2022-02-20 17:22:01,504 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 72 transitions. [2022-02-20 17:22:01,505 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:01,505 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:01,505 INFO L74 IsIncluded]: Start isIncluded. First operand has 58 states, 37 states have (on average 1.1891891891891893) internal successors, (44), 38 states have internal predecessors, (44), 14 states have call successors, (14), 6 states have call predecessors, (14), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 59 states. [2022-02-20 17:22:01,505 INFO L87 Difference]: Start difference. First operand has 58 states, 37 states have (on average 1.1891891891891893) internal successors, (44), 38 states have internal predecessors, (44), 14 states have call successors, (14), 6 states have call predecessors, (14), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 59 states. [2022-02-20 17:22:01,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:01,507 INFO L93 Difference]: Finished difference Result 59 states and 72 transitions. [2022-02-20 17:22:01,507 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 72 transitions. [2022-02-20 17:22:01,507 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:01,507 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:01,508 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:22:01,508 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:22:01,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 37 states have (on average 1.1891891891891893) internal successors, (44), 38 states have internal predecessors, (44), 14 states have call successors, (14), 6 states have call predecessors, (14), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:22:01,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 71 transitions. [2022-02-20 17:22:01,509 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 71 transitions. Word has length 47 [2022-02-20 17:22:01,509 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:22:01,510 INFO L470 AbstractCegarLoop]: Abstraction has 58 states and 71 transitions. [2022-02-20 17:22:01,510 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:22:01,510 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 71 transitions. [2022-02-20 17:22:01,510 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-02-20 17:22:01,510 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:22:01,511 INFO L514 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:22:01,537 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-02-20 17:22:01,727 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 [2022-02-20 17:22:01,728 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:22:01,728 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:22:01,728 INFO L85 PathProgramCache]: Analyzing trace with hash -879665460, now seen corresponding path program 1 times [2022-02-20 17:22:01,728 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:22:01,728 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [119200356] [2022-02-20 17:22:01,729 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:01,729 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:22:01,750 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:22:01,753 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [682244936] [2022-02-20 17:22:01,762 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:01,762 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:22:01,762 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:22:01,763 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:22:01,768 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-02-20 17:22:01,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:01,839 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 17:22:01,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:01,883 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:22:02,100 INFO L290 TraceCheckUtils]: 0: Hoare triple {3082#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,101 INFO L290 TraceCheckUtils]: 1: Hoare triple {3087#(<= ~counter~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,101 INFO L272 TraceCheckUtils]: 2: Hoare triple {3087#(<= ~counter~0 0)} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,102 INFO L290 TraceCheckUtils]: 3: Hoare triple {3087#(<= ~counter~0 0)} ~cond := #in~cond; {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,102 INFO L290 TraceCheckUtils]: 4: Hoare triple {3087#(<= ~counter~0 0)} assume !(0 == ~cond); {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,102 INFO L290 TraceCheckUtils]: 5: Hoare triple {3087#(<= ~counter~0 0)} assume true; {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,103 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3087#(<= ~counter~0 0)} {3087#(<= ~counter~0 0)} #75#return; {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,111 INFO L272 TraceCheckUtils]: 7: Hoare triple {3087#(<= ~counter~0 0)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,111 INFO L290 TraceCheckUtils]: 8: Hoare triple {3087#(<= ~counter~0 0)} ~cond := #in~cond; {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,111 INFO L290 TraceCheckUtils]: 9: Hoare triple {3087#(<= ~counter~0 0)} assume !(0 == ~cond); {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,111 INFO L290 TraceCheckUtils]: 10: Hoare triple {3087#(<= ~counter~0 0)} assume true; {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,112 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {3087#(<= ~counter~0 0)} {3087#(<= ~counter~0 0)} #77#return; {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,112 INFO L290 TraceCheckUtils]: 12: Hoare triple {3087#(<= ~counter~0 0)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,112 INFO L272 TraceCheckUtils]: 13: Hoare triple {3087#(<= ~counter~0 0)} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,113 INFO L290 TraceCheckUtils]: 14: Hoare triple {3087#(<= ~counter~0 0)} ~cond := #in~cond; {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,113 INFO L290 TraceCheckUtils]: 15: Hoare triple {3087#(<= ~counter~0 0)} assume !(0 == ~cond); {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,113 INFO L290 TraceCheckUtils]: 16: Hoare triple {3087#(<= ~counter~0 0)} assume true; {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,113 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3087#(<= ~counter~0 0)} {3087#(<= ~counter~0 0)} #79#return; {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,114 INFO L272 TraceCheckUtils]: 18: Hoare triple {3087#(<= ~counter~0 0)} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,114 INFO L290 TraceCheckUtils]: 19: Hoare triple {3087#(<= ~counter~0 0)} ~cond := #in~cond; {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,114 INFO L290 TraceCheckUtils]: 20: Hoare triple {3087#(<= ~counter~0 0)} assume !(0 == ~cond); {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,114 INFO L290 TraceCheckUtils]: 21: Hoare triple {3087#(<= ~counter~0 0)} assume true; {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,115 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3087#(<= ~counter~0 0)} {3087#(<= ~counter~0 0)} #81#return; {3087#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:02,115 INFO L290 TraceCheckUtils]: 23: Hoare triple {3087#(<= ~counter~0 0)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {3157#(<= ~counter~0 1)} is VALID [2022-02-20 17:22:02,115 INFO L290 TraceCheckUtils]: 24: Hoare triple {3157#(<= ~counter~0 1)} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {3157#(<= ~counter~0 1)} is VALID [2022-02-20 17:22:02,116 INFO L290 TraceCheckUtils]: 25: Hoare triple {3157#(<= ~counter~0 1)} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {3157#(<= ~counter~0 1)} is VALID [2022-02-20 17:22:02,116 INFO L290 TraceCheckUtils]: 26: Hoare triple {3157#(<= ~counter~0 1)} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,116 INFO L290 TraceCheckUtils]: 27: Hoare triple {3167#(<= ~counter~0 2)} assume !!(main_#t~post7#1 < 100);havoc main_#t~post7#1; {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,117 INFO L272 TraceCheckUtils]: 28: Hoare triple {3167#(<= ~counter~0 2)} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,117 INFO L290 TraceCheckUtils]: 29: Hoare triple {3167#(<= ~counter~0 2)} ~cond := #in~cond; {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,117 INFO L290 TraceCheckUtils]: 30: Hoare triple {3167#(<= ~counter~0 2)} assume !(0 == ~cond); {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,118 INFO L290 TraceCheckUtils]: 31: Hoare triple {3167#(<= ~counter~0 2)} assume true; {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,118 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3167#(<= ~counter~0 2)} {3167#(<= ~counter~0 2)} #83#return; {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,118 INFO L272 TraceCheckUtils]: 33: Hoare triple {3167#(<= ~counter~0 2)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,119 INFO L290 TraceCheckUtils]: 34: Hoare triple {3167#(<= ~counter~0 2)} ~cond := #in~cond; {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,119 INFO L290 TraceCheckUtils]: 35: Hoare triple {3167#(<= ~counter~0 2)} assume !(0 == ~cond); {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,119 INFO L290 TraceCheckUtils]: 36: Hoare triple {3167#(<= ~counter~0 2)} assume true; {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,119 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3167#(<= ~counter~0 2)} {3167#(<= ~counter~0 2)} #85#return; {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,120 INFO L272 TraceCheckUtils]: 38: Hoare triple {3167#(<= ~counter~0 2)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,120 INFO L290 TraceCheckUtils]: 39: Hoare triple {3167#(<= ~counter~0 2)} ~cond := #in~cond; {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,120 INFO L290 TraceCheckUtils]: 40: Hoare triple {3167#(<= ~counter~0 2)} assume !(0 == ~cond); {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,121 INFO L290 TraceCheckUtils]: 41: Hoare triple {3167#(<= ~counter~0 2)} assume true; {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,121 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3167#(<= ~counter~0 2)} {3167#(<= ~counter~0 2)} #87#return; {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,121 INFO L272 TraceCheckUtils]: 43: Hoare triple {3167#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~xy~0#1 + main_~s~0#1 * main_~yy~0#1 - main_~q~0#1 * main_~x~0#1 - main_~b~0#1 * main_~y~0#1 - main_~s~0#1 * main_~y~0#1 + main_~b~0#1 then 1 else 0)); {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,122 INFO L290 TraceCheckUtils]: 44: Hoare triple {3167#(<= ~counter~0 2)} ~cond := #in~cond; {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,122 INFO L290 TraceCheckUtils]: 45: Hoare triple {3167#(<= ~counter~0 2)} assume !(0 == ~cond); {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,122 INFO L290 TraceCheckUtils]: 46: Hoare triple {3167#(<= ~counter~0 2)} assume true; {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,127 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3167#(<= ~counter~0 2)} {3167#(<= ~counter~0 2)} #89#return; {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,127 INFO L290 TraceCheckUtils]: 48: Hoare triple {3167#(<= ~counter~0 2)} assume !(main_~c~0#1 >= main_~b~0#1); {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,127 INFO L290 TraceCheckUtils]: 49: Hoare triple {3167#(<= ~counter~0 2)} main_~a~0#1 := main_~b~0#1;main_~b~0#1 := main_~c~0#1;havoc main_~temp~0#1;main_~temp~0#1 := main_~p~0#1;main_~p~0#1 := main_~q~0#1;main_~q~0#1 := main_~temp~0#1 - main_~q~0#1 * main_~k~0#1;main_~temp~0#1 := main_~r~0#1;main_~r~0#1 := main_~s~0#1;main_~s~0#1 := main_~temp~0#1 - main_~s~0#1 * main_~k~0#1; {3167#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:02,128 INFO L290 TraceCheckUtils]: 50: Hoare triple {3167#(<= ~counter~0 2)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {3240#(<= |ULTIMATE.start_main_#t~post6#1| 2)} is VALID [2022-02-20 17:22:02,128 INFO L290 TraceCheckUtils]: 51: Hoare triple {3240#(<= |ULTIMATE.start_main_#t~post6#1| 2)} assume !(main_#t~post6#1 < 100);havoc main_#t~post6#1; {3083#false} is VALID [2022-02-20 17:22:02,128 INFO L272 TraceCheckUtils]: 52: Hoare triple {3083#false} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~x~0#1 + main_~s~0#1 * main_~y~0#1 then 1 else 0)); {3083#false} is VALID [2022-02-20 17:22:02,128 INFO L290 TraceCheckUtils]: 53: Hoare triple {3083#false} ~cond := #in~cond; {3083#false} is VALID [2022-02-20 17:22:02,128 INFO L290 TraceCheckUtils]: 54: Hoare triple {3083#false} assume 0 == ~cond; {3083#false} is VALID [2022-02-20 17:22:02,128 INFO L290 TraceCheckUtils]: 55: Hoare triple {3083#false} assume !false; {3083#false} is VALID [2022-02-20 17:22:02,129 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-02-20 17:22:02,129 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:22:02,287 INFO L290 TraceCheckUtils]: 55: Hoare triple {3083#false} assume !false; {3083#false} is VALID [2022-02-20 17:22:02,287 INFO L290 TraceCheckUtils]: 54: Hoare triple {3083#false} assume 0 == ~cond; {3083#false} is VALID [2022-02-20 17:22:02,287 INFO L290 TraceCheckUtils]: 53: Hoare triple {3083#false} ~cond := #in~cond; {3083#false} is VALID [2022-02-20 17:22:02,287 INFO L272 TraceCheckUtils]: 52: Hoare triple {3083#false} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~x~0#1 + main_~s~0#1 * main_~y~0#1 then 1 else 0)); {3083#false} is VALID [2022-02-20 17:22:02,287 INFO L290 TraceCheckUtils]: 51: Hoare triple {3268#(< |ULTIMATE.start_main_#t~post6#1| 100)} assume !(main_#t~post6#1 < 100);havoc main_#t~post6#1; {3083#false} is VALID [2022-02-20 17:22:02,288 INFO L290 TraceCheckUtils]: 50: Hoare triple {3272#(< ~counter~0 100)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {3268#(< |ULTIMATE.start_main_#t~post6#1| 100)} is VALID [2022-02-20 17:22:02,288 INFO L290 TraceCheckUtils]: 49: Hoare triple {3272#(< ~counter~0 100)} main_~a~0#1 := main_~b~0#1;main_~b~0#1 := main_~c~0#1;havoc main_~temp~0#1;main_~temp~0#1 := main_~p~0#1;main_~p~0#1 := main_~q~0#1;main_~q~0#1 := main_~temp~0#1 - main_~q~0#1 * main_~k~0#1;main_~temp~0#1 := main_~r~0#1;main_~r~0#1 := main_~s~0#1;main_~s~0#1 := main_~temp~0#1 - main_~s~0#1 * main_~k~0#1; {3272#(< ~counter~0 100)} is VALID [2022-02-20 17:22:02,288 INFO L290 TraceCheckUtils]: 48: Hoare triple {3272#(< ~counter~0 100)} assume !(main_~c~0#1 >= main_~b~0#1); {3272#(< ~counter~0 100)} is VALID [2022-02-20 17:22:02,289 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3082#true} {3272#(< ~counter~0 100)} #89#return; {3272#(< ~counter~0 100)} is VALID [2022-02-20 17:22:02,289 INFO L290 TraceCheckUtils]: 46: Hoare triple {3082#true} assume true; {3082#true} is VALID [2022-02-20 17:22:02,289 INFO L290 TraceCheckUtils]: 45: Hoare triple {3082#true} assume !(0 == ~cond); {3082#true} is VALID [2022-02-20 17:22:02,289 INFO L290 TraceCheckUtils]: 44: Hoare triple {3082#true} ~cond := #in~cond; {3082#true} is VALID [2022-02-20 17:22:02,289 INFO L272 TraceCheckUtils]: 43: Hoare triple {3272#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~xy~0#1 + main_~s~0#1 * main_~yy~0#1 - main_~q~0#1 * main_~x~0#1 - main_~b~0#1 * main_~y~0#1 - main_~s~0#1 * main_~y~0#1 + main_~b~0#1 then 1 else 0)); {3082#true} is VALID [2022-02-20 17:22:02,290 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3082#true} {3272#(< ~counter~0 100)} #87#return; {3272#(< ~counter~0 100)} is VALID [2022-02-20 17:22:02,290 INFO L290 TraceCheckUtils]: 41: Hoare triple {3082#true} assume true; {3082#true} is VALID [2022-02-20 17:22:02,290 INFO L290 TraceCheckUtils]: 40: Hoare triple {3082#true} assume !(0 == ~cond); {3082#true} is VALID [2022-02-20 17:22:02,290 INFO L290 TraceCheckUtils]: 39: Hoare triple {3082#true} ~cond := #in~cond; {3082#true} is VALID [2022-02-20 17:22:02,290 INFO L272 TraceCheckUtils]: 38: Hoare triple {3272#(< ~counter~0 100)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {3082#true} is VALID [2022-02-20 17:22:02,291 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3082#true} {3272#(< ~counter~0 100)} #85#return; {3272#(< ~counter~0 100)} is VALID [2022-02-20 17:22:02,291 INFO L290 TraceCheckUtils]: 36: Hoare triple {3082#true} assume true; {3082#true} is VALID [2022-02-20 17:22:02,291 INFO L290 TraceCheckUtils]: 35: Hoare triple {3082#true} assume !(0 == ~cond); {3082#true} is VALID [2022-02-20 17:22:02,291 INFO L290 TraceCheckUtils]: 34: Hoare triple {3082#true} ~cond := #in~cond; {3082#true} is VALID [2022-02-20 17:22:02,291 INFO L272 TraceCheckUtils]: 33: Hoare triple {3272#(< ~counter~0 100)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {3082#true} is VALID [2022-02-20 17:22:02,292 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3082#true} {3272#(< ~counter~0 100)} #83#return; {3272#(< ~counter~0 100)} is VALID [2022-02-20 17:22:02,292 INFO L290 TraceCheckUtils]: 31: Hoare triple {3082#true} assume true; {3082#true} is VALID [2022-02-20 17:22:02,292 INFO L290 TraceCheckUtils]: 30: Hoare triple {3082#true} assume !(0 == ~cond); {3082#true} is VALID [2022-02-20 17:22:02,292 INFO L290 TraceCheckUtils]: 29: Hoare triple {3082#true} ~cond := #in~cond; {3082#true} is VALID [2022-02-20 17:22:02,292 INFO L272 TraceCheckUtils]: 28: Hoare triple {3272#(< ~counter~0 100)} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {3082#true} is VALID [2022-02-20 17:22:02,292 INFO L290 TraceCheckUtils]: 27: Hoare triple {3272#(< ~counter~0 100)} assume !!(main_#t~post7#1 < 100);havoc main_#t~post7#1; {3272#(< ~counter~0 100)} is VALID [2022-02-20 17:22:02,293 INFO L290 TraceCheckUtils]: 26: Hoare triple {3345#(< ~counter~0 99)} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {3272#(< ~counter~0 100)} is VALID [2022-02-20 17:22:02,293 INFO L290 TraceCheckUtils]: 25: Hoare triple {3345#(< ~counter~0 99)} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {3345#(< ~counter~0 99)} is VALID [2022-02-20 17:22:02,293 INFO L290 TraceCheckUtils]: 24: Hoare triple {3345#(< ~counter~0 99)} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {3345#(< ~counter~0 99)} is VALID [2022-02-20 17:22:02,294 INFO L290 TraceCheckUtils]: 23: Hoare triple {3355#(< ~counter~0 98)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {3345#(< ~counter~0 99)} is VALID [2022-02-20 17:22:02,294 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3082#true} {3355#(< ~counter~0 98)} #81#return; {3355#(< ~counter~0 98)} is VALID [2022-02-20 17:22:02,294 INFO L290 TraceCheckUtils]: 21: Hoare triple {3082#true} assume true; {3082#true} is VALID [2022-02-20 17:22:02,294 INFO L290 TraceCheckUtils]: 20: Hoare triple {3082#true} assume !(0 == ~cond); {3082#true} is VALID [2022-02-20 17:22:02,294 INFO L290 TraceCheckUtils]: 19: Hoare triple {3082#true} ~cond := #in~cond; {3082#true} is VALID [2022-02-20 17:22:02,294 INFO L272 TraceCheckUtils]: 18: Hoare triple {3355#(< ~counter~0 98)} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {3082#true} is VALID [2022-02-20 17:22:02,295 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3082#true} {3355#(< ~counter~0 98)} #79#return; {3355#(< ~counter~0 98)} is VALID [2022-02-20 17:22:02,295 INFO L290 TraceCheckUtils]: 16: Hoare triple {3082#true} assume true; {3082#true} is VALID [2022-02-20 17:22:02,295 INFO L290 TraceCheckUtils]: 15: Hoare triple {3082#true} assume !(0 == ~cond); {3082#true} is VALID [2022-02-20 17:22:02,295 INFO L290 TraceCheckUtils]: 14: Hoare triple {3082#true} ~cond := #in~cond; {3082#true} is VALID [2022-02-20 17:22:02,295 INFO L272 TraceCheckUtils]: 13: Hoare triple {3355#(< ~counter~0 98)} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {3082#true} is VALID [2022-02-20 17:22:02,295 INFO L290 TraceCheckUtils]: 12: Hoare triple {3355#(< ~counter~0 98)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {3355#(< ~counter~0 98)} is VALID [2022-02-20 17:22:02,296 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {3082#true} {3355#(< ~counter~0 98)} #77#return; {3355#(< ~counter~0 98)} is VALID [2022-02-20 17:22:02,296 INFO L290 TraceCheckUtils]: 10: Hoare triple {3082#true} assume true; {3082#true} is VALID [2022-02-20 17:22:02,296 INFO L290 TraceCheckUtils]: 9: Hoare triple {3082#true} assume !(0 == ~cond); {3082#true} is VALID [2022-02-20 17:22:02,296 INFO L290 TraceCheckUtils]: 8: Hoare triple {3082#true} ~cond := #in~cond; {3082#true} is VALID [2022-02-20 17:22:02,296 INFO L272 TraceCheckUtils]: 7: Hoare triple {3355#(< ~counter~0 98)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {3082#true} is VALID [2022-02-20 17:22:02,297 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3082#true} {3355#(< ~counter~0 98)} #75#return; {3355#(< ~counter~0 98)} is VALID [2022-02-20 17:22:02,297 INFO L290 TraceCheckUtils]: 5: Hoare triple {3082#true} assume true; {3082#true} is VALID [2022-02-20 17:22:02,297 INFO L290 TraceCheckUtils]: 4: Hoare triple {3082#true} assume !(0 == ~cond); {3082#true} is VALID [2022-02-20 17:22:02,297 INFO L290 TraceCheckUtils]: 3: Hoare triple {3082#true} ~cond := #in~cond; {3082#true} is VALID [2022-02-20 17:22:02,297 INFO L272 TraceCheckUtils]: 2: Hoare triple {3355#(< ~counter~0 98)} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {3082#true} is VALID [2022-02-20 17:22:02,297 INFO L290 TraceCheckUtils]: 1: Hoare triple {3355#(< ~counter~0 98)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {3355#(< ~counter~0 98)} is VALID [2022-02-20 17:22:02,298 INFO L290 TraceCheckUtils]: 0: Hoare triple {3082#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3355#(< ~counter~0 98)} is VALID [2022-02-20 17:22:02,298 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-02-20 17:22:02,298 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:22:02,298 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [119200356] [2022-02-20 17:22:02,298 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:22:02,298 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [682244936] [2022-02-20 17:22:02,299 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [682244936] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:22:02,299 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:22:02,299 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 6] total 10 [2022-02-20 17:22:02,299 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1292944148] [2022-02-20 17:22:02,299 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:22:02,300 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.9) internal successors, (39), 10 states have internal predecessors, (39), 5 states have call successors, (17), 4 states have call predecessors, (17), 3 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) Word has length 56 [2022-02-20 17:22:02,300 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:22:02,315 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.9) internal successors, (39), 10 states have internal predecessors, (39), 5 states have call successors, (17), 4 states have call predecessors, (17), 3 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) [2022-02-20 17:22:02,351 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:02,351 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 17:22:02,351 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:22:02,352 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 17:22:02,352 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-02-20 17:22:02,352 INFO L87 Difference]: Start difference. First operand 58 states and 71 transitions. Second operand has 10 states, 10 states have (on average 3.9) internal successors, (39), 10 states have internal predecessors, (39), 5 states have call successors, (17), 4 states have call predecessors, (17), 3 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) [2022-02-20 17:22:02,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:02,775 INFO L93 Difference]: Finished difference Result 211 states and 250 transitions. [2022-02-20 17:22:02,775 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 17:22:02,776 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.9) internal successors, (39), 10 states have internal predecessors, (39), 5 states have call successors, (17), 4 states have call predecessors, (17), 3 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) Word has length 56 [2022-02-20 17:22:02,776 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:22:02,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.9) internal successors, (39), 10 states have internal predecessors, (39), 5 states have call successors, (17), 4 states have call predecessors, (17), 3 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) [2022-02-20 17:22:02,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 153 transitions. [2022-02-20 17:22:02,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.9) internal successors, (39), 10 states have internal predecessors, (39), 5 states have call successors, (17), 4 states have call predecessors, (17), 3 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) [2022-02-20 17:22:02,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 153 transitions. [2022-02-20 17:22:02,780 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 153 transitions. [2022-02-20 17:22:02,886 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 153 edges. 153 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:02,889 INFO L225 Difference]: With dead ends: 211 [2022-02-20 17:22:02,889 INFO L226 Difference]: Without dead ends: 203 [2022-02-20 17:22:02,890 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 114 GetRequests, 102 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=64, Invalid=118, Unknown=0, NotChecked=0, Total=182 [2022-02-20 17:22:02,890 INFO L933 BasicCegarLoop]: 57 mSDtfsCounter, 87 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 79 mSolverCounterSat, 48 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 87 SdHoareTripleChecker+Valid, 199 SdHoareTripleChecker+Invalid, 127 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 48 IncrementalHoareTripleChecker+Valid, 79 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:22:02,890 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [87 Valid, 199 Invalid, 127 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [48 Valid, 79 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:22:02,891 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 203 states. [2022-02-20 17:22:02,979 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 203 to 195. [2022-02-20 17:22:02,979 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:22:02,979 INFO L82 GeneralOperation]: Start isEquivalent. First operand 203 states. Second operand has 195 states, 125 states have (on average 1.192) internal successors, (149), 129 states have internal predecessors, (149), 44 states have call successors, (44), 25 states have call predecessors, (44), 25 states have return successors, (40), 40 states have call predecessors, (40), 40 states have call successors, (40) [2022-02-20 17:22:02,980 INFO L74 IsIncluded]: Start isIncluded. First operand 203 states. Second operand has 195 states, 125 states have (on average 1.192) internal successors, (149), 129 states have internal predecessors, (149), 44 states have call successors, (44), 25 states have call predecessors, (44), 25 states have return successors, (40), 40 states have call predecessors, (40), 40 states have call successors, (40) [2022-02-20 17:22:02,980 INFO L87 Difference]: Start difference. First operand 203 states. Second operand has 195 states, 125 states have (on average 1.192) internal successors, (149), 129 states have internal predecessors, (149), 44 states have call successors, (44), 25 states have call predecessors, (44), 25 states have return successors, (40), 40 states have call predecessors, (40), 40 states have call successors, (40) [2022-02-20 17:22:02,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:02,984 INFO L93 Difference]: Finished difference Result 203 states and 238 transitions. [2022-02-20 17:22:02,985 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 238 transitions. [2022-02-20 17:22:02,985 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:02,985 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:02,985 INFO L74 IsIncluded]: Start isIncluded. First operand has 195 states, 125 states have (on average 1.192) internal successors, (149), 129 states have internal predecessors, (149), 44 states have call successors, (44), 25 states have call predecessors, (44), 25 states have return successors, (40), 40 states have call predecessors, (40), 40 states have call successors, (40) Second operand 203 states. [2022-02-20 17:22:02,986 INFO L87 Difference]: Start difference. First operand has 195 states, 125 states have (on average 1.192) internal successors, (149), 129 states have internal predecessors, (149), 44 states have call successors, (44), 25 states have call predecessors, (44), 25 states have return successors, (40), 40 states have call predecessors, (40), 40 states have call successors, (40) Second operand 203 states. [2022-02-20 17:22:02,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:02,989 INFO L93 Difference]: Finished difference Result 203 states and 238 transitions. [2022-02-20 17:22:02,990 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 238 transitions. [2022-02-20 17:22:02,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:02,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:02,990 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:22:02,990 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:22:02,991 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 195 states, 125 states have (on average 1.192) internal successors, (149), 129 states have internal predecessors, (149), 44 states have call successors, (44), 25 states have call predecessors, (44), 25 states have return successors, (40), 40 states have call predecessors, (40), 40 states have call successors, (40) [2022-02-20 17:22:02,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 195 states to 195 states and 233 transitions. [2022-02-20 17:22:02,994 INFO L78 Accepts]: Start accepts. Automaton has 195 states and 233 transitions. Word has length 56 [2022-02-20 17:22:02,994 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:22:02,995 INFO L470 AbstractCegarLoop]: Abstraction has 195 states and 233 transitions. [2022-02-20 17:22:02,995 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.9) internal successors, (39), 10 states have internal predecessors, (39), 5 states have call successors, (17), 4 states have call predecessors, (17), 3 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) [2022-02-20 17:22:02,995 INFO L276 IsEmpty]: Start isEmpty. Operand 195 states and 233 transitions. [2022-02-20 17:22:02,995 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-02-20 17:22:02,995 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:22:02,995 INFO L514 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:22:03,027 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-02-20 17:22:03,212 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-02-20 17:22:03,212 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:22:03,213 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:22:03,213 INFO L85 PathProgramCache]: Analyzing trace with hash -1506412172, now seen corresponding path program 1 times [2022-02-20 17:22:03,213 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:22:03,214 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [40478305] [2022-02-20 17:22:03,214 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:03,214 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:22:03,232 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:22:03,234 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1162763407] [2022-02-20 17:22:03,234 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:03,234 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:22:03,235 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:22:03,235 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:22:03,236 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-02-20 17:22:03,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:03,272 INFO L263 TraceCheckSpWp]: Trace formula consists of 169 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 17:22:03,280 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:03,282 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:22:03,472 INFO L290 TraceCheckUtils]: 0: Hoare triple {4415#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4415#true} is VALID [2022-02-20 17:22:03,472 INFO L290 TraceCheckUtils]: 1: Hoare triple {4415#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {4415#true} is VALID [2022-02-20 17:22:03,473 INFO L272 TraceCheckUtils]: 2: Hoare triple {4415#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {4415#true} is VALID [2022-02-20 17:22:03,473 INFO L290 TraceCheckUtils]: 3: Hoare triple {4415#true} ~cond := #in~cond; {4429#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:22:03,473 INFO L290 TraceCheckUtils]: 4: Hoare triple {4429#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4433#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:03,474 INFO L290 TraceCheckUtils]: 5: Hoare triple {4433#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4433#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:03,474 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {4433#(not (= |assume_abort_if_not_#in~cond| 0))} {4415#true} #75#return; {4440#(<= 1 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 17:22:03,474 INFO L272 TraceCheckUtils]: 7: Hoare triple {4440#(<= 1 |ULTIMATE.start_main_~x~0#1|)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {4415#true} is VALID [2022-02-20 17:22:03,474 INFO L290 TraceCheckUtils]: 8: Hoare triple {4415#true} ~cond := #in~cond; {4415#true} is VALID [2022-02-20 17:22:03,475 INFO L290 TraceCheckUtils]: 9: Hoare triple {4415#true} assume !(0 == ~cond); {4415#true} is VALID [2022-02-20 17:22:03,475 INFO L290 TraceCheckUtils]: 10: Hoare triple {4415#true} assume true; {4415#true} is VALID [2022-02-20 17:22:03,475 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {4415#true} {4440#(<= 1 |ULTIMATE.start_main_~x~0#1|)} #77#return; {4440#(<= 1 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 17:22:03,476 INFO L290 TraceCheckUtils]: 12: Hoare triple {4440#(<= 1 |ULTIMATE.start_main_~x~0#1|)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:22:03,476 INFO L272 TraceCheckUtils]: 13: Hoare triple {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {4415#true} is VALID [2022-02-20 17:22:03,476 INFO L290 TraceCheckUtils]: 14: Hoare triple {4415#true} ~cond := #in~cond; {4415#true} is VALID [2022-02-20 17:22:03,476 INFO L290 TraceCheckUtils]: 15: Hoare triple {4415#true} assume !(0 == ~cond); {4415#true} is VALID [2022-02-20 17:22:03,476 INFO L290 TraceCheckUtils]: 16: Hoare triple {4415#true} assume true; {4415#true} is VALID [2022-02-20 17:22:03,477 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4415#true} {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} #79#return; {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:22:03,477 INFO L272 TraceCheckUtils]: 18: Hoare triple {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {4415#true} is VALID [2022-02-20 17:22:03,477 INFO L290 TraceCheckUtils]: 19: Hoare triple {4415#true} ~cond := #in~cond; {4415#true} is VALID [2022-02-20 17:22:03,477 INFO L290 TraceCheckUtils]: 20: Hoare triple {4415#true} assume !(0 == ~cond); {4415#true} is VALID [2022-02-20 17:22:03,477 INFO L290 TraceCheckUtils]: 21: Hoare triple {4415#true} assume true; {4415#true} is VALID [2022-02-20 17:22:03,478 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4415#true} {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} #81#return; {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:22:03,478 INFO L290 TraceCheckUtils]: 23: Hoare triple {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:22:03,478 INFO L290 TraceCheckUtils]: 24: Hoare triple {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:22:03,479 INFO L290 TraceCheckUtils]: 25: Hoare triple {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:22:03,491 INFO L290 TraceCheckUtils]: 26: Hoare triple {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:22:03,492 INFO L290 TraceCheckUtils]: 27: Hoare triple {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} assume !!(main_#t~post7#1 < 100);havoc main_#t~post7#1; {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:22:03,492 INFO L272 TraceCheckUtils]: 28: Hoare triple {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {4415#true} is VALID [2022-02-20 17:22:03,492 INFO L290 TraceCheckUtils]: 29: Hoare triple {4415#true} ~cond := #in~cond; {4415#true} is VALID [2022-02-20 17:22:03,492 INFO L290 TraceCheckUtils]: 30: Hoare triple {4415#true} assume !(0 == ~cond); {4415#true} is VALID [2022-02-20 17:22:03,492 INFO L290 TraceCheckUtils]: 31: Hoare triple {4415#true} assume true; {4415#true} is VALID [2022-02-20 17:22:03,493 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4415#true} {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} #83#return; {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:22:03,493 INFO L272 TraceCheckUtils]: 33: Hoare triple {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {4415#true} is VALID [2022-02-20 17:22:03,493 INFO L290 TraceCheckUtils]: 34: Hoare triple {4415#true} ~cond := #in~cond; {4415#true} is VALID [2022-02-20 17:22:03,493 INFO L290 TraceCheckUtils]: 35: Hoare triple {4415#true} assume !(0 == ~cond); {4415#true} is VALID [2022-02-20 17:22:03,493 INFO L290 TraceCheckUtils]: 36: Hoare triple {4415#true} assume true; {4415#true} is VALID [2022-02-20 17:22:03,494 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4415#true} {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} #85#return; {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:22:03,494 INFO L272 TraceCheckUtils]: 38: Hoare triple {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {4415#true} is VALID [2022-02-20 17:22:03,494 INFO L290 TraceCheckUtils]: 39: Hoare triple {4415#true} ~cond := #in~cond; {4415#true} is VALID [2022-02-20 17:22:03,494 INFO L290 TraceCheckUtils]: 40: Hoare triple {4415#true} assume !(0 == ~cond); {4415#true} is VALID [2022-02-20 17:22:03,494 INFO L290 TraceCheckUtils]: 41: Hoare triple {4415#true} assume true; {4415#true} is VALID [2022-02-20 17:22:03,495 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4415#true} {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} #87#return; {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:22:03,495 INFO L272 TraceCheckUtils]: 43: Hoare triple {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~xy~0#1 + main_~s~0#1 * main_~yy~0#1 - main_~q~0#1 * main_~x~0#1 - main_~b~0#1 * main_~y~0#1 - main_~s~0#1 * main_~y~0#1 + main_~b~0#1 then 1 else 0)); {4415#true} is VALID [2022-02-20 17:22:03,495 INFO L290 TraceCheckUtils]: 44: Hoare triple {4415#true} ~cond := #in~cond; {4415#true} is VALID [2022-02-20 17:22:03,495 INFO L290 TraceCheckUtils]: 45: Hoare triple {4415#true} assume !(0 == ~cond); {4415#true} is VALID [2022-02-20 17:22:03,495 INFO L290 TraceCheckUtils]: 46: Hoare triple {4415#true} assume true; {4415#true} is VALID [2022-02-20 17:22:03,496 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4415#true} {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} #89#return; {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:22:03,496 INFO L290 TraceCheckUtils]: 48: Hoare triple {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} assume !(main_~c~0#1 >= main_~b~0#1); {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:22:03,497 INFO L290 TraceCheckUtils]: 49: Hoare triple {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} main_~a~0#1 := main_~b~0#1;main_~b~0#1 := main_~c~0#1;havoc main_~temp~0#1;main_~temp~0#1 := main_~p~0#1;main_~p~0#1 := main_~q~0#1;main_~q~0#1 := main_~temp~0#1 - main_~q~0#1 * main_~k~0#1;main_~temp~0#1 := main_~r~0#1;main_~r~0#1 := main_~s~0#1;main_~s~0#1 := main_~temp~0#1 - main_~s~0#1 * main_~k~0#1; {4572#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:03,497 INFO L290 TraceCheckUtils]: 50: Hoare triple {4572#(<= 1 |ULTIMATE.start_main_~b~0#1|)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {4572#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:03,497 INFO L290 TraceCheckUtils]: 51: Hoare triple {4572#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {4572#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:03,498 INFO L290 TraceCheckUtils]: 52: Hoare triple {4572#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !(0 != main_~b~0#1); {4416#false} is VALID [2022-02-20 17:22:03,498 INFO L272 TraceCheckUtils]: 53: Hoare triple {4416#false} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~x~0#1 + main_~s~0#1 * main_~y~0#1 then 1 else 0)); {4416#false} is VALID [2022-02-20 17:22:03,498 INFO L290 TraceCheckUtils]: 54: Hoare triple {4416#false} ~cond := #in~cond; {4416#false} is VALID [2022-02-20 17:22:03,498 INFO L290 TraceCheckUtils]: 55: Hoare triple {4416#false} assume 0 == ~cond; {4416#false} is VALID [2022-02-20 17:22:03,498 INFO L290 TraceCheckUtils]: 56: Hoare triple {4416#false} assume !false; {4416#false} is VALID [2022-02-20 17:22:03,498 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 12 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-02-20 17:22:03,499 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:22:03,747 INFO L290 TraceCheckUtils]: 56: Hoare triple {4416#false} assume !false; {4416#false} is VALID [2022-02-20 17:22:03,747 INFO L290 TraceCheckUtils]: 55: Hoare triple {4416#false} assume 0 == ~cond; {4416#false} is VALID [2022-02-20 17:22:03,747 INFO L290 TraceCheckUtils]: 54: Hoare triple {4416#false} ~cond := #in~cond; {4416#false} is VALID [2022-02-20 17:22:03,747 INFO L272 TraceCheckUtils]: 53: Hoare triple {4416#false} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~x~0#1 + main_~s~0#1 * main_~y~0#1 then 1 else 0)); {4416#false} is VALID [2022-02-20 17:22:03,748 INFO L290 TraceCheckUtils]: 52: Hoare triple {4572#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !(0 != main_~b~0#1); {4416#false} is VALID [2022-02-20 17:22:03,748 INFO L290 TraceCheckUtils]: 51: Hoare triple {4572#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {4572#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:03,748 INFO L290 TraceCheckUtils]: 50: Hoare triple {4572#(<= 1 |ULTIMATE.start_main_~b~0#1|)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {4572#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:03,749 INFO L290 TraceCheckUtils]: 49: Hoare triple {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} main_~a~0#1 := main_~b~0#1;main_~b~0#1 := main_~c~0#1;havoc main_~temp~0#1;main_~temp~0#1 := main_~p~0#1;main_~p~0#1 := main_~q~0#1;main_~q~0#1 := main_~temp~0#1 - main_~q~0#1 * main_~k~0#1;main_~temp~0#1 := main_~r~0#1;main_~r~0#1 := main_~s~0#1;main_~s~0#1 := main_~temp~0#1 - main_~s~0#1 * main_~k~0#1; {4572#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:03,749 INFO L290 TraceCheckUtils]: 48: Hoare triple {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} assume !(main_~c~0#1 >= main_~b~0#1); {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:22:03,750 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4415#true} {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} #89#return; {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:22:03,750 INFO L290 TraceCheckUtils]: 46: Hoare triple {4415#true} assume true; {4415#true} is VALID [2022-02-20 17:22:03,750 INFO L290 TraceCheckUtils]: 45: Hoare triple {4415#true} assume !(0 == ~cond); {4415#true} is VALID [2022-02-20 17:22:03,750 INFO L290 TraceCheckUtils]: 44: Hoare triple {4415#true} ~cond := #in~cond; {4415#true} is VALID [2022-02-20 17:22:03,751 INFO L272 TraceCheckUtils]: 43: Hoare triple {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~xy~0#1 + main_~s~0#1 * main_~yy~0#1 - main_~q~0#1 * main_~x~0#1 - main_~b~0#1 * main_~y~0#1 - main_~s~0#1 * main_~y~0#1 + main_~b~0#1 then 1 else 0)); {4415#true} is VALID [2022-02-20 17:22:03,751 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4415#true} {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} #87#return; {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:22:03,751 INFO L290 TraceCheckUtils]: 41: Hoare triple {4415#true} assume true; {4415#true} is VALID [2022-02-20 17:22:03,752 INFO L290 TraceCheckUtils]: 40: Hoare triple {4415#true} assume !(0 == ~cond); {4415#true} is VALID [2022-02-20 17:22:03,752 INFO L290 TraceCheckUtils]: 39: Hoare triple {4415#true} ~cond := #in~cond; {4415#true} is VALID [2022-02-20 17:22:03,752 INFO L272 TraceCheckUtils]: 38: Hoare triple {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {4415#true} is VALID [2022-02-20 17:22:03,752 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4415#true} {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} #85#return; {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:22:03,753 INFO L290 TraceCheckUtils]: 36: Hoare triple {4415#true} assume true; {4415#true} is VALID [2022-02-20 17:22:03,753 INFO L290 TraceCheckUtils]: 35: Hoare triple {4415#true} assume !(0 == ~cond); {4415#true} is VALID [2022-02-20 17:22:03,753 INFO L290 TraceCheckUtils]: 34: Hoare triple {4415#true} ~cond := #in~cond; {4415#true} is VALID [2022-02-20 17:22:03,753 INFO L272 TraceCheckUtils]: 33: Hoare triple {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {4415#true} is VALID [2022-02-20 17:22:03,753 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4415#true} {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} #83#return; {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:22:03,754 INFO L290 TraceCheckUtils]: 31: Hoare triple {4415#true} assume true; {4415#true} is VALID [2022-02-20 17:22:03,754 INFO L290 TraceCheckUtils]: 30: Hoare triple {4415#true} assume !(0 == ~cond); {4415#true} is VALID [2022-02-20 17:22:03,754 INFO L290 TraceCheckUtils]: 29: Hoare triple {4415#true} ~cond := #in~cond; {4415#true} is VALID [2022-02-20 17:22:03,754 INFO L272 TraceCheckUtils]: 28: Hoare triple {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {4415#true} is VALID [2022-02-20 17:22:03,754 INFO L290 TraceCheckUtils]: 27: Hoare triple {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} assume !!(main_#t~post7#1 < 100);havoc main_#t~post7#1; {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:22:03,755 INFO L290 TraceCheckUtils]: 26: Hoare triple {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:22:03,755 INFO L290 TraceCheckUtils]: 25: Hoare triple {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {4499#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:22:03,755 INFO L290 TraceCheckUtils]: 24: Hoare triple {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:22:03,756 INFO L290 TraceCheckUtils]: 23: Hoare triple {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:22:03,756 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4415#true} {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} #81#return; {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:22:03,756 INFO L290 TraceCheckUtils]: 21: Hoare triple {4415#true} assume true; {4415#true} is VALID [2022-02-20 17:22:03,756 INFO L290 TraceCheckUtils]: 20: Hoare triple {4415#true} assume !(0 == ~cond); {4415#true} is VALID [2022-02-20 17:22:03,756 INFO L290 TraceCheckUtils]: 19: Hoare triple {4415#true} ~cond := #in~cond; {4415#true} is VALID [2022-02-20 17:22:03,757 INFO L272 TraceCheckUtils]: 18: Hoare triple {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {4415#true} is VALID [2022-02-20 17:22:03,757 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4415#true} {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} #79#return; {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:22:03,757 INFO L290 TraceCheckUtils]: 16: Hoare triple {4415#true} assume true; {4415#true} is VALID [2022-02-20 17:22:03,757 INFO L290 TraceCheckUtils]: 15: Hoare triple {4415#true} assume !(0 == ~cond); {4415#true} is VALID [2022-02-20 17:22:03,757 INFO L290 TraceCheckUtils]: 14: Hoare triple {4415#true} ~cond := #in~cond; {4415#true} is VALID [2022-02-20 17:22:03,758 INFO L272 TraceCheckUtils]: 13: Hoare triple {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {4415#true} is VALID [2022-02-20 17:22:03,758 INFO L290 TraceCheckUtils]: 12: Hoare triple {4440#(<= 1 |ULTIMATE.start_main_~x~0#1|)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {4459#(<= 1 |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:22:03,758 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {4415#true} {4440#(<= 1 |ULTIMATE.start_main_~x~0#1|)} #77#return; {4440#(<= 1 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 17:22:03,759 INFO L290 TraceCheckUtils]: 10: Hoare triple {4415#true} assume true; {4415#true} is VALID [2022-02-20 17:22:03,759 INFO L290 TraceCheckUtils]: 9: Hoare triple {4415#true} assume !(0 == ~cond); {4415#true} is VALID [2022-02-20 17:22:03,759 INFO L290 TraceCheckUtils]: 8: Hoare triple {4415#true} ~cond := #in~cond; {4415#true} is VALID [2022-02-20 17:22:03,759 INFO L272 TraceCheckUtils]: 7: Hoare triple {4440#(<= 1 |ULTIMATE.start_main_~x~0#1|)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {4415#true} is VALID [2022-02-20 17:22:03,759 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {4433#(not (= |assume_abort_if_not_#in~cond| 0))} {4415#true} #75#return; {4440#(<= 1 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 17:22:03,760 INFO L290 TraceCheckUtils]: 5: Hoare triple {4433#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4433#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:03,760 INFO L290 TraceCheckUtils]: 4: Hoare triple {4753#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4433#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:03,760 INFO L290 TraceCheckUtils]: 3: Hoare triple {4415#true} ~cond := #in~cond; {4753#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-02-20 17:22:03,761 INFO L272 TraceCheckUtils]: 2: Hoare triple {4415#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {4415#true} is VALID [2022-02-20 17:22:03,761 INFO L290 TraceCheckUtils]: 1: Hoare triple {4415#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {4415#true} is VALID [2022-02-20 17:22:03,761 INFO L290 TraceCheckUtils]: 0: Hoare triple {4415#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4415#true} is VALID [2022-02-20 17:22:03,761 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 12 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-02-20 17:22:03,761 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:22:03,761 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [40478305] [2022-02-20 17:22:03,761 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:22:03,761 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1162763407] [2022-02-20 17:22:03,762 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1162763407] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:22:03,762 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:22:03,762 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-02-20 17:22:03,762 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [263283388] [2022-02-20 17:22:03,762 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:22:03,763 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 4 states have call successors, (8) Word has length 57 [2022-02-20 17:22:03,763 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:22:03,763 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 4 states have call successors, (8) [2022-02-20 17:22:03,794 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:03,795 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 17:22:03,795 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:22:03,795 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 17:22:03,795 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:22:03,795 INFO L87 Difference]: Start difference. First operand 195 states and 233 transitions. Second operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 4 states have call successors, (8) [2022-02-20 17:22:04,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:04,663 INFO L93 Difference]: Finished difference Result 279 states and 364 transitions. [2022-02-20 17:22:04,663 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 17:22:04,664 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 4 states have call successors, (8) Word has length 57 [2022-02-20 17:22:04,664 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:22:04,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 4 states have call successors, (8) [2022-02-20 17:22:04,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 143 transitions. [2022-02-20 17:22:04,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 4 states have call successors, (8) [2022-02-20 17:22:04,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 143 transitions. [2022-02-20 17:22:04,669 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 143 transitions. [2022-02-20 17:22:04,778 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 143 edges. 143 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:04,783 INFO L225 Difference]: With dead ends: 279 [2022-02-20 17:22:04,783 INFO L226 Difference]: Without dead ends: 259 [2022-02-20 17:22:04,783 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 104 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=60, Invalid=180, Unknown=0, NotChecked=0, Total=240 [2022-02-20 17:22:04,784 INFO L933 BasicCegarLoop]: 66 mSDtfsCounter, 62 mSDsluCounter, 293 mSDsCounter, 0 mSdLazyCounter, 87 mSolverCounterSat, 71 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 67 SdHoareTripleChecker+Valid, 359 SdHoareTripleChecker+Invalid, 158 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 71 IncrementalHoareTripleChecker+Valid, 87 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:22:04,784 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [67 Valid, 359 Invalid, 158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [71 Valid, 87 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:22:04,784 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 259 states. [2022-02-20 17:22:05,003 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 259 to 235. [2022-02-20 17:22:05,003 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:22:05,004 INFO L82 GeneralOperation]: Start isEquivalent. First operand 259 states. Second operand has 235 states, 152 states have (on average 1.2236842105263157) internal successors, (186), 155 states have internal predecessors, (186), 58 states have call successors, (58), 24 states have call predecessors, (58), 24 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-02-20 17:22:05,004 INFO L74 IsIncluded]: Start isIncluded. First operand 259 states. Second operand has 235 states, 152 states have (on average 1.2236842105263157) internal successors, (186), 155 states have internal predecessors, (186), 58 states have call successors, (58), 24 states have call predecessors, (58), 24 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-02-20 17:22:05,004 INFO L87 Difference]: Start difference. First operand 259 states. Second operand has 235 states, 152 states have (on average 1.2236842105263157) internal successors, (186), 155 states have internal predecessors, (186), 58 states have call successors, (58), 24 states have call predecessors, (58), 24 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-02-20 17:22:05,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:05,010 INFO L93 Difference]: Finished difference Result 259 states and 338 transitions. [2022-02-20 17:22:05,010 INFO L276 IsEmpty]: Start isEmpty. Operand 259 states and 338 transitions. [2022-02-20 17:22:05,010 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:05,011 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:05,011 INFO L74 IsIncluded]: Start isIncluded. First operand has 235 states, 152 states have (on average 1.2236842105263157) internal successors, (186), 155 states have internal predecessors, (186), 58 states have call successors, (58), 24 states have call predecessors, (58), 24 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) Second operand 259 states. [2022-02-20 17:22:05,011 INFO L87 Difference]: Start difference. First operand has 235 states, 152 states have (on average 1.2236842105263157) internal successors, (186), 155 states have internal predecessors, (186), 58 states have call successors, (58), 24 states have call predecessors, (58), 24 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) Second operand 259 states. [2022-02-20 17:22:05,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:05,026 INFO L93 Difference]: Finished difference Result 259 states and 338 transitions. [2022-02-20 17:22:05,026 INFO L276 IsEmpty]: Start isEmpty. Operand 259 states and 338 transitions. [2022-02-20 17:22:05,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:05,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:05,027 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:22:05,027 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:22:05,027 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 235 states, 152 states have (on average 1.2236842105263157) internal successors, (186), 155 states have internal predecessors, (186), 58 states have call successors, (58), 24 states have call predecessors, (58), 24 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-02-20 17:22:05,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 235 states to 235 states and 299 transitions. [2022-02-20 17:22:05,032 INFO L78 Accepts]: Start accepts. Automaton has 235 states and 299 transitions. Word has length 57 [2022-02-20 17:22:05,032 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:22:05,032 INFO L470 AbstractCegarLoop]: Abstraction has 235 states and 299 transitions. [2022-02-20 17:22:05,033 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 4 states have call successors, (8) [2022-02-20 17:22:05,033 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 299 transitions. [2022-02-20 17:22:05,033 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-02-20 17:22:05,033 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:22:05,033 INFO L514 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:22:05,049 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-02-20 17:22:05,242 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-02-20 17:22:05,244 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:22:05,244 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:22:05,250 INFO L85 PathProgramCache]: Analyzing trace with hash -1869160295, now seen corresponding path program 1 times [2022-02-20 17:22:05,250 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:22:05,250 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [433034159] [2022-02-20 17:22:05,250 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:05,250 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:22:05,261 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:22:05,261 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2104755759] [2022-02-20 17:22:05,261 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:05,261 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:22:05,261 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:22:05,263 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:22:05,264 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-02-20 17:22:05,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:05,299 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 17:22:05,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:05,310 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:22:05,541 INFO L290 TraceCheckUtils]: 0: Hoare triple {6043#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,542 INFO L290 TraceCheckUtils]: 1: Hoare triple {6048#(<= ~counter~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,542 INFO L272 TraceCheckUtils]: 2: Hoare triple {6048#(<= ~counter~0 0)} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,542 INFO L290 TraceCheckUtils]: 3: Hoare triple {6048#(<= ~counter~0 0)} ~cond := #in~cond; {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,543 INFO L290 TraceCheckUtils]: 4: Hoare triple {6048#(<= ~counter~0 0)} assume !(0 == ~cond); {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,543 INFO L290 TraceCheckUtils]: 5: Hoare triple {6048#(<= ~counter~0 0)} assume true; {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,544 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {6048#(<= ~counter~0 0)} {6048#(<= ~counter~0 0)} #75#return; {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,544 INFO L272 TraceCheckUtils]: 7: Hoare triple {6048#(<= ~counter~0 0)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,544 INFO L290 TraceCheckUtils]: 8: Hoare triple {6048#(<= ~counter~0 0)} ~cond := #in~cond; {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,545 INFO L290 TraceCheckUtils]: 9: Hoare triple {6048#(<= ~counter~0 0)} assume !(0 == ~cond); {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,545 INFO L290 TraceCheckUtils]: 10: Hoare triple {6048#(<= ~counter~0 0)} assume true; {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,546 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {6048#(<= ~counter~0 0)} {6048#(<= ~counter~0 0)} #77#return; {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,546 INFO L290 TraceCheckUtils]: 12: Hoare triple {6048#(<= ~counter~0 0)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,546 INFO L272 TraceCheckUtils]: 13: Hoare triple {6048#(<= ~counter~0 0)} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,547 INFO L290 TraceCheckUtils]: 14: Hoare triple {6048#(<= ~counter~0 0)} ~cond := #in~cond; {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,547 INFO L290 TraceCheckUtils]: 15: Hoare triple {6048#(<= ~counter~0 0)} assume !(0 == ~cond); {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,547 INFO L290 TraceCheckUtils]: 16: Hoare triple {6048#(<= ~counter~0 0)} assume true; {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,548 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6048#(<= ~counter~0 0)} {6048#(<= ~counter~0 0)} #79#return; {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,548 INFO L272 TraceCheckUtils]: 18: Hoare triple {6048#(<= ~counter~0 0)} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,549 INFO L290 TraceCheckUtils]: 19: Hoare triple {6048#(<= ~counter~0 0)} ~cond := #in~cond; {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,549 INFO L290 TraceCheckUtils]: 20: Hoare triple {6048#(<= ~counter~0 0)} assume !(0 == ~cond); {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,549 INFO L290 TraceCheckUtils]: 21: Hoare triple {6048#(<= ~counter~0 0)} assume true; {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,550 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6048#(<= ~counter~0 0)} {6048#(<= ~counter~0 0)} #81#return; {6048#(<= ~counter~0 0)} is VALID [2022-02-20 17:22:05,550 INFO L290 TraceCheckUtils]: 23: Hoare triple {6048#(<= ~counter~0 0)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {6118#(<= ~counter~0 1)} is VALID [2022-02-20 17:22:05,551 INFO L290 TraceCheckUtils]: 24: Hoare triple {6118#(<= ~counter~0 1)} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {6118#(<= ~counter~0 1)} is VALID [2022-02-20 17:22:05,551 INFO L290 TraceCheckUtils]: 25: Hoare triple {6118#(<= ~counter~0 1)} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {6118#(<= ~counter~0 1)} is VALID [2022-02-20 17:22:05,552 INFO L290 TraceCheckUtils]: 26: Hoare triple {6118#(<= ~counter~0 1)} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,552 INFO L290 TraceCheckUtils]: 27: Hoare triple {6128#(<= ~counter~0 2)} assume !!(main_#t~post7#1 < 100);havoc main_#t~post7#1; {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,553 INFO L272 TraceCheckUtils]: 28: Hoare triple {6128#(<= ~counter~0 2)} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,553 INFO L290 TraceCheckUtils]: 29: Hoare triple {6128#(<= ~counter~0 2)} ~cond := #in~cond; {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,553 INFO L290 TraceCheckUtils]: 30: Hoare triple {6128#(<= ~counter~0 2)} assume !(0 == ~cond); {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,554 INFO L290 TraceCheckUtils]: 31: Hoare triple {6128#(<= ~counter~0 2)} assume true; {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,554 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6128#(<= ~counter~0 2)} {6128#(<= ~counter~0 2)} #83#return; {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,555 INFO L272 TraceCheckUtils]: 33: Hoare triple {6128#(<= ~counter~0 2)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,555 INFO L290 TraceCheckUtils]: 34: Hoare triple {6128#(<= ~counter~0 2)} ~cond := #in~cond; {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,556 INFO L290 TraceCheckUtils]: 35: Hoare triple {6128#(<= ~counter~0 2)} assume !(0 == ~cond); {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,556 INFO L290 TraceCheckUtils]: 36: Hoare triple {6128#(<= ~counter~0 2)} assume true; {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,557 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6128#(<= ~counter~0 2)} {6128#(<= ~counter~0 2)} #85#return; {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,557 INFO L272 TraceCheckUtils]: 38: Hoare triple {6128#(<= ~counter~0 2)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,557 INFO L290 TraceCheckUtils]: 39: Hoare triple {6128#(<= ~counter~0 2)} ~cond := #in~cond; {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,558 INFO L290 TraceCheckUtils]: 40: Hoare triple {6128#(<= ~counter~0 2)} assume !(0 == ~cond); {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,558 INFO L290 TraceCheckUtils]: 41: Hoare triple {6128#(<= ~counter~0 2)} assume true; {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,559 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6128#(<= ~counter~0 2)} {6128#(<= ~counter~0 2)} #87#return; {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,559 INFO L272 TraceCheckUtils]: 43: Hoare triple {6128#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~xy~0#1 + main_~s~0#1 * main_~yy~0#1 - main_~q~0#1 * main_~x~0#1 - main_~b~0#1 * main_~y~0#1 - main_~s~0#1 * main_~y~0#1 + main_~b~0#1 then 1 else 0)); {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,560 INFO L290 TraceCheckUtils]: 44: Hoare triple {6128#(<= ~counter~0 2)} ~cond := #in~cond; {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,560 INFO L290 TraceCheckUtils]: 45: Hoare triple {6128#(<= ~counter~0 2)} assume !(0 == ~cond); {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,561 INFO L290 TraceCheckUtils]: 46: Hoare triple {6128#(<= ~counter~0 2)} assume true; {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,561 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6128#(<= ~counter~0 2)} {6128#(<= ~counter~0 2)} #89#return; {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,562 INFO L290 TraceCheckUtils]: 48: Hoare triple {6128#(<= ~counter~0 2)} assume !!(main_~c~0#1 >= main_~b~0#1);main_~c~0#1 := main_~c~0#1 - main_~b~0#1;main_~k~0#1 := 1 + main_~k~0#1; {6128#(<= ~counter~0 2)} is VALID [2022-02-20 17:22:05,562 INFO L290 TraceCheckUtils]: 49: Hoare triple {6128#(<= ~counter~0 2)} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {6198#(<= |ULTIMATE.start_main_#t~post7#1| 2)} is VALID [2022-02-20 17:22:05,562 INFO L290 TraceCheckUtils]: 50: Hoare triple {6198#(<= |ULTIMATE.start_main_#t~post7#1| 2)} assume !(main_#t~post7#1 < 100);havoc main_#t~post7#1; {6044#false} is VALID [2022-02-20 17:22:05,563 INFO L290 TraceCheckUtils]: 51: Hoare triple {6044#false} main_~a~0#1 := main_~b~0#1;main_~b~0#1 := main_~c~0#1;havoc main_~temp~0#1;main_~temp~0#1 := main_~p~0#1;main_~p~0#1 := main_~q~0#1;main_~q~0#1 := main_~temp~0#1 - main_~q~0#1 * main_~k~0#1;main_~temp~0#1 := main_~r~0#1;main_~r~0#1 := main_~s~0#1;main_~s~0#1 := main_~temp~0#1 - main_~s~0#1 * main_~k~0#1; {6044#false} is VALID [2022-02-20 17:22:05,563 INFO L290 TraceCheckUtils]: 52: Hoare triple {6044#false} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {6044#false} is VALID [2022-02-20 17:22:05,563 INFO L290 TraceCheckUtils]: 53: Hoare triple {6044#false} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {6044#false} is VALID [2022-02-20 17:22:05,563 INFO L290 TraceCheckUtils]: 54: Hoare triple {6044#false} assume !(0 != main_~b~0#1); {6044#false} is VALID [2022-02-20 17:22:05,563 INFO L272 TraceCheckUtils]: 55: Hoare triple {6044#false} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~x~0#1 + main_~s~0#1 * main_~y~0#1 then 1 else 0)); {6044#false} is VALID [2022-02-20 17:22:05,563 INFO L290 TraceCheckUtils]: 56: Hoare triple {6044#false} ~cond := #in~cond; {6044#false} is VALID [2022-02-20 17:22:05,563 INFO L290 TraceCheckUtils]: 57: Hoare triple {6044#false} assume 0 == ~cond; {6044#false} is VALID [2022-02-20 17:22:05,563 INFO L290 TraceCheckUtils]: 58: Hoare triple {6044#false} assume !false; {6044#false} is VALID [2022-02-20 17:22:05,564 INFO L134 CoverageAnalysis]: Checked inductivity of 61 backedges. 11 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-02-20 17:22:05,564 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:22:05,795 INFO L290 TraceCheckUtils]: 58: Hoare triple {6044#false} assume !false; {6044#false} is VALID [2022-02-20 17:22:05,795 INFO L290 TraceCheckUtils]: 57: Hoare triple {6044#false} assume 0 == ~cond; {6044#false} is VALID [2022-02-20 17:22:05,795 INFO L290 TraceCheckUtils]: 56: Hoare triple {6044#false} ~cond := #in~cond; {6044#false} is VALID [2022-02-20 17:22:05,796 INFO L272 TraceCheckUtils]: 55: Hoare triple {6044#false} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~x~0#1 + main_~s~0#1 * main_~y~0#1 then 1 else 0)); {6044#false} is VALID [2022-02-20 17:22:05,796 INFO L290 TraceCheckUtils]: 54: Hoare triple {6044#false} assume !(0 != main_~b~0#1); {6044#false} is VALID [2022-02-20 17:22:05,796 INFO L290 TraceCheckUtils]: 53: Hoare triple {6044#false} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {6044#false} is VALID [2022-02-20 17:22:05,796 INFO L290 TraceCheckUtils]: 52: Hoare triple {6044#false} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {6044#false} is VALID [2022-02-20 17:22:05,796 INFO L290 TraceCheckUtils]: 51: Hoare triple {6044#false} main_~a~0#1 := main_~b~0#1;main_~b~0#1 := main_~c~0#1;havoc main_~temp~0#1;main_~temp~0#1 := main_~p~0#1;main_~p~0#1 := main_~q~0#1;main_~q~0#1 := main_~temp~0#1 - main_~q~0#1 * main_~k~0#1;main_~temp~0#1 := main_~r~0#1;main_~r~0#1 := main_~s~0#1;main_~s~0#1 := main_~temp~0#1 - main_~s~0#1 * main_~k~0#1; {6044#false} is VALID [2022-02-20 17:22:05,796 INFO L290 TraceCheckUtils]: 50: Hoare triple {6250#(< |ULTIMATE.start_main_#t~post7#1| 100)} assume !(main_#t~post7#1 < 100);havoc main_#t~post7#1; {6044#false} is VALID [2022-02-20 17:22:05,797 INFO L290 TraceCheckUtils]: 49: Hoare triple {6254#(< ~counter~0 100)} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {6250#(< |ULTIMATE.start_main_#t~post7#1| 100)} is VALID [2022-02-20 17:22:05,797 INFO L290 TraceCheckUtils]: 48: Hoare triple {6254#(< ~counter~0 100)} assume !!(main_~c~0#1 >= main_~b~0#1);main_~c~0#1 := main_~c~0#1 - main_~b~0#1;main_~k~0#1 := 1 + main_~k~0#1; {6254#(< ~counter~0 100)} is VALID [2022-02-20 17:22:05,798 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6043#true} {6254#(< ~counter~0 100)} #89#return; {6254#(< ~counter~0 100)} is VALID [2022-02-20 17:22:05,798 INFO L290 TraceCheckUtils]: 46: Hoare triple {6043#true} assume true; {6043#true} is VALID [2022-02-20 17:22:05,798 INFO L290 TraceCheckUtils]: 45: Hoare triple {6043#true} assume !(0 == ~cond); {6043#true} is VALID [2022-02-20 17:22:05,798 INFO L290 TraceCheckUtils]: 44: Hoare triple {6043#true} ~cond := #in~cond; {6043#true} is VALID [2022-02-20 17:22:05,798 INFO L272 TraceCheckUtils]: 43: Hoare triple {6254#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~xy~0#1 + main_~s~0#1 * main_~yy~0#1 - main_~q~0#1 * main_~x~0#1 - main_~b~0#1 * main_~y~0#1 - main_~s~0#1 * main_~y~0#1 + main_~b~0#1 then 1 else 0)); {6043#true} is VALID [2022-02-20 17:22:05,799 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6043#true} {6254#(< ~counter~0 100)} #87#return; {6254#(< ~counter~0 100)} is VALID [2022-02-20 17:22:05,799 INFO L290 TraceCheckUtils]: 41: Hoare triple {6043#true} assume true; {6043#true} is VALID [2022-02-20 17:22:05,799 INFO L290 TraceCheckUtils]: 40: Hoare triple {6043#true} assume !(0 == ~cond); {6043#true} is VALID [2022-02-20 17:22:05,799 INFO L290 TraceCheckUtils]: 39: Hoare triple {6043#true} ~cond := #in~cond; {6043#true} is VALID [2022-02-20 17:22:05,800 INFO L272 TraceCheckUtils]: 38: Hoare triple {6254#(< ~counter~0 100)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {6043#true} is VALID [2022-02-20 17:22:05,800 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6043#true} {6254#(< ~counter~0 100)} #85#return; {6254#(< ~counter~0 100)} is VALID [2022-02-20 17:22:05,800 INFO L290 TraceCheckUtils]: 36: Hoare triple {6043#true} assume true; {6043#true} is VALID [2022-02-20 17:22:05,800 INFO L290 TraceCheckUtils]: 35: Hoare triple {6043#true} assume !(0 == ~cond); {6043#true} is VALID [2022-02-20 17:22:05,801 INFO L290 TraceCheckUtils]: 34: Hoare triple {6043#true} ~cond := #in~cond; {6043#true} is VALID [2022-02-20 17:22:05,801 INFO L272 TraceCheckUtils]: 33: Hoare triple {6254#(< ~counter~0 100)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {6043#true} is VALID [2022-02-20 17:22:05,801 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6043#true} {6254#(< ~counter~0 100)} #83#return; {6254#(< ~counter~0 100)} is VALID [2022-02-20 17:22:05,801 INFO L290 TraceCheckUtils]: 31: Hoare triple {6043#true} assume true; {6043#true} is VALID [2022-02-20 17:22:05,802 INFO L290 TraceCheckUtils]: 30: Hoare triple {6043#true} assume !(0 == ~cond); {6043#true} is VALID [2022-02-20 17:22:05,802 INFO L290 TraceCheckUtils]: 29: Hoare triple {6043#true} ~cond := #in~cond; {6043#true} is VALID [2022-02-20 17:22:05,802 INFO L272 TraceCheckUtils]: 28: Hoare triple {6254#(< ~counter~0 100)} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {6043#true} is VALID [2022-02-20 17:22:05,802 INFO L290 TraceCheckUtils]: 27: Hoare triple {6254#(< ~counter~0 100)} assume !!(main_#t~post7#1 < 100);havoc main_#t~post7#1; {6254#(< ~counter~0 100)} is VALID [2022-02-20 17:22:05,803 INFO L290 TraceCheckUtils]: 26: Hoare triple {6324#(< ~counter~0 99)} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {6254#(< ~counter~0 100)} is VALID [2022-02-20 17:22:05,803 INFO L290 TraceCheckUtils]: 25: Hoare triple {6324#(< ~counter~0 99)} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {6324#(< ~counter~0 99)} is VALID [2022-02-20 17:22:05,803 INFO L290 TraceCheckUtils]: 24: Hoare triple {6324#(< ~counter~0 99)} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {6324#(< ~counter~0 99)} is VALID [2022-02-20 17:22:05,804 INFO L290 TraceCheckUtils]: 23: Hoare triple {6334#(< ~counter~0 98)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {6324#(< ~counter~0 99)} is VALID [2022-02-20 17:22:05,804 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6043#true} {6334#(< ~counter~0 98)} #81#return; {6334#(< ~counter~0 98)} is VALID [2022-02-20 17:22:05,804 INFO L290 TraceCheckUtils]: 21: Hoare triple {6043#true} assume true; {6043#true} is VALID [2022-02-20 17:22:05,804 INFO L290 TraceCheckUtils]: 20: Hoare triple {6043#true} assume !(0 == ~cond); {6043#true} is VALID [2022-02-20 17:22:05,805 INFO L290 TraceCheckUtils]: 19: Hoare triple {6043#true} ~cond := #in~cond; {6043#true} is VALID [2022-02-20 17:22:05,805 INFO L272 TraceCheckUtils]: 18: Hoare triple {6334#(< ~counter~0 98)} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {6043#true} is VALID [2022-02-20 17:22:05,805 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6043#true} {6334#(< ~counter~0 98)} #79#return; {6334#(< ~counter~0 98)} is VALID [2022-02-20 17:22:05,805 INFO L290 TraceCheckUtils]: 16: Hoare triple {6043#true} assume true; {6043#true} is VALID [2022-02-20 17:22:05,805 INFO L290 TraceCheckUtils]: 15: Hoare triple {6043#true} assume !(0 == ~cond); {6043#true} is VALID [2022-02-20 17:22:05,806 INFO L290 TraceCheckUtils]: 14: Hoare triple {6043#true} ~cond := #in~cond; {6043#true} is VALID [2022-02-20 17:22:05,806 INFO L272 TraceCheckUtils]: 13: Hoare triple {6334#(< ~counter~0 98)} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {6043#true} is VALID [2022-02-20 17:22:05,806 INFO L290 TraceCheckUtils]: 12: Hoare triple {6334#(< ~counter~0 98)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {6334#(< ~counter~0 98)} is VALID [2022-02-20 17:22:05,806 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {6043#true} {6334#(< ~counter~0 98)} #77#return; {6334#(< ~counter~0 98)} is VALID [2022-02-20 17:22:05,806 INFO L290 TraceCheckUtils]: 10: Hoare triple {6043#true} assume true; {6043#true} is VALID [2022-02-20 17:22:05,807 INFO L290 TraceCheckUtils]: 9: Hoare triple {6043#true} assume !(0 == ~cond); {6043#true} is VALID [2022-02-20 17:22:05,807 INFO L290 TraceCheckUtils]: 8: Hoare triple {6043#true} ~cond := #in~cond; {6043#true} is VALID [2022-02-20 17:22:05,807 INFO L272 TraceCheckUtils]: 7: Hoare triple {6334#(< ~counter~0 98)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {6043#true} is VALID [2022-02-20 17:22:05,807 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {6043#true} {6334#(< ~counter~0 98)} #75#return; {6334#(< ~counter~0 98)} is VALID [2022-02-20 17:22:05,807 INFO L290 TraceCheckUtils]: 5: Hoare triple {6043#true} assume true; {6043#true} is VALID [2022-02-20 17:22:05,807 INFO L290 TraceCheckUtils]: 4: Hoare triple {6043#true} assume !(0 == ~cond); {6043#true} is VALID [2022-02-20 17:22:05,808 INFO L290 TraceCheckUtils]: 3: Hoare triple {6043#true} ~cond := #in~cond; {6043#true} is VALID [2022-02-20 17:22:05,808 INFO L272 TraceCheckUtils]: 2: Hoare triple {6334#(< ~counter~0 98)} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {6043#true} is VALID [2022-02-20 17:22:05,808 INFO L290 TraceCheckUtils]: 1: Hoare triple {6334#(< ~counter~0 98)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {6334#(< ~counter~0 98)} is VALID [2022-02-20 17:22:05,809 INFO L290 TraceCheckUtils]: 0: Hoare triple {6043#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6334#(< ~counter~0 98)} is VALID [2022-02-20 17:22:05,809 INFO L134 CoverageAnalysis]: Checked inductivity of 61 backedges. 11 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-02-20 17:22:05,809 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:22:05,809 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [433034159] [2022-02-20 17:22:05,809 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:22:05,809 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2104755759] [2022-02-20 17:22:05,809 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2104755759] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:22:05,809 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:22:05,810 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 6] total 10 [2022-02-20 17:22:05,810 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [77655192] [2022-02-20 17:22:05,810 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:22:05,810 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.1) internal successors, (41), 10 states have internal predecessors, (41), 5 states have call successors, (17), 4 states have call predecessors, (17), 3 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) Word has length 59 [2022-02-20 17:22:05,811 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:22:05,811 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.1) internal successors, (41), 10 states have internal predecessors, (41), 5 states have call successors, (17), 4 states have call predecessors, (17), 3 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) [2022-02-20 17:22:05,866 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:05,866 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 17:22:05,866 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:22:05,866 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 17:22:05,867 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-02-20 17:22:05,867 INFO L87 Difference]: Start difference. First operand 235 states and 299 transitions. Second operand has 10 states, 10 states have (on average 4.1) internal successors, (41), 10 states have internal predecessors, (41), 5 states have call successors, (17), 4 states have call predecessors, (17), 3 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) [2022-02-20 17:22:06,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:06,506 INFO L93 Difference]: Finished difference Result 344 states and 448 transitions. [2022-02-20 17:22:06,506 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 17:22:06,506 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.1) internal successors, (41), 10 states have internal predecessors, (41), 5 states have call successors, (17), 4 states have call predecessors, (17), 3 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) Word has length 59 [2022-02-20 17:22:06,507 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:22:06,507 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.1) internal successors, (41), 10 states have internal predecessors, (41), 5 states have call successors, (17), 4 states have call predecessors, (17), 3 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) [2022-02-20 17:22:06,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 163 transitions. [2022-02-20 17:22:06,510 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.1) internal successors, (41), 10 states have internal predecessors, (41), 5 states have call successors, (17), 4 states have call predecessors, (17), 3 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) [2022-02-20 17:22:06,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 163 transitions. [2022-02-20 17:22:06,512 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 163 transitions. [2022-02-20 17:22:06,624 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 163 edges. 163 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:06,629 INFO L225 Difference]: With dead ends: 344 [2022-02-20 17:22:06,629 INFO L226 Difference]: Without dead ends: 248 [2022-02-20 17:22:06,631 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 108 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=63, Invalid=119, Unknown=0, NotChecked=0, Total=182 [2022-02-20 17:22:06,632 INFO L933 BasicCegarLoop]: 56 mSDtfsCounter, 90 mSDsluCounter, 139 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 90 SdHoareTripleChecker+Valid, 195 SdHoareTripleChecker+Invalid, 146 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 93 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:22:06,632 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [90 Valid, 195 Invalid, 146 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 93 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:22:06,633 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 248 states. [2022-02-20 17:22:06,816 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 248 to 244. [2022-02-20 17:22:06,816 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:22:06,817 INFO L82 GeneralOperation]: Start isEquivalent. First operand 248 states. Second operand has 244 states, 161 states have (on average 1.173913043478261) internal successors, (189), 164 states have internal predecessors, (189), 58 states have call successors, (58), 24 states have call predecessors, (58), 24 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-02-20 17:22:06,817 INFO L74 IsIncluded]: Start isIncluded. First operand 248 states. Second operand has 244 states, 161 states have (on average 1.173913043478261) internal successors, (189), 164 states have internal predecessors, (189), 58 states have call successors, (58), 24 states have call predecessors, (58), 24 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-02-20 17:22:06,818 INFO L87 Difference]: Start difference. First operand 248 states. Second operand has 244 states, 161 states have (on average 1.173913043478261) internal successors, (189), 164 states have internal predecessors, (189), 58 states have call successors, (58), 24 states have call predecessors, (58), 24 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-02-20 17:22:06,824 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:06,824 INFO L93 Difference]: Finished difference Result 248 states and 304 transitions. [2022-02-20 17:22:06,824 INFO L276 IsEmpty]: Start isEmpty. Operand 248 states and 304 transitions. [2022-02-20 17:22:06,825 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:06,825 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:06,826 INFO L74 IsIncluded]: Start isIncluded. First operand has 244 states, 161 states have (on average 1.173913043478261) internal successors, (189), 164 states have internal predecessors, (189), 58 states have call successors, (58), 24 states have call predecessors, (58), 24 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) Second operand 248 states. [2022-02-20 17:22:06,826 INFO L87 Difference]: Start difference. First operand has 244 states, 161 states have (on average 1.173913043478261) internal successors, (189), 164 states have internal predecessors, (189), 58 states have call successors, (58), 24 states have call predecessors, (58), 24 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) Second operand 248 states. [2022-02-20 17:22:06,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:06,831 INFO L93 Difference]: Finished difference Result 248 states and 304 transitions. [2022-02-20 17:22:06,831 INFO L276 IsEmpty]: Start isEmpty. Operand 248 states and 304 transitions. [2022-02-20 17:22:06,832 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:06,832 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:06,833 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:22:06,833 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:22:06,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 244 states, 161 states have (on average 1.173913043478261) internal successors, (189), 164 states have internal predecessors, (189), 58 states have call successors, (58), 24 states have call predecessors, (58), 24 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-02-20 17:22:06,838 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 244 states to 244 states and 302 transitions. [2022-02-20 17:22:06,838 INFO L78 Accepts]: Start accepts. Automaton has 244 states and 302 transitions. Word has length 59 [2022-02-20 17:22:06,838 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:22:06,838 INFO L470 AbstractCegarLoop]: Abstraction has 244 states and 302 transitions. [2022-02-20 17:22:06,838 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.1) internal successors, (41), 10 states have internal predecessors, (41), 5 states have call successors, (17), 4 states have call predecessors, (17), 3 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) [2022-02-20 17:22:06,839 INFO L276 IsEmpty]: Start isEmpty. Operand 244 states and 302 transitions. [2022-02-20 17:22:06,839 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-02-20 17:22:06,839 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:22:06,839 INFO L514 BasicCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:22:06,855 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-02-20 17:22:07,055 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-02-20 17:22:07,056 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:22:07,056 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:22:07,056 INFO L85 PathProgramCache]: Analyzing trace with hash 991223133, now seen corresponding path program 1 times [2022-02-20 17:22:07,056 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:22:07,056 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1275265698] [2022-02-20 17:22:07,056 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:07,056 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:22:07,065 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:22:07,065 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [671397351] [2022-02-20 17:22:07,065 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:07,065 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:22:07,066 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:22:07,067 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:22:07,068 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-02-20 17:22:07,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:07,122 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 24 conjunts are in the unsatisfiable core [2022-02-20 17:22:07,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:07,132 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:22:07,471 INFO L290 TraceCheckUtils]: 0: Hoare triple {7758#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7758#true} is VALID [2022-02-20 17:22:07,471 INFO L290 TraceCheckUtils]: 1: Hoare triple {7758#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {7758#true} is VALID [2022-02-20 17:22:07,471 INFO L272 TraceCheckUtils]: 2: Hoare triple {7758#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {7758#true} is VALID [2022-02-20 17:22:07,471 INFO L290 TraceCheckUtils]: 3: Hoare triple {7758#true} ~cond := #in~cond; {7758#true} is VALID [2022-02-20 17:22:07,471 INFO L290 TraceCheckUtils]: 4: Hoare triple {7758#true} assume !(0 == ~cond); {7758#true} is VALID [2022-02-20 17:22:07,471 INFO L290 TraceCheckUtils]: 5: Hoare triple {7758#true} assume true; {7758#true} is VALID [2022-02-20 17:22:07,471 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {7758#true} {7758#true} #75#return; {7758#true} is VALID [2022-02-20 17:22:07,472 INFO L272 TraceCheckUtils]: 7: Hoare triple {7758#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {7758#true} is VALID [2022-02-20 17:22:07,472 INFO L290 TraceCheckUtils]: 8: Hoare triple {7758#true} ~cond := #in~cond; {7758#true} is VALID [2022-02-20 17:22:07,472 INFO L290 TraceCheckUtils]: 9: Hoare triple {7758#true} assume !(0 == ~cond); {7758#true} is VALID [2022-02-20 17:22:07,472 INFO L290 TraceCheckUtils]: 10: Hoare triple {7758#true} assume true; {7758#true} is VALID [2022-02-20 17:22:07,472 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {7758#true} {7758#true} #77#return; {7758#true} is VALID [2022-02-20 17:22:07,472 INFO L290 TraceCheckUtils]: 12: Hoare triple {7758#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {7799#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,472 INFO L272 TraceCheckUtils]: 13: Hoare triple {7799#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {7758#true} is VALID [2022-02-20 17:22:07,472 INFO L290 TraceCheckUtils]: 14: Hoare triple {7758#true} ~cond := #in~cond; {7758#true} is VALID [2022-02-20 17:22:07,472 INFO L290 TraceCheckUtils]: 15: Hoare triple {7758#true} assume !(0 == ~cond); {7758#true} is VALID [2022-02-20 17:22:07,472 INFO L290 TraceCheckUtils]: 16: Hoare triple {7758#true} assume true; {7758#true} is VALID [2022-02-20 17:22:07,473 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {7758#true} {7799#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} #79#return; {7799#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,473 INFO L272 TraceCheckUtils]: 18: Hoare triple {7799#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {7758#true} is VALID [2022-02-20 17:22:07,473 INFO L290 TraceCheckUtils]: 19: Hoare triple {7758#true} ~cond := #in~cond; {7758#true} is VALID [2022-02-20 17:22:07,473 INFO L290 TraceCheckUtils]: 20: Hoare triple {7758#true} assume !(0 == ~cond); {7758#true} is VALID [2022-02-20 17:22:07,473 INFO L290 TraceCheckUtils]: 21: Hoare triple {7758#true} assume true; {7758#true} is VALID [2022-02-20 17:22:07,473 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7758#true} {7799#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} #81#return; {7799#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,474 INFO L290 TraceCheckUtils]: 23: Hoare triple {7799#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {7799#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,474 INFO L290 TraceCheckUtils]: 24: Hoare triple {7799#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {7799#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,475 INFO L290 TraceCheckUtils]: 25: Hoare triple {7799#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,475 INFO L290 TraceCheckUtils]: 26: Hoare triple {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,475 INFO L290 TraceCheckUtils]: 27: Hoare triple {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_#t~post7#1 < 100);havoc main_#t~post7#1; {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,475 INFO L272 TraceCheckUtils]: 28: Hoare triple {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {7758#true} is VALID [2022-02-20 17:22:07,475 INFO L290 TraceCheckUtils]: 29: Hoare triple {7758#true} ~cond := #in~cond; {7758#true} is VALID [2022-02-20 17:22:07,475 INFO L290 TraceCheckUtils]: 30: Hoare triple {7758#true} assume !(0 == ~cond); {7758#true} is VALID [2022-02-20 17:22:07,475 INFO L290 TraceCheckUtils]: 31: Hoare triple {7758#true} assume true; {7758#true} is VALID [2022-02-20 17:22:07,476 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7758#true} {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #83#return; {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,476 INFO L272 TraceCheckUtils]: 33: Hoare triple {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {7758#true} is VALID [2022-02-20 17:22:07,476 INFO L290 TraceCheckUtils]: 34: Hoare triple {7758#true} ~cond := #in~cond; {7758#true} is VALID [2022-02-20 17:22:07,476 INFO L290 TraceCheckUtils]: 35: Hoare triple {7758#true} assume !(0 == ~cond); {7758#true} is VALID [2022-02-20 17:22:07,476 INFO L290 TraceCheckUtils]: 36: Hoare triple {7758#true} assume true; {7758#true} is VALID [2022-02-20 17:22:07,476 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7758#true} {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #85#return; {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,477 INFO L272 TraceCheckUtils]: 38: Hoare triple {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {7758#true} is VALID [2022-02-20 17:22:07,477 INFO L290 TraceCheckUtils]: 39: Hoare triple {7758#true} ~cond := #in~cond; {7882#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:22:07,477 INFO L290 TraceCheckUtils]: 40: Hoare triple {7882#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7886#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:22:07,477 INFO L290 TraceCheckUtils]: 41: Hoare triple {7886#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7886#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:22:07,478 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7886#(not (= |__VERIFIER_assert_#in~cond| 0))} {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #87#return; {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,478 INFO L272 TraceCheckUtils]: 43: Hoare triple {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~xy~0#1 + main_~s~0#1 * main_~yy~0#1 - main_~q~0#1 * main_~x~0#1 - main_~b~0#1 * main_~y~0#1 - main_~s~0#1 * main_~y~0#1 + main_~b~0#1 then 1 else 0)); {7758#true} is VALID [2022-02-20 17:22:07,478 INFO L290 TraceCheckUtils]: 44: Hoare triple {7758#true} ~cond := #in~cond; {7758#true} is VALID [2022-02-20 17:22:07,478 INFO L290 TraceCheckUtils]: 45: Hoare triple {7758#true} assume !(0 == ~cond); {7758#true} is VALID [2022-02-20 17:22:07,478 INFO L290 TraceCheckUtils]: 46: Hoare triple {7758#true} assume true; {7758#true} is VALID [2022-02-20 17:22:07,479 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7758#true} {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #89#return; {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,479 INFO L290 TraceCheckUtils]: 48: Hoare triple {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !(main_~c~0#1 >= main_~b~0#1); {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,480 INFO L290 TraceCheckUtils]: 49: Hoare triple {7839#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} main_~a~0#1 := main_~b~0#1;main_~b~0#1 := main_~c~0#1;havoc main_~temp~0#1;main_~temp~0#1 := main_~p~0#1;main_~p~0#1 := main_~q~0#1;main_~q~0#1 := main_~temp~0#1 - main_~q~0#1 * main_~k~0#1;main_~temp~0#1 := main_~r~0#1;main_~r~0#1 := main_~s~0#1;main_~s~0#1 := main_~temp~0#1 - main_~s~0#1 * main_~k~0#1; {7914#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 1))} is VALID [2022-02-20 17:22:07,480 INFO L290 TraceCheckUtils]: 50: Hoare triple {7914#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 1))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {7914#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 1))} is VALID [2022-02-20 17:22:07,480 INFO L290 TraceCheckUtils]: 51: Hoare triple {7914#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 1))} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {7914#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 1))} is VALID [2022-02-20 17:22:07,487 INFO L290 TraceCheckUtils]: 52: Hoare triple {7914#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 1))} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {7914#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 1))} is VALID [2022-02-20 17:22:07,487 INFO L290 TraceCheckUtils]: 53: Hoare triple {7914#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 1))} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {7914#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 1))} is VALID [2022-02-20 17:22:07,488 INFO L290 TraceCheckUtils]: 54: Hoare triple {7914#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 1))} assume !!(main_#t~post7#1 < 100);havoc main_#t~post7#1; {7914#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 1))} is VALID [2022-02-20 17:22:07,488 INFO L272 TraceCheckUtils]: 55: Hoare triple {7914#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {7758#true} is VALID [2022-02-20 17:22:07,488 INFO L290 TraceCheckUtils]: 56: Hoare triple {7758#true} ~cond := #in~cond; {7758#true} is VALID [2022-02-20 17:22:07,488 INFO L290 TraceCheckUtils]: 57: Hoare triple {7758#true} assume !(0 == ~cond); {7758#true} is VALID [2022-02-20 17:22:07,488 INFO L290 TraceCheckUtils]: 58: Hoare triple {7758#true} assume true; {7758#true} is VALID [2022-02-20 17:22:07,489 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7758#true} {7914#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 1))} #83#return; {7914#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 1))} is VALID [2022-02-20 17:22:07,489 INFO L272 TraceCheckUtils]: 60: Hoare triple {7914#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {7948#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:22:07,490 INFO L290 TraceCheckUtils]: 61: Hoare triple {7948#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7952#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:22:07,490 INFO L290 TraceCheckUtils]: 62: Hoare triple {7952#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7759#false} is VALID [2022-02-20 17:22:07,490 INFO L290 TraceCheckUtils]: 63: Hoare triple {7759#false} assume !false; {7759#false} is VALID [2022-02-20 17:22:07,490 INFO L134 CoverageAnalysis]: Checked inductivity of 81 backedges. 15 proven. 14 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-02-20 17:22:07,490 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:22:17,515 INFO L290 TraceCheckUtils]: 63: Hoare triple {7759#false} assume !false; {7759#false} is VALID [2022-02-20 17:22:17,515 INFO L290 TraceCheckUtils]: 62: Hoare triple {7952#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7759#false} is VALID [2022-02-20 17:22:17,531 INFO L290 TraceCheckUtils]: 61: Hoare triple {7948#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7952#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:22:17,532 INFO L272 TraceCheckUtils]: 60: Hoare triple {7968#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {7948#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:22:17,533 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7758#true} {7968#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} #83#return; {7968#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:22:17,533 INFO L290 TraceCheckUtils]: 58: Hoare triple {7758#true} assume true; {7758#true} is VALID [2022-02-20 17:22:17,533 INFO L290 TraceCheckUtils]: 57: Hoare triple {7758#true} assume !(0 == ~cond); {7758#true} is VALID [2022-02-20 17:22:17,533 INFO L290 TraceCheckUtils]: 56: Hoare triple {7758#true} ~cond := #in~cond; {7758#true} is VALID [2022-02-20 17:22:17,533 INFO L272 TraceCheckUtils]: 55: Hoare triple {7968#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {7758#true} is VALID [2022-02-20 17:22:17,534 INFO L290 TraceCheckUtils]: 54: Hoare triple {7968#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} assume !!(main_#t~post7#1 < 100);havoc main_#t~post7#1; {7968#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:22:17,534 INFO L290 TraceCheckUtils]: 53: Hoare triple {7968#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {7968#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:22:17,535 INFO L290 TraceCheckUtils]: 52: Hoare triple {7968#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {7968#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:22:17,535 INFO L290 TraceCheckUtils]: 51: Hoare triple {7968#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {7968#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:22:17,536 INFO L290 TraceCheckUtils]: 50: Hoare triple {7968#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {7968#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:22:17,536 INFO L290 TraceCheckUtils]: 49: Hoare triple {8002#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} main_~a~0#1 := main_~b~0#1;main_~b~0#1 := main_~c~0#1;havoc main_~temp~0#1;main_~temp~0#1 := main_~p~0#1;main_~p~0#1 := main_~q~0#1;main_~q~0#1 := main_~temp~0#1 - main_~q~0#1 * main_~k~0#1;main_~temp~0#1 := main_~r~0#1;main_~r~0#1 := main_~s~0#1;main_~s~0#1 := main_~temp~0#1 - main_~s~0#1 * main_~k~0#1; {7968#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:22:17,537 INFO L290 TraceCheckUtils]: 48: Hoare triple {8002#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} assume !(main_~c~0#1 >= main_~b~0#1); {8002#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:17,537 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7758#true} {8002#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} #89#return; {8002#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:17,537 INFO L290 TraceCheckUtils]: 46: Hoare triple {7758#true} assume true; {7758#true} is VALID [2022-02-20 17:22:17,538 INFO L290 TraceCheckUtils]: 45: Hoare triple {7758#true} assume !(0 == ~cond); {7758#true} is VALID [2022-02-20 17:22:17,538 INFO L290 TraceCheckUtils]: 44: Hoare triple {7758#true} ~cond := #in~cond; {7758#true} is VALID [2022-02-20 17:22:17,538 INFO L272 TraceCheckUtils]: 43: Hoare triple {8002#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~xy~0#1 + main_~s~0#1 * main_~yy~0#1 - main_~q~0#1 * main_~x~0#1 - main_~b~0#1 * main_~y~0#1 - main_~s~0#1 * main_~y~0#1 + main_~b~0#1 then 1 else 0)); {7758#true} is VALID [2022-02-20 17:22:17,538 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7886#(not (= |__VERIFIER_assert_#in~cond| 0))} {7758#true} #87#return; {8002#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:17,539 INFO L290 TraceCheckUtils]: 41: Hoare triple {7886#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7886#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:22:17,539 INFO L290 TraceCheckUtils]: 40: Hoare triple {8033#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7886#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:22:17,540 INFO L290 TraceCheckUtils]: 39: Hoare triple {7758#true} ~cond := #in~cond; {8033#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:22:17,540 INFO L272 TraceCheckUtils]: 38: Hoare triple {7758#true} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {7758#true} is VALID [2022-02-20 17:22:17,540 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7758#true} {7758#true} #85#return; {7758#true} is VALID [2022-02-20 17:22:17,540 INFO L290 TraceCheckUtils]: 36: Hoare triple {7758#true} assume true; {7758#true} is VALID [2022-02-20 17:22:17,540 INFO L290 TraceCheckUtils]: 35: Hoare triple {7758#true} assume !(0 == ~cond); {7758#true} is VALID [2022-02-20 17:22:17,540 INFO L290 TraceCheckUtils]: 34: Hoare triple {7758#true} ~cond := #in~cond; {7758#true} is VALID [2022-02-20 17:22:17,540 INFO L272 TraceCheckUtils]: 33: Hoare triple {7758#true} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {7758#true} is VALID [2022-02-20 17:22:17,540 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7758#true} {7758#true} #83#return; {7758#true} is VALID [2022-02-20 17:22:17,540 INFO L290 TraceCheckUtils]: 31: Hoare triple {7758#true} assume true; {7758#true} is VALID [2022-02-20 17:22:17,540 INFO L290 TraceCheckUtils]: 30: Hoare triple {7758#true} assume !(0 == ~cond); {7758#true} is VALID [2022-02-20 17:22:17,540 INFO L290 TraceCheckUtils]: 29: Hoare triple {7758#true} ~cond := #in~cond; {7758#true} is VALID [2022-02-20 17:22:17,540 INFO L272 TraceCheckUtils]: 28: Hoare triple {7758#true} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {7758#true} is VALID [2022-02-20 17:22:17,541 INFO L290 TraceCheckUtils]: 27: Hoare triple {7758#true} assume !!(main_#t~post7#1 < 100);havoc main_#t~post7#1; {7758#true} is VALID [2022-02-20 17:22:17,541 INFO L290 TraceCheckUtils]: 26: Hoare triple {7758#true} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {7758#true} is VALID [2022-02-20 17:22:17,541 INFO L290 TraceCheckUtils]: 25: Hoare triple {7758#true} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {7758#true} is VALID [2022-02-20 17:22:17,541 INFO L290 TraceCheckUtils]: 24: Hoare triple {7758#true} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {7758#true} is VALID [2022-02-20 17:22:17,541 INFO L290 TraceCheckUtils]: 23: Hoare triple {7758#true} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {7758#true} is VALID [2022-02-20 17:22:17,541 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7758#true} {7758#true} #81#return; {7758#true} is VALID [2022-02-20 17:22:17,541 INFO L290 TraceCheckUtils]: 21: Hoare triple {7758#true} assume true; {7758#true} is VALID [2022-02-20 17:22:17,541 INFO L290 TraceCheckUtils]: 20: Hoare triple {7758#true} assume !(0 == ~cond); {7758#true} is VALID [2022-02-20 17:22:17,541 INFO L290 TraceCheckUtils]: 19: Hoare triple {7758#true} ~cond := #in~cond; {7758#true} is VALID [2022-02-20 17:22:17,541 INFO L272 TraceCheckUtils]: 18: Hoare triple {7758#true} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {7758#true} is VALID [2022-02-20 17:22:17,541 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {7758#true} {7758#true} #79#return; {7758#true} is VALID [2022-02-20 17:22:17,541 INFO L290 TraceCheckUtils]: 16: Hoare triple {7758#true} assume true; {7758#true} is VALID [2022-02-20 17:22:17,541 INFO L290 TraceCheckUtils]: 15: Hoare triple {7758#true} assume !(0 == ~cond); {7758#true} is VALID [2022-02-20 17:22:17,542 INFO L290 TraceCheckUtils]: 14: Hoare triple {7758#true} ~cond := #in~cond; {7758#true} is VALID [2022-02-20 17:22:17,542 INFO L272 TraceCheckUtils]: 13: Hoare triple {7758#true} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {7758#true} is VALID [2022-02-20 17:22:17,542 INFO L290 TraceCheckUtils]: 12: Hoare triple {7758#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {7758#true} is VALID [2022-02-20 17:22:17,542 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {7758#true} {7758#true} #77#return; {7758#true} is VALID [2022-02-20 17:22:17,542 INFO L290 TraceCheckUtils]: 10: Hoare triple {7758#true} assume true; {7758#true} is VALID [2022-02-20 17:22:17,542 INFO L290 TraceCheckUtils]: 9: Hoare triple {7758#true} assume !(0 == ~cond); {7758#true} is VALID [2022-02-20 17:22:17,542 INFO L290 TraceCheckUtils]: 8: Hoare triple {7758#true} ~cond := #in~cond; {7758#true} is VALID [2022-02-20 17:22:17,542 INFO L272 TraceCheckUtils]: 7: Hoare triple {7758#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {7758#true} is VALID [2022-02-20 17:22:17,542 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {7758#true} {7758#true} #75#return; {7758#true} is VALID [2022-02-20 17:22:17,542 INFO L290 TraceCheckUtils]: 5: Hoare triple {7758#true} assume true; {7758#true} is VALID [2022-02-20 17:22:17,542 INFO L290 TraceCheckUtils]: 4: Hoare triple {7758#true} assume !(0 == ~cond); {7758#true} is VALID [2022-02-20 17:22:17,542 INFO L290 TraceCheckUtils]: 3: Hoare triple {7758#true} ~cond := #in~cond; {7758#true} is VALID [2022-02-20 17:22:17,542 INFO L272 TraceCheckUtils]: 2: Hoare triple {7758#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {7758#true} is VALID [2022-02-20 17:22:17,543 INFO L290 TraceCheckUtils]: 1: Hoare triple {7758#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post7#1, main_~temp~0#1, main_#t~post6#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {7758#true} is VALID [2022-02-20 17:22:17,543 INFO L290 TraceCheckUtils]: 0: Hoare triple {7758#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7758#true} is VALID [2022-02-20 17:22:17,545 INFO L134 CoverageAnalysis]: Checked inductivity of 81 backedges. 22 proven. 7 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-02-20 17:22:17,546 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:22:17,546 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1275265698] [2022-02-20 17:22:17,546 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:22:17,546 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [671397351] [2022-02-20 17:22:17,546 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [671397351] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:22:17,546 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:22:17,546 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-02-20 17:22:17,546 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1474507310] [2022-02-20 17:22:17,546 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:22:17,547 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.5) internal successors, (42), 11 states have internal predecessors, (42), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 64 [2022-02-20 17:22:17,547 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:22:17,547 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.5) internal successors, (42), 11 states have internal predecessors, (42), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-02-20 17:22:17,617 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:17,617 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 17:22:17,617 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:22:17,617 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 17:22:17,617 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-02-20 17:22:17,618 INFO L87 Difference]: Start difference. First operand 244 states and 302 transitions. Second operand has 12 states, 12 states have (on average 3.5) internal successors, (42), 11 states have internal predecessors, (42), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16)