./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/nla-digbench-scaling/egcd-ll_valuebound20.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/egcd-ll_valuebound20.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 20f9ce6814caacb533e5bf2143ac3e067387f11238548a0b9b41e2de8e2cc436 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:20:50,779 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:20:50,780 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:20:50,820 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:20:50,820 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:20:50,821 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:20:50,823 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:20:50,824 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:20:50,828 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:20:50,829 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:20:50,830 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:20:50,831 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:20:50,832 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:20:50,834 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:20:50,835 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:20:50,836 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:20:50,838 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:20:50,842 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:20:50,843 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:20:50,844 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:20:50,845 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:20:50,848 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:20:50,848 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:20:50,849 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:20:50,852 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:20:50,857 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:20:50,857 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:20:50,858 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:20:50,858 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:20:50,859 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:20:50,859 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:20:50,860 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:20:50,860 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:20:50,861 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:20:50,861 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:20:50,862 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:20:50,863 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:20:50,863 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:20:50,864 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:20:50,865 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:20:50,865 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:20:50,866 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:50,893 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:20:50,894 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:20:50,894 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:20:50,894 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:20:50,895 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:20:50,895 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:20:50,895 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:20:50,895 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:20:50,895 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:20:50,896 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:20:50,896 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:20:50,896 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 17:20:50,896 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:20:50,896 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:20:50,896 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:20:50,896 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:20:50,897 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:20:50,897 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:20:50,897 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:20:50,897 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:20:50,897 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:20:50,897 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:20:50,898 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:20:50,898 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:20:50,898 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:20:50,898 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:20:50,898 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:20:50,898 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:20:50,898 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 17:20:50,899 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 17:20:50,899 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:20:50,899 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:20:50,899 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:20:50,899 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 -> 20f9ce6814caacb533e5bf2143ac3e067387f11238548a0b9b41e2de8e2cc436 [2022-02-20 17:20:51,112 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:20:51,139 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:20:51,141 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:20:51,142 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:20:51,144 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:20:51,145 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/nla-digbench-scaling/egcd-ll_valuebound20.c [2022-02-20 17:20:51,186 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c1bdefba9/38090a53413a4f19a30d5963c62eb5cf/FLAG1a392e239 [2022-02-20 17:20:51,552 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:20:51,552 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/egcd-ll_valuebound20.c [2022-02-20 17:20:51,557 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c1bdefba9/38090a53413a4f19a30d5963c62eb5cf/FLAG1a392e239 [2022-02-20 17:20:51,565 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c1bdefba9/38090a53413a4f19a30d5963c62eb5cf [2022-02-20 17:20:51,567 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:20:51,568 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:20:51,569 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:20:51,569 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:20:51,571 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:20:51,572 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:20:51" (1/1) ... [2022-02-20 17:20:51,573 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1752628c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:51, skipping insertion in model container [2022-02-20 17:20:51,573 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:20:51" (1/1) ... [2022-02-20 17:20:51,577 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:20:51,586 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:20:51,715 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/egcd-ll_valuebound20.c[489,502] [2022-02-20 17:20:51,740 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:20:51,745 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:20:51,752 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/egcd-ll_valuebound20.c[489,502] [2022-02-20 17:20:51,757 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:20:51,768 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:20:51,768 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:51 WrapperNode [2022-02-20 17:20:51,768 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:20:51,769 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:20:51,769 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:20:51,770 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:20:51,774 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:51" (1/1) ... [2022-02-20 17:20:51,779 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:51" (1/1) ... [2022-02-20 17:20:51,800 INFO L137 Inliner]: procedures = 14, calls = 18, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 56 [2022-02-20 17:20:51,800 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:20:51,801 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:20:51,801 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:20:51,801 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:20:51,806 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:51" (1/1) ... [2022-02-20 17:20:51,807 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:51" (1/1) ... [2022-02-20 17:20:51,807 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:51" (1/1) ... [2022-02-20 17:20:51,808 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:51" (1/1) ... [2022-02-20 17:20:51,810 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:51" (1/1) ... [2022-02-20 17:20:51,812 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:51" (1/1) ... [2022-02-20 17:20:51,812 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:51" (1/1) ... [2022-02-20 17:20:51,813 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:20:51,814 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:20:51,814 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:20:51,814 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:20:51,815 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:51" (1/1) ... [2022-02-20 17:20:51,824 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:20:51,833 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:20:51,859 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:51,873 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:51,903 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:20:51,903 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 17:20:51,903 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 17:20:51,903 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 17:20:51,903 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:20:51,903 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:20:51,904 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:20:51,905 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:20:51,948 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:20:51,949 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:20:52,120 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:20:52,124 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:20:52,139 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-02-20 17:20:52,140 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:20:52 BoogieIcfgContainer [2022-02-20 17:20:52,141 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:20:52,142 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:20:52,142 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:20:52,144 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:20:52,144 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:20:51" (1/3) ... [2022-02-20 17:20:52,145 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@22742149 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:20:52, skipping insertion in model container [2022-02-20 17:20:52,145 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:51" (2/3) ... [2022-02-20 17:20:52,145 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@22742149 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:20:52, skipping insertion in model container [2022-02-20 17:20:52,145 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:20:52" (3/3) ... [2022-02-20 17:20:52,146 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_valuebound20.c [2022-02-20 17:20:52,149 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:20:52,149 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:20:52,192 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:20:52,219 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:52,220 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:20:52,246 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 17 states have (on average 1.411764705882353) internal successors, (24), 18 states have internal predecessors, (24), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:20:52,249 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 17:20:52,250 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:20:52,250 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:20:52,250 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:20:52,254 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:20:52,254 INFO L85 PathProgramCache]: Analyzing trace with hash 516392259, now seen corresponding path program 1 times [2022-02-20 17:20:52,261 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:20:52,262 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [922340341] [2022-02-20 17:20:52,262 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:52,263 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:20:52,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:52,453 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:20:52,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:52,466 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:52,466 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:52,467 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:52,467 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #63#return; {35#true} is VALID [2022-02-20 17:20:52,467 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:20:52,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:52,479 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:52,479 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:52,479 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:52,480 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #65#return; {35#true} is VALID [2022-02-20 17:20:52,481 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:20:52,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:52,490 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:52,491 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:52,491 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:52,491 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #67#return; {35#true} is VALID [2022-02-20 17:20:52,492 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-02-20 17:20:52,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:52,506 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:52,506 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:52,507 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:52,507 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-02-20 17:20:52,507 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#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(10, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-02-20 17:20:52,508 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#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_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, 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_~x~0#1;havoc main_~y~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; {35#true} is VALID [2022-02-20 17:20:52,508 INFO L272 TraceCheckUtils]: 2: Hoare triple {35#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 20 then 1 else 0)); {35#true} is VALID [2022-02-20 17:20:52,508 INFO L290 TraceCheckUtils]: 3: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:52,508 INFO L290 TraceCheckUtils]: 4: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:52,509 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:52,509 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {35#true} {35#true} #63#return; {35#true} is VALID [2022-02-20 17:20:52,509 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {35#true} is VALID [2022-02-20 17:20:52,510 INFO L272 TraceCheckUtils]: 8: Hoare triple {35#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 20 then 1 else 0)); {35#true} is VALID [2022-02-20 17:20:52,510 INFO L290 TraceCheckUtils]: 9: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:52,510 INFO L290 TraceCheckUtils]: 10: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:52,510 INFO L290 TraceCheckUtils]: 11: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:52,511 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {35#true} {35#true} #65#return; {35#true} is VALID [2022-02-20 17:20:52,511 INFO L272 TraceCheckUtils]: 13: Hoare triple {35#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {35#true} is VALID [2022-02-20 17:20:52,511 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:52,512 INFO L290 TraceCheckUtils]: 15: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:52,512 INFO L290 TraceCheckUtils]: 16: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:52,512 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {35#true} {35#true} #67#return; {35#true} is VALID [2022-02-20 17:20:52,512 INFO L272 TraceCheckUtils]: 18: Hoare triple {35#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {35#true} is VALID [2022-02-20 17:20:52,513 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:52,513 INFO L290 TraceCheckUtils]: 20: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:52,513 INFO L290 TraceCheckUtils]: 21: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:52,513 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-02-20 17:20:52,514 INFO L290 TraceCheckUtils]: 23: Hoare triple {35#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; {35#true} is VALID [2022-02-20 17:20:52,516 INFO L290 TraceCheckUtils]: 24: Hoare triple {35#true} assume !true; {36#false} is VALID [2022-02-20 17:20:52,517 INFO L272 TraceCheckUtils]: 25: Hoare triple {36#false} call __VERIFIER_assert((if 0 == main_~a~0#1 - main_~b~0#1 then 1 else 0)); {36#false} is VALID [2022-02-20 17:20:52,517 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-02-20 17:20:52,517 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-02-20 17:20:52,518 INFO L290 TraceCheckUtils]: 28: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-02-20 17:20:52,519 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:52,519 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:20:52,520 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [922340341] [2022-02-20 17:20:52,521 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [922340341] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:20:52,521 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:20:52,521 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 17:20:52,522 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1233723684] [2022-02-20 17:20:52,523 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:20:52,527 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 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:20:52,528 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:20:52,531 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 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:20:52,560 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:20:52,560 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 17:20:52,561 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:20:52,580 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 17:20:52,581 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:20:52,584 INFO L87 Difference]: Start difference. First operand has 32 states, 17 states have (on average 1.411764705882353) internal successors, (24), 18 states have internal predecessors, (24), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 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:20:52,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:52,661 INFO L93 Difference]: Finished difference Result 61 states and 99 transitions. [2022-02-20 17:20:52,661 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 17:20:52,661 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 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:20:52,662 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:20:52,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 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:20:52,672 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 99 transitions. [2022-02-20 17:20:52,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 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:20:52,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 99 transitions. [2022-02-20 17:20:52,684 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 99 transitions. [2022-02-20 17:20:52,788 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:52,796 INFO L225 Difference]: With dead ends: 61 [2022-02-20 17:20:52,796 INFO L226 Difference]: Without dead ends: 28 [2022-02-20 17:20:52,798 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 10 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:52,802 INFO L933 BasicCegarLoop]: 42 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, 42 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:52,806 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 42 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:52,817 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-02-20 17:20:52,830 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 28. [2022-02-20 17:20:52,830 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:20:52,831 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand has 28 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 17:20:52,831 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand has 28 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 17:20:52,832 INFO L87 Difference]: Start difference. First operand 28 states. Second operand has 28 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 17:20:52,836 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:52,836 INFO L93 Difference]: Finished difference Result 28 states and 38 transitions. [2022-02-20 17:20:52,837 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 38 transitions. [2022-02-20 17:20:52,838 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:52,838 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:52,839 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 28 states. [2022-02-20 17:20:52,840 INFO L87 Difference]: Start difference. First operand has 28 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 28 states. [2022-02-20 17:20:52,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:52,845 INFO L93 Difference]: Finished difference Result 28 states and 38 transitions. [2022-02-20 17:20:52,846 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 38 transitions. [2022-02-20 17:20:52,847 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:52,847 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:52,847 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:20:52,847 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:20:52,848 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 17:20:52,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 38 transitions. [2022-02-20 17:20:52,852 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 38 transitions. Word has length 29 [2022-02-20 17:20:52,853 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:20:52,853 INFO L470 AbstractCegarLoop]: Abstraction has 28 states and 38 transitions. [2022-02-20 17:20:52,853 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 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:20:52,854 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 38 transitions. [2022-02-20 17:20:52,855 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 17:20:52,855 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:20:52,855 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:20:52,855 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 17:20:52,856 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:20:52,857 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:20:52,857 INFO L85 PathProgramCache]: Analyzing trace with hash 501437177, now seen corresponding path program 1 times [2022-02-20 17:20:52,858 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:20:52,858 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1948854143] [2022-02-20 17:20:52,858 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:52,858 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:20:52,891 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:20:52,892 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1661090798] [2022-02-20 17:20:52,892 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:52,893 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:52,893 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:20:52,908 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:20:52,943 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:20:52,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:52,957 INFO L263 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 17:20:52,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:52,974 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:20:53,109 INFO L290 TraceCheckUtils]: 0: Hoare triple {243#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(10, 2);call #Ultimate.allocInit(12, 3); {243#true} is VALID [2022-02-20 17:20:53,110 INFO L290 TraceCheckUtils]: 1: Hoare triple {243#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_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, 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_~x~0#1;havoc main_~y~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; {243#true} is VALID [2022-02-20 17:20:53,110 INFO L272 TraceCheckUtils]: 2: Hoare triple {243#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 20 then 1 else 0)); {243#true} is VALID [2022-02-20 17:20:53,110 INFO L290 TraceCheckUtils]: 3: Hoare triple {243#true} ~cond := #in~cond; {243#true} is VALID [2022-02-20 17:20:53,110 INFO L290 TraceCheckUtils]: 4: Hoare triple {243#true} assume !(0 == ~cond); {243#true} is VALID [2022-02-20 17:20:53,110 INFO L290 TraceCheckUtils]: 5: Hoare triple {243#true} assume true; {243#true} is VALID [2022-02-20 17:20:53,111 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {243#true} {243#true} #63#return; {243#true} is VALID [2022-02-20 17:20:53,111 INFO L290 TraceCheckUtils]: 7: Hoare triple {243#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {243#true} is VALID [2022-02-20 17:20:53,111 INFO L272 TraceCheckUtils]: 8: Hoare triple {243#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 20 then 1 else 0)); {243#true} is VALID [2022-02-20 17:20:53,111 INFO L290 TraceCheckUtils]: 9: Hoare triple {243#true} ~cond := #in~cond; {243#true} is VALID [2022-02-20 17:20:53,111 INFO L290 TraceCheckUtils]: 10: Hoare triple {243#true} assume !(0 == ~cond); {243#true} is VALID [2022-02-20 17:20:53,111 INFO L290 TraceCheckUtils]: 11: Hoare triple {243#true} assume true; {243#true} is VALID [2022-02-20 17:20:53,112 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {243#true} {243#true} #65#return; {243#true} is VALID [2022-02-20 17:20:53,112 INFO L272 TraceCheckUtils]: 13: Hoare triple {243#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {243#true} is VALID [2022-02-20 17:20:53,112 INFO L290 TraceCheckUtils]: 14: Hoare triple {243#true} ~cond := #in~cond; {243#true} is VALID [2022-02-20 17:20:53,112 INFO L290 TraceCheckUtils]: 15: Hoare triple {243#true} assume !(0 == ~cond); {243#true} is VALID [2022-02-20 17:20:53,112 INFO L290 TraceCheckUtils]: 16: Hoare triple {243#true} assume true; {243#true} is VALID [2022-02-20 17:20:53,113 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {243#true} {243#true} #67#return; {243#true} is VALID [2022-02-20 17:20:53,113 INFO L272 TraceCheckUtils]: 18: Hoare triple {243#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {243#true} is VALID [2022-02-20 17:20:53,113 INFO L290 TraceCheckUtils]: 19: Hoare triple {243#true} ~cond := #in~cond; {243#true} is VALID [2022-02-20 17:20:53,113 INFO L290 TraceCheckUtils]: 20: Hoare triple {243#true} assume !(0 == ~cond); {243#true} is VALID [2022-02-20 17:20:53,113 INFO L290 TraceCheckUtils]: 21: Hoare triple {243#true} assume true; {243#true} is VALID [2022-02-20 17:20:53,113 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {243#true} {243#true} #69#return; {243#true} is VALID [2022-02-20 17:20:53,114 INFO L290 TraceCheckUtils]: 23: Hoare triple {243#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; {317#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:53,114 INFO L290 TraceCheckUtils]: 24: Hoare triple {317#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {317#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:53,115 INFO L272 TraceCheckUtils]: 25: Hoare triple {317#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {324#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:20:53,116 INFO L290 TraceCheckUtils]: 26: Hoare triple {324#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {328#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:20:53,116 INFO L290 TraceCheckUtils]: 27: Hoare triple {328#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {244#false} is VALID [2022-02-20 17:20:53,116 INFO L290 TraceCheckUtils]: 28: Hoare triple {244#false} assume !false; {244#false} is VALID [2022-02-20 17:20:53,117 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:53,117 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:20:53,117 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:20:53,117 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1948854143] [2022-02-20 17:20:53,117 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:20:53,117 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1661090798] [2022-02-20 17:20:53,118 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1661090798] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:20:53,118 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:20:53,118 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:20:53,119 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [679887354] [2022-02-20 17:20:53,119 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:20:53,119 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 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:20:53,120 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:20:53,120 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 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:20:53,134 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:20:53,135 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:20:53,135 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:20:53,136 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:20:53,136 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:20:53,136 INFO L87 Difference]: Start difference. First operand 28 states and 38 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 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:20:53,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:53,285 INFO L93 Difference]: Finished difference Result 44 states and 61 transitions. [2022-02-20 17:20:53,285 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:20:53,285 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 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:20:53,285 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:20:53,285 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 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:20:53,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:20:53,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 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:20:53,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:20:53,289 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 61 transitions. [2022-02-20 17:20:53,336 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:53,338 INFO L225 Difference]: With dead ends: 44 [2022-02-20 17:20:53,338 INFO L226 Difference]: Without dead ends: 42 [2022-02-20 17:20:53,338 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 25 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:20:53,339 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 7 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 32 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:20:53,339 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 139 Invalid, 32 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:20:53,340 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-02-20 17:20:53,344 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 41. [2022-02-20 17:20:53,344 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:20:53,345 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 41 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 3 states have call predecessors, (17), 3 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:20:53,345 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 41 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 3 states have call predecessors, (17), 3 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:20:53,346 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 41 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 3 states have call predecessors, (17), 3 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:20:53,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:53,348 INFO L93 Difference]: Finished difference Result 42 states and 59 transitions. [2022-02-20 17:20:53,348 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 59 transitions. [2022-02-20 17:20:53,349 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:53,349 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:53,349 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 3 states have call predecessors, (17), 3 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Second operand 42 states. [2022-02-20 17:20:53,350 INFO L87 Difference]: Start difference. First operand has 41 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 3 states have call predecessors, (17), 3 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Second operand 42 states. [2022-02-20 17:20:53,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:53,352 INFO L93 Difference]: Finished difference Result 42 states and 59 transitions. [2022-02-20 17:20:53,352 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 59 transitions. [2022-02-20 17:20:53,352 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:53,353 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:53,353 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:20:53,353 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:20:53,353 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 3 states have call predecessors, (17), 3 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:20:53,355 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 58 transitions. [2022-02-20 17:20:53,355 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 58 transitions. Word has length 29 [2022-02-20 17:20:53,355 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:20:53,355 INFO L470 AbstractCegarLoop]: Abstraction has 41 states and 58 transitions. [2022-02-20 17:20:53,356 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 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:20:53,356 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 58 transitions. [2022-02-20 17:20:53,356 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 17:20:53,356 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:20:53,356 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] [2022-02-20 17:20:53,389 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 17:20:53,573 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:20:53,573 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:20:53,574 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:20:53,574 INFO L85 PathProgramCache]: Analyzing trace with hash -1017640517, now seen corresponding path program 1 times [2022-02-20 17:20:53,574 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:20:53,574 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [69434960] [2022-02-20 17:20:53,575 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:53,575 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:20:53,586 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:20:53,586 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [435983624] [2022-02-20 17:20:53,587 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:53,587 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:53,587 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:20:53,590 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:20:53,591 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:20:53,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:53,639 INFO L263 TraceCheckSpWp]: Trace formula consists of 98 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 17:20:53,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:53,649 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:20:53,858 INFO L290 TraceCheckUtils]: 0: Hoare triple {550#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(10, 2);call #Ultimate.allocInit(12, 3); {550#true} is VALID [2022-02-20 17:20:53,858 INFO L290 TraceCheckUtils]: 1: Hoare triple {550#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_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, 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_~x~0#1;havoc main_~y~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; {550#true} is VALID [2022-02-20 17:20:53,858 INFO L272 TraceCheckUtils]: 2: Hoare triple {550#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 20 then 1 else 0)); {550#true} is VALID [2022-02-20 17:20:53,859 INFO L290 TraceCheckUtils]: 3: Hoare triple {550#true} ~cond := #in~cond; {550#true} is VALID [2022-02-20 17:20:53,859 INFO L290 TraceCheckUtils]: 4: Hoare triple {550#true} assume !(0 == ~cond); {550#true} is VALID [2022-02-20 17:20:53,859 INFO L290 TraceCheckUtils]: 5: Hoare triple {550#true} assume true; {550#true} is VALID [2022-02-20 17:20:53,859 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {550#true} {550#true} #63#return; {550#true} is VALID [2022-02-20 17:20:53,859 INFO L290 TraceCheckUtils]: 7: Hoare triple {550#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {550#true} is VALID [2022-02-20 17:20:53,859 INFO L272 TraceCheckUtils]: 8: Hoare triple {550#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 20 then 1 else 0)); {550#true} is VALID [2022-02-20 17:20:53,859 INFO L290 TraceCheckUtils]: 9: Hoare triple {550#true} ~cond := #in~cond; {550#true} is VALID [2022-02-20 17:20:53,860 INFO L290 TraceCheckUtils]: 10: Hoare triple {550#true} assume !(0 == ~cond); {550#true} is VALID [2022-02-20 17:20:53,860 INFO L290 TraceCheckUtils]: 11: Hoare triple {550#true} assume true; {550#true} is VALID [2022-02-20 17:20:53,860 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {550#true} {550#true} #65#return; {550#true} is VALID [2022-02-20 17:20:53,860 INFO L272 TraceCheckUtils]: 13: Hoare triple {550#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {550#true} is VALID [2022-02-20 17:20:53,861 INFO L290 TraceCheckUtils]: 14: Hoare triple {550#true} ~cond := #in~cond; {597#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:20:53,862 INFO L290 TraceCheckUtils]: 15: Hoare triple {597#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {601#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:20:53,862 INFO L290 TraceCheckUtils]: 16: Hoare triple {601#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {601#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:20:53,868 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {601#(not (= |assume_abort_if_not_#in~cond| 0))} {550#true} #67#return; {608#(<= 1 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 17:20:53,869 INFO L272 TraceCheckUtils]: 18: Hoare triple {608#(<= 1 |ULTIMATE.start_main_~x~0#1|)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {550#true} is VALID [2022-02-20 17:20:53,869 INFO L290 TraceCheckUtils]: 19: Hoare triple {550#true} ~cond := #in~cond; {550#true} is VALID [2022-02-20 17:20:53,869 INFO L290 TraceCheckUtils]: 20: Hoare triple {550#true} assume !(0 == ~cond); {550#true} is VALID [2022-02-20 17:20:53,869 INFO L290 TraceCheckUtils]: 21: Hoare triple {550#true} assume true; {550#true} is VALID [2022-02-20 17:20:53,870 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {550#true} {608#(<= 1 |ULTIMATE.start_main_~x~0#1|)} #69#return; {608#(<= 1 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 17:20:53,871 INFO L290 TraceCheckUtils]: 23: Hoare triple {608#(<= 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; {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:20:53,871 INFO L290 TraceCheckUtils]: 24: Hoare triple {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} assume !false; {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:20:53,871 INFO L272 TraceCheckUtils]: 25: Hoare triple {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {550#true} is VALID [2022-02-20 17:20:53,872 INFO L290 TraceCheckUtils]: 26: Hoare triple {550#true} ~cond := #in~cond; {550#true} is VALID [2022-02-20 17:20:53,872 INFO L290 TraceCheckUtils]: 27: Hoare triple {550#true} assume !(0 == ~cond); {550#true} is VALID [2022-02-20 17:20:53,872 INFO L290 TraceCheckUtils]: 28: Hoare triple {550#true} assume true; {550#true} is VALID [2022-02-20 17:20:53,873 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {550#true} {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} #71#return; {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:20:53,874 INFO L272 TraceCheckUtils]: 30: Hoare triple {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~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)); {649#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:20:53,874 INFO L290 TraceCheckUtils]: 31: Hoare triple {649#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {653#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:20:53,875 INFO L290 TraceCheckUtils]: 32: Hoare triple {653#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {551#false} is VALID [2022-02-20 17:20:53,875 INFO L290 TraceCheckUtils]: 33: Hoare triple {551#false} assume !false; {551#false} is VALID [2022-02-20 17:20:53,875 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 17:20:53,875 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:21:27,642 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:27,642 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [69434960] [2022-02-20 17:21:27,642 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:27,642 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [435983624] [2022-02-20 17:21:27,642 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [435983624] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 17:21:27,642 INFO L191 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:21:27,642 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2022-02-20 17:21:27,642 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [402546832] [2022-02-20 17:21:27,643 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-02-20 17:21:27,643 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 34 [2022-02-20 17:21:27,643 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:27,643 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:21:27,670 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:27,670 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 17:21:27,670 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:27,671 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 17:21:27,671 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:21:27,671 INFO L87 Difference]: Start difference. First operand 41 states and 58 transitions. Second operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:21:28,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:28,034 INFO L93 Difference]: Finished difference Result 66 states and 98 transitions. [2022-02-20 17:21:28,034 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 17:21:28,035 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 34 [2022-02-20 17:21:28,035 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:28,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:21:28,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 61 transitions. [2022-02-20 17:21:28,039 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:21:28,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 61 transitions. [2022-02-20 17:21:28,041 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 61 transitions. [2022-02-20 17:21:28,098 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:28,104 INFO L225 Difference]: With dead ends: 66 [2022-02-20 17:21:28,104 INFO L226 Difference]: Without dead ends: 64 [2022-02-20 17:21:28,105 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 30 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:21:28,108 INFO L933 BasicCegarLoop]: 34 mSDtfsCounter, 20 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 97 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 167 SdHoareTripleChecker+Invalid, 104 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 97 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:28,109 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 167 Invalid, 104 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 97 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:21:28,110 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-02-20 17:21:28,139 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 57. [2022-02-20 17:21:28,140 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:28,140 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 57 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 31 states have internal predecessors, (38), 23 states have call successors, (23), 4 states have call predecessors, (23), 4 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:21:28,142 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 57 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 31 states have internal predecessors, (38), 23 states have call successors, (23), 4 states have call predecessors, (23), 4 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:21:28,143 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 57 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 31 states have internal predecessors, (38), 23 states have call successors, (23), 4 states have call predecessors, (23), 4 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:21:28,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:28,147 INFO L93 Difference]: Finished difference Result 64 states and 96 transitions. [2022-02-20 17:21:28,148 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 96 transitions. [2022-02-20 17:21:28,150 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:28,151 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:28,152 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 31 states have internal predecessors, (38), 23 states have call successors, (23), 4 states have call predecessors, (23), 4 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 64 states. [2022-02-20 17:21:28,153 INFO L87 Difference]: Start difference. First operand has 57 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 31 states have internal predecessors, (38), 23 states have call successors, (23), 4 states have call predecessors, (23), 4 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 64 states. [2022-02-20 17:21:28,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:28,157 INFO L93 Difference]: Finished difference Result 64 states and 96 transitions. [2022-02-20 17:21:28,157 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 96 transitions. [2022-02-20 17:21:28,157 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:28,158 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:28,158 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:28,158 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:28,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 31 states have internal predecessors, (38), 23 states have call successors, (23), 4 states have call predecessors, (23), 4 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:21:28,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 83 transitions. [2022-02-20 17:21:28,167 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 83 transitions. Word has length 34 [2022-02-20 17:21:28,167 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:28,167 INFO L470 AbstractCegarLoop]: Abstraction has 57 states and 83 transitions. [2022-02-20 17:21:28,168 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:21:28,168 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 83 transitions. [2022-02-20 17:21:28,168 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-02-20 17:21:28,168 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:28,168 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] [2022-02-20 17:21:28,194 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:28,391 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:28,392 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:28,392 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:28,392 INFO L85 PathProgramCache]: Analyzing trace with hash 1133401081, now seen corresponding path program 1 times [2022-02-20 17:21:28,392 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:28,392 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1269452038] [2022-02-20 17:21:28,392 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:28,392 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:28,415 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:28,415 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1829203586] [2022-02-20 17:21:28,415 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:28,416 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:28,416 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:28,418 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:28,420 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:28,457 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:28,458 INFO L263 TraceCheckSpWp]: Trace formula consists of 107 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 17:21:28,465 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:28,466 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:28,598 INFO L290 TraceCheckUtils]: 0: Hoare triple {999#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(10, 2);call #Ultimate.allocInit(12, 3); {999#true} is VALID [2022-02-20 17:21:28,598 INFO L290 TraceCheckUtils]: 1: Hoare triple {999#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_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, 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_~x~0#1;havoc main_~y~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; {999#true} is VALID [2022-02-20 17:21:28,598 INFO L272 TraceCheckUtils]: 2: Hoare triple {999#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 20 then 1 else 0)); {999#true} is VALID [2022-02-20 17:21:28,598 INFO L290 TraceCheckUtils]: 3: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:28,599 INFO L290 TraceCheckUtils]: 4: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:28,599 INFO L290 TraceCheckUtils]: 5: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:28,599 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {999#true} {999#true} #63#return; {999#true} is VALID [2022-02-20 17:21:28,599 INFO L290 TraceCheckUtils]: 7: Hoare triple {999#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {999#true} is VALID [2022-02-20 17:21:28,599 INFO L272 TraceCheckUtils]: 8: Hoare triple {999#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 20 then 1 else 0)); {999#true} is VALID [2022-02-20 17:21:28,599 INFO L290 TraceCheckUtils]: 9: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:28,600 INFO L290 TraceCheckUtils]: 10: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:28,600 INFO L290 TraceCheckUtils]: 11: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:28,600 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {999#true} {999#true} #65#return; {999#true} is VALID [2022-02-20 17:21:28,600 INFO L272 TraceCheckUtils]: 13: Hoare triple {999#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {999#true} is VALID [2022-02-20 17:21:28,600 INFO L290 TraceCheckUtils]: 14: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:28,600 INFO L290 TraceCheckUtils]: 15: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:28,600 INFO L290 TraceCheckUtils]: 16: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:28,601 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {999#true} {999#true} #67#return; {999#true} is VALID [2022-02-20 17:21:28,601 INFO L272 TraceCheckUtils]: 18: Hoare triple {999#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {999#true} is VALID [2022-02-20 17:21:28,601 INFO L290 TraceCheckUtils]: 19: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:28,601 INFO L290 TraceCheckUtils]: 20: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:28,601 INFO L290 TraceCheckUtils]: 21: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:28,601 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {999#true} {999#true} #69#return; {999#true} is VALID [2022-02-20 17:21:28,602 INFO L290 TraceCheckUtils]: 23: Hoare triple {999#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; {1073#(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:21:28,602 INFO L290 TraceCheckUtils]: 24: Hoare triple {1073#(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 !false; {1073#(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:21:28,603 INFO L272 TraceCheckUtils]: 25: Hoare triple {1073#(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 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {999#true} is VALID [2022-02-20 17:21:28,603 INFO L290 TraceCheckUtils]: 26: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:28,603 INFO L290 TraceCheckUtils]: 27: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:28,603 INFO L290 TraceCheckUtils]: 28: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:28,604 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {999#true} {1073#(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))} #71#return; {1073#(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:21:28,604 INFO L272 TraceCheckUtils]: 30: Hoare triple {1073#(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)); {999#true} is VALID [2022-02-20 17:21:28,604 INFO L290 TraceCheckUtils]: 31: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:28,604 INFO L290 TraceCheckUtils]: 32: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:28,604 INFO L290 TraceCheckUtils]: 33: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:28,605 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {999#true} {1073#(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))} #73#return; {1073#(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:21:28,606 INFO L272 TraceCheckUtils]: 35: Hoare triple {1073#(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)); {1110#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:28,606 INFO L290 TraceCheckUtils]: 36: Hoare triple {1110#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1114#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:28,607 INFO L290 TraceCheckUtils]: 37: Hoare triple {1114#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1000#false} is VALID [2022-02-20 17:21:28,607 INFO L290 TraceCheckUtils]: 38: Hoare triple {1000#false} assume !false; {1000#false} is VALID [2022-02-20 17:21:28,607 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:28,607 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:21:28,607 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:28,607 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1269452038] [2022-02-20 17:21:28,607 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:28,608 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1829203586] [2022-02-20 17:21:28,608 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1829203586] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:21:28,608 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:21:28,608 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:21:28,608 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1222608319] [2022-02-20 17:21:28,608 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:28,609 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, (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 39 [2022-02-20 17:21:28,609 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:28,609 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, (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:28,631 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:28,631 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:21:28,631 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:28,632 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:21:28,632 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:21:28,632 INFO L87 Difference]: Start difference. First operand 57 states and 83 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, (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:28,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:28,800 INFO L93 Difference]: Finished difference Result 64 states and 89 transitions. [2022-02-20 17:21:28,800 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:21:28,800 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, (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 39 [2022-02-20 17:21:28,800 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:28,800 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, (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:28,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:21:28,802 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, (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:28,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:21:28,803 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 61 transitions. [2022-02-20 17:21:28,856 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:28,858 INFO L225 Difference]: With dead ends: 64 [2022-02-20 17:21:28,858 INFO L226 Difference]: Without dead ends: 60 [2022-02-20 17:21:28,858 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:21:28,859 INFO L933 BasicCegarLoop]: 40 mSDtfsCounter, 8 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 36 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 37 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 36 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:28,859 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 139 Invalid, 37 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:21:28,859 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-02-20 17:21:28,874 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 60. [2022-02-20 17:21:28,875 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:28,875 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 60 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 22 states have call successors, (22), 5 states have call predecessors, (22), 5 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:28,875 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 60 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 22 states have call successors, (22), 5 states have call predecessors, (22), 5 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:28,875 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 60 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 22 states have call successors, (22), 5 states have call predecessors, (22), 5 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:28,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:28,878 INFO L93 Difference]: Finished difference Result 60 states and 83 transitions. [2022-02-20 17:21:28,878 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 83 transitions. [2022-02-20 17:21:28,878 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:28,878 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:28,878 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 22 states have call successors, (22), 5 states have call predecessors, (22), 5 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 60 states. [2022-02-20 17:21:28,879 INFO L87 Difference]: Start difference. First operand has 60 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 22 states have call successors, (22), 5 states have call predecessors, (22), 5 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 60 states. [2022-02-20 17:21:28,880 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:28,881 INFO L93 Difference]: Finished difference Result 60 states and 83 transitions. [2022-02-20 17:21:28,881 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 83 transitions. [2022-02-20 17:21:28,881 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:28,881 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:28,881 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:28,881 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:28,881 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 22 states have call successors, (22), 5 states have call predecessors, (22), 5 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:28,883 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 83 transitions. [2022-02-20 17:21:28,883 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 83 transitions. Word has length 39 [2022-02-20 17:21:28,884 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:28,884 INFO L470 AbstractCegarLoop]: Abstraction has 60 states and 83 transitions. [2022-02-20 17:21:28,884 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, (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:28,884 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 83 transitions. [2022-02-20 17:21:28,884 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-02-20 17:21:28,885 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:28,885 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] [2022-02-20 17:21:28,917 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:29,100 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:29,101 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:29,101 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:29,101 INFO L85 PathProgramCache]: Analyzing trace with hash -1954831506, now seen corresponding path program 1 times [2022-02-20 17:21:29,101 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:29,101 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1426532382] [2022-02-20 17:21:29,101 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:29,102 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:29,118 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:29,118 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1640861267] [2022-02-20 17:21:29,118 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:29,118 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:29,118 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:29,119 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:29,120 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:29,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:29,157 INFO L263 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 17:21:29,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:29,165 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:29,252 INFO L290 TraceCheckUtils]: 0: Hoare triple {1430#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(10, 2);call #Ultimate.allocInit(12, 3); {1430#true} is VALID [2022-02-20 17:21:29,252 INFO L290 TraceCheckUtils]: 1: Hoare triple {1430#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_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, 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_~x~0#1;havoc main_~y~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; {1430#true} is VALID [2022-02-20 17:21:29,253 INFO L272 TraceCheckUtils]: 2: Hoare triple {1430#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 20 then 1 else 0)); {1430#true} is VALID [2022-02-20 17:21:29,253 INFO L290 TraceCheckUtils]: 3: Hoare triple {1430#true} ~cond := #in~cond; {1430#true} is VALID [2022-02-20 17:21:29,253 INFO L290 TraceCheckUtils]: 4: Hoare triple {1430#true} assume !(0 == ~cond); {1430#true} is VALID [2022-02-20 17:21:29,253 INFO L290 TraceCheckUtils]: 5: Hoare triple {1430#true} assume true; {1430#true} is VALID [2022-02-20 17:21:29,253 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1430#true} {1430#true} #63#return; {1430#true} is VALID [2022-02-20 17:21:29,253 INFO L290 TraceCheckUtils]: 7: Hoare triple {1430#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1430#true} is VALID [2022-02-20 17:21:29,253 INFO L272 TraceCheckUtils]: 8: Hoare triple {1430#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 20 then 1 else 0)); {1430#true} is VALID [2022-02-20 17:21:29,253 INFO L290 TraceCheckUtils]: 9: Hoare triple {1430#true} ~cond := #in~cond; {1430#true} is VALID [2022-02-20 17:21:29,254 INFO L290 TraceCheckUtils]: 10: Hoare triple {1430#true} assume !(0 == ~cond); {1430#true} is VALID [2022-02-20 17:21:29,254 INFO L290 TraceCheckUtils]: 11: Hoare triple {1430#true} assume true; {1430#true} is VALID [2022-02-20 17:21:29,254 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1430#true} {1430#true} #65#return; {1430#true} is VALID [2022-02-20 17:21:29,254 INFO L272 TraceCheckUtils]: 13: Hoare triple {1430#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {1430#true} is VALID [2022-02-20 17:21:29,254 INFO L290 TraceCheckUtils]: 14: Hoare triple {1430#true} ~cond := #in~cond; {1430#true} is VALID [2022-02-20 17:21:29,254 INFO L290 TraceCheckUtils]: 15: Hoare triple {1430#true} assume !(0 == ~cond); {1430#true} is VALID [2022-02-20 17:21:29,254 INFO L290 TraceCheckUtils]: 16: Hoare triple {1430#true} assume true; {1430#true} is VALID [2022-02-20 17:21:29,254 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1430#true} {1430#true} #67#return; {1430#true} is VALID [2022-02-20 17:21:29,255 INFO L272 TraceCheckUtils]: 18: Hoare triple {1430#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {1430#true} is VALID [2022-02-20 17:21:29,255 INFO L290 TraceCheckUtils]: 19: Hoare triple {1430#true} ~cond := #in~cond; {1430#true} is VALID [2022-02-20 17:21:29,255 INFO L290 TraceCheckUtils]: 20: Hoare triple {1430#true} assume !(0 == ~cond); {1430#true} is VALID [2022-02-20 17:21:29,255 INFO L290 TraceCheckUtils]: 21: Hoare triple {1430#true} assume true; {1430#true} is VALID [2022-02-20 17:21:29,255 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1430#true} {1430#true} #69#return; {1430#true} is VALID [2022-02-20 17:21:29,255 INFO L290 TraceCheckUtils]: 23: Hoare triple {1430#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; {1430#true} is VALID [2022-02-20 17:21:29,255 INFO L290 TraceCheckUtils]: 24: Hoare triple {1430#true} assume !false; {1430#true} is VALID [2022-02-20 17:21:29,256 INFO L272 TraceCheckUtils]: 25: Hoare triple {1430#true} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {1430#true} is VALID [2022-02-20 17:21:29,256 INFO L290 TraceCheckUtils]: 26: Hoare triple {1430#true} ~cond := #in~cond; {1430#true} is VALID [2022-02-20 17:21:29,256 INFO L290 TraceCheckUtils]: 27: Hoare triple {1430#true} assume !(0 == ~cond); {1430#true} is VALID [2022-02-20 17:21:29,256 INFO L290 TraceCheckUtils]: 28: Hoare triple {1430#true} assume true; {1430#true} is VALID [2022-02-20 17:21:29,256 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1430#true} {1430#true} #71#return; {1430#true} is VALID [2022-02-20 17:21:29,256 INFO L272 TraceCheckUtils]: 30: Hoare triple {1430#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)); {1430#true} is VALID [2022-02-20 17:21:29,256 INFO L290 TraceCheckUtils]: 31: Hoare triple {1430#true} ~cond := #in~cond; {1430#true} is VALID [2022-02-20 17:21:29,256 INFO L290 TraceCheckUtils]: 32: Hoare triple {1430#true} assume !(0 == ~cond); {1430#true} is VALID [2022-02-20 17:21:29,257 INFO L290 TraceCheckUtils]: 33: Hoare triple {1430#true} assume true; {1430#true} is VALID [2022-02-20 17:21:29,257 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1430#true} {1430#true} #73#return; {1430#true} is VALID [2022-02-20 17:21:29,257 INFO L272 TraceCheckUtils]: 35: Hoare triple {1430#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)); {1430#true} is VALID [2022-02-20 17:21:29,257 INFO L290 TraceCheckUtils]: 36: Hoare triple {1430#true} ~cond := #in~cond; {1430#true} is VALID [2022-02-20 17:21:29,257 INFO L290 TraceCheckUtils]: 37: Hoare triple {1430#true} assume !(0 == ~cond); {1430#true} is VALID [2022-02-20 17:21:29,257 INFO L290 TraceCheckUtils]: 38: Hoare triple {1430#true} assume true; {1430#true} is VALID [2022-02-20 17:21:29,257 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1430#true} {1430#true} #75#return; {1430#true} is VALID [2022-02-20 17:21:29,258 INFO L290 TraceCheckUtils]: 40: Hoare triple {1430#true} assume !(main_~a~0#1 != main_~b~0#1); {1555#(= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:29,258 INFO L272 TraceCheckUtils]: 41: Hoare triple {1555#(= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~b~0#1|)} call __VERIFIER_assert((if 0 == main_~a~0#1 - main_~b~0#1 then 1 else 0)); {1559#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:29,259 INFO L290 TraceCheckUtils]: 42: Hoare triple {1559#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1563#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:29,259 INFO L290 TraceCheckUtils]: 43: Hoare triple {1563#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1431#false} is VALID [2022-02-20 17:21:29,259 INFO L290 TraceCheckUtils]: 44: Hoare triple {1431#false} assume !false; {1431#false} is VALID [2022-02-20 17:21:29,259 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-02-20 17:21:29,259 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:21:29,260 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:29,260 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1426532382] [2022-02-20 17:21:29,260 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:29,260 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1640861267] [2022-02-20 17:21:29,260 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1640861267] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:21:29,260 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:21:29,260 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:21:29,260 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1390543048] [2022-02-20 17:21:29,260 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:29,261 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-02-20 17:21:29,261 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:29,261 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-02-20 17:21:29,280 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:29,280 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:21:29,280 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:29,280 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:21:29,281 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:21:29,281 INFO L87 Difference]: Start difference. First operand 60 states and 83 transitions. Second operand has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-02-20 17:21:29,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:29,399 INFO L93 Difference]: Finished difference Result 66 states and 88 transitions. [2022-02-20 17:21:29,399 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:21:29,399 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-02-20 17:21:29,400 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:29,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-02-20 17:21:29,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-02-20 17:21:29,401 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-02-20 17:21:29,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-02-20 17:21:29,402 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 43 transitions. [2022-02-20 17:21:29,433 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:29,434 INFO L225 Difference]: With dead ends: 66 [2022-02-20 17:21:29,434 INFO L226 Difference]: Without dead ends: 64 [2022-02-20 17:21:29,435 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:21:29,435 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 5 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 131 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:29,435 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 131 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:21:29,436 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-02-20 17:21:29,451 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 64. [2022-02-20 17:21:29,451 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:29,451 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 64 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 37 states have internal predecessors, (44), 22 states have call successors, (22), 6 states have call predecessors, (22), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:29,451 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 64 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 37 states have internal predecessors, (44), 22 states have call successors, (22), 6 states have call predecessors, (22), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:29,452 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 64 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 37 states have internal predecessors, (44), 22 states have call successors, (22), 6 states have call predecessors, (22), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:29,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:29,454 INFO L93 Difference]: Finished difference Result 64 states and 86 transitions. [2022-02-20 17:21:29,454 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 86 transitions. [2022-02-20 17:21:29,454 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:29,454 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:29,455 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 37 states have internal predecessors, (44), 22 states have call successors, (22), 6 states have call predecessors, (22), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 64 states. [2022-02-20 17:21:29,455 INFO L87 Difference]: Start difference. First operand has 64 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 37 states have internal predecessors, (44), 22 states have call successors, (22), 6 states have call predecessors, (22), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 64 states. [2022-02-20 17:21:29,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:29,457 INFO L93 Difference]: Finished difference Result 64 states and 86 transitions. [2022-02-20 17:21:29,457 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 86 transitions. [2022-02-20 17:21:29,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:29,458 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:29,458 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:29,458 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:29,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 37 states have internal predecessors, (44), 22 states have call successors, (22), 6 states have call predecessors, (22), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:29,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 86 transitions. [2022-02-20 17:21:29,472 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 86 transitions. Word has length 45 [2022-02-20 17:21:29,472 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:29,472 INFO L470 AbstractCegarLoop]: Abstraction has 64 states and 86 transitions. [2022-02-20 17:21:29,472 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-02-20 17:21:29,472 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 86 transitions. [2022-02-20 17:21:29,473 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-02-20 17:21:29,473 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:29,473 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 2, 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:29,491 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:29,689 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:29,689 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:29,690 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:29,690 INFO L85 PathProgramCache]: Analyzing trace with hash -1265228631, now seen corresponding path program 1 times [2022-02-20 17:21:29,690 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:29,690 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1133859129] [2022-02-20 17:21:29,690 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:29,690 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:29,701 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:29,701 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [891256900] [2022-02-20 17:21:29,701 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:29,701 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:29,701 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:29,702 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:29,752 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:29,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:29,757 INFO L263 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 17:21:29,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:29,765 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:29,928 INFO L290 TraceCheckUtils]: 0: Hoare triple {1893#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(10, 2);call #Ultimate.allocInit(12, 3); {1893#true} is VALID [2022-02-20 17:21:29,928 INFO L290 TraceCheckUtils]: 1: Hoare triple {1893#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_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, 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_~x~0#1;havoc main_~y~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; {1893#true} is VALID [2022-02-20 17:21:29,928 INFO L272 TraceCheckUtils]: 2: Hoare triple {1893#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 20 then 1 else 0)); {1893#true} is VALID [2022-02-20 17:21:29,928 INFO L290 TraceCheckUtils]: 3: Hoare triple {1893#true} ~cond := #in~cond; {1893#true} is VALID [2022-02-20 17:21:29,928 INFO L290 TraceCheckUtils]: 4: Hoare triple {1893#true} assume !(0 == ~cond); {1893#true} is VALID [2022-02-20 17:21:29,932 INFO L290 TraceCheckUtils]: 5: Hoare triple {1893#true} assume true; {1893#true} is VALID [2022-02-20 17:21:29,932 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1893#true} {1893#true} #63#return; {1893#true} is VALID [2022-02-20 17:21:29,932 INFO L290 TraceCheckUtils]: 7: Hoare triple {1893#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1893#true} is VALID [2022-02-20 17:21:29,932 INFO L272 TraceCheckUtils]: 8: Hoare triple {1893#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 20 then 1 else 0)); {1893#true} is VALID [2022-02-20 17:21:29,932 INFO L290 TraceCheckUtils]: 9: Hoare triple {1893#true} ~cond := #in~cond; {1893#true} is VALID [2022-02-20 17:21:29,932 INFO L290 TraceCheckUtils]: 10: Hoare triple {1893#true} assume !(0 == ~cond); {1893#true} is VALID [2022-02-20 17:21:29,933 INFO L290 TraceCheckUtils]: 11: Hoare triple {1893#true} assume true; {1893#true} is VALID [2022-02-20 17:21:29,933 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1893#true} {1893#true} #65#return; {1893#true} is VALID [2022-02-20 17:21:29,933 INFO L272 TraceCheckUtils]: 13: Hoare triple {1893#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {1893#true} is VALID [2022-02-20 17:21:29,933 INFO L290 TraceCheckUtils]: 14: Hoare triple {1893#true} ~cond := #in~cond; {1893#true} is VALID [2022-02-20 17:21:29,933 INFO L290 TraceCheckUtils]: 15: Hoare triple {1893#true} assume !(0 == ~cond); {1893#true} is VALID [2022-02-20 17:21:29,933 INFO L290 TraceCheckUtils]: 16: Hoare triple {1893#true} assume true; {1893#true} is VALID [2022-02-20 17:21:29,933 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1893#true} {1893#true} #67#return; {1893#true} is VALID [2022-02-20 17:21:29,933 INFO L272 TraceCheckUtils]: 18: Hoare triple {1893#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {1893#true} is VALID [2022-02-20 17:21:29,934 INFO L290 TraceCheckUtils]: 19: Hoare triple {1893#true} ~cond := #in~cond; {1893#true} is VALID [2022-02-20 17:21:29,934 INFO L290 TraceCheckUtils]: 20: Hoare triple {1893#true} assume !(0 == ~cond); {1893#true} is VALID [2022-02-20 17:21:29,934 INFO L290 TraceCheckUtils]: 21: Hoare triple {1893#true} assume true; {1893#true} is VALID [2022-02-20 17:21:29,934 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1893#true} {1893#true} #69#return; {1893#true} is VALID [2022-02-20 17:21:29,935 INFO L290 TraceCheckUtils]: 23: Hoare triple {1893#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; {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:29,935 INFO L290 TraceCheckUtils]: 24: Hoare triple {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:29,935 INFO L272 TraceCheckUtils]: 25: Hoare triple {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {1893#true} is VALID [2022-02-20 17:21:29,935 INFO L290 TraceCheckUtils]: 26: Hoare triple {1893#true} ~cond := #in~cond; {1893#true} is VALID [2022-02-20 17:21:29,935 INFO L290 TraceCheckUtils]: 27: Hoare triple {1893#true} assume !(0 == ~cond); {1893#true} is VALID [2022-02-20 17:21:29,935 INFO L290 TraceCheckUtils]: 28: Hoare triple {1893#true} assume true; {1893#true} is VALID [2022-02-20 17:21:29,936 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1893#true} {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #71#return; {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:29,936 INFO L272 TraceCheckUtils]: 30: Hoare triple {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~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)); {1893#true} is VALID [2022-02-20 17:21:29,936 INFO L290 TraceCheckUtils]: 31: Hoare triple {1893#true} ~cond := #in~cond; {1893#true} is VALID [2022-02-20 17:21:29,936 INFO L290 TraceCheckUtils]: 32: Hoare triple {1893#true} assume !(0 == ~cond); {1893#true} is VALID [2022-02-20 17:21:29,936 INFO L290 TraceCheckUtils]: 33: Hoare triple {1893#true} assume true; {1893#true} is VALID [2022-02-20 17:21:29,937 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1893#true} {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #73#return; {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:29,937 INFO L272 TraceCheckUtils]: 35: Hoare triple {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~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)); {1893#true} is VALID [2022-02-20 17:21:29,938 INFO L290 TraceCheckUtils]: 36: Hoare triple {1893#true} ~cond := #in~cond; {1893#true} is VALID [2022-02-20 17:21:29,938 INFO L290 TraceCheckUtils]: 37: Hoare triple {1893#true} assume !(0 == ~cond); {1893#true} is VALID [2022-02-20 17:21:29,938 INFO L290 TraceCheckUtils]: 38: Hoare triple {1893#true} assume true; {1893#true} is VALID [2022-02-20 17:21:29,939 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1893#true} {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #75#return; {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:29,939 INFO L290 TraceCheckUtils]: 40: Hoare triple {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_~a~0#1 != main_~b~0#1); {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:29,939 INFO L290 TraceCheckUtils]: 41: Hoare triple {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !(main_~a~0#1 > main_~b~0#1);main_~b~0#1 := main_~b~0#1 - main_~a~0#1;main_~q~0#1 := main_~q~0#1 - main_~p~0#1;main_~s~0#1 := main_~s~0#1 - main_~r~0#1; {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:29,940 INFO L290 TraceCheckUtils]: 42: Hoare triple {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:29,940 INFO L272 TraceCheckUtils]: 43: Hoare triple {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {2028#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:29,941 INFO L290 TraceCheckUtils]: 44: Hoare triple {2028#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2032#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:29,941 INFO L290 TraceCheckUtils]: 45: Hoare triple {2032#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1894#false} is VALID [2022-02-20 17:21:29,941 INFO L290 TraceCheckUtils]: 46: Hoare triple {1894#false} assume !false; {1894#false} is VALID [2022-02-20 17:21:29,943 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-02-20 17:21:29,943 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:21:29,943 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:29,943 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1133859129] [2022-02-20 17:21:29,943 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:29,943 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [891256900] [2022-02-20 17:21:29,943 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [891256900] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:21:29,943 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:21:29,943 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:21:29,944 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1784251094] [2022-02-20 17:21:29,944 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:29,944 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 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:21:29,944 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:29,944 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:21:29,966 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:29,967 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:21:29,967 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:29,967 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:21:29,967 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:21:29,967 INFO L87 Difference]: Start difference. First operand 64 states and 86 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:21:30,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:30,145 INFO L93 Difference]: Finished difference Result 80 states and 104 transitions. [2022-02-20 17:21:30,145 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:21:30,145 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 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:21:30,146 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:30,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:21:30,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:21:30,147 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:21:30,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:21:30,148 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 61 transitions. [2022-02-20 17:21:30,204 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:30,205 INFO L225 Difference]: With dead ends: 80 [2022-02-20 17:21:30,205 INFO L226 Difference]: Without dead ends: 78 [2022-02-20 17:21:30,205 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 42 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:21:30,206 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 6 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 31 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:30,206 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 139 Invalid, 31 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:21:30,206 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2022-02-20 17:21:30,230 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 75. [2022-02-20 17:21:30,230 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:30,231 INFO L82 GeneralOperation]: Start isEquivalent. First operand 78 states. Second operand has 75 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 8 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:21:30,231 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand has 75 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 8 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:21:30,231 INFO L87 Difference]: Start difference. First operand 78 states. Second operand has 75 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 8 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:21:30,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:30,233 INFO L93 Difference]: Finished difference Result 78 states and 102 transitions. [2022-02-20 17:21:30,233 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 102 transitions. [2022-02-20 17:21:30,234 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:30,234 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:30,234 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 8 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 78 states. [2022-02-20 17:21:30,234 INFO L87 Difference]: Start difference. First operand has 75 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 8 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 78 states. [2022-02-20 17:21:30,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:30,236 INFO L93 Difference]: Finished difference Result 78 states and 102 transitions. [2022-02-20 17:21:30,236 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 102 transitions. [2022-02-20 17:21:30,237 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:30,237 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:30,237 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:30,237 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:30,237 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 8 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:21:30,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 98 transitions. [2022-02-20 17:21:30,239 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 98 transitions. Word has length 47 [2022-02-20 17:21:30,240 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:30,240 INFO L470 AbstractCegarLoop]: Abstraction has 75 states and 98 transitions. [2022-02-20 17:21:30,240 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:21:30,240 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 98 transitions. [2022-02-20 17:21:30,240 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-02-20 17:21:30,240 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:30,241 INFO L514 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 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:30,261 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:30,457 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:30,458 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:30,458 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:30,458 INFO L85 PathProgramCache]: Analyzing trace with hash 1617953190, now seen corresponding path program 1 times [2022-02-20 17:21:30,458 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:30,458 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1095478936] [2022-02-20 17:21:30,458 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:30,459 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:30,469 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:30,469 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1122430004] [2022-02-20 17:21:30,469 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:30,469 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:30,469 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:30,470 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:30,474 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:30,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:30,506 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 17:21:30,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:30,515 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:30,672 INFO L290 TraceCheckUtils]: 0: Hoare triple {2428#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(10, 2);call #Ultimate.allocInit(12, 3); {2428#true} is VALID [2022-02-20 17:21:30,672 INFO L290 TraceCheckUtils]: 1: Hoare triple {2428#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_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, 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_~x~0#1;havoc main_~y~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; {2428#true} is VALID [2022-02-20 17:21:30,672 INFO L272 TraceCheckUtils]: 2: Hoare triple {2428#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 20 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:30,672 INFO L290 TraceCheckUtils]: 3: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:30,672 INFO L290 TraceCheckUtils]: 4: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:30,672 INFO L290 TraceCheckUtils]: 5: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:30,673 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2428#true} {2428#true} #63#return; {2428#true} is VALID [2022-02-20 17:21:30,673 INFO L290 TraceCheckUtils]: 7: Hoare triple {2428#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2428#true} is VALID [2022-02-20 17:21:30,673 INFO L272 TraceCheckUtils]: 8: Hoare triple {2428#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 20 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:30,673 INFO L290 TraceCheckUtils]: 9: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:30,673 INFO L290 TraceCheckUtils]: 10: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:30,673 INFO L290 TraceCheckUtils]: 11: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:30,673 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2428#true} {2428#true} #65#return; {2428#true} is VALID [2022-02-20 17:21:30,673 INFO L272 TraceCheckUtils]: 13: Hoare triple {2428#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:30,674 INFO L290 TraceCheckUtils]: 14: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:30,674 INFO L290 TraceCheckUtils]: 15: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:30,674 INFO L290 TraceCheckUtils]: 16: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:30,674 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2428#true} {2428#true} #67#return; {2428#true} is VALID [2022-02-20 17:21:30,674 INFO L272 TraceCheckUtils]: 18: Hoare triple {2428#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:30,674 INFO L290 TraceCheckUtils]: 19: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:30,674 INFO L290 TraceCheckUtils]: 20: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:30,674 INFO L290 TraceCheckUtils]: 21: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:30,674 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2428#true} {2428#true} #69#return; {2428#true} is VALID [2022-02-20 17:21:30,675 INFO L290 TraceCheckUtils]: 23: Hoare triple {2428#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; {2428#true} is VALID [2022-02-20 17:21:30,675 INFO L290 TraceCheckUtils]: 24: Hoare triple {2428#true} assume !false; {2428#true} is VALID [2022-02-20 17:21:30,675 INFO L272 TraceCheckUtils]: 25: Hoare triple {2428#true} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:30,675 INFO L290 TraceCheckUtils]: 26: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:30,675 INFO L290 TraceCheckUtils]: 27: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:30,675 INFO L290 TraceCheckUtils]: 28: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:30,675 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2428#true} {2428#true} #71#return; {2428#true} is VALID [2022-02-20 17:21:30,675 INFO L272 TraceCheckUtils]: 30: Hoare triple {2428#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)); {2428#true} is VALID [2022-02-20 17:21:30,679 INFO L290 TraceCheckUtils]: 31: Hoare triple {2428#true} ~cond := #in~cond; {2526#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:30,680 INFO L290 TraceCheckUtils]: 32: Hoare triple {2526#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2530#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:30,680 INFO L290 TraceCheckUtils]: 33: Hoare triple {2530#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2530#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:30,681 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2530#(not (= |__VERIFIER_assert_#in~cond| 0))} {2428#true} #73#return; {2537#(= (+ (* |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:30,681 INFO L272 TraceCheckUtils]: 35: Hoare triple {2537#(= (+ (* |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_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:30,681 INFO L290 TraceCheckUtils]: 36: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:30,681 INFO L290 TraceCheckUtils]: 37: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:30,681 INFO L290 TraceCheckUtils]: 38: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:30,682 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2428#true} {2537#(= (+ (* |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|)} #75#return; {2537#(= (+ (* |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:30,682 INFO L290 TraceCheckUtils]: 40: Hoare triple {2537#(= (+ (* |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_~a~0#1 != main_~b~0#1); {2556#(= (+ (* |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_~b~0#1|)} is VALID [2022-02-20 17:21:30,683 INFO L272 TraceCheckUtils]: 41: Hoare triple {2556#(= (+ (* |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_~b~0#1|)} call __VERIFIER_assert((if 0 == main_~a~0#1 - main_~b~0#1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:30,683 INFO L290 TraceCheckUtils]: 42: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:30,683 INFO L290 TraceCheckUtils]: 43: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:30,683 INFO L290 TraceCheckUtils]: 44: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:30,684 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2428#true} {2556#(= (+ (* |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_~b~0#1|)} #77#return; {2556#(= (+ (* |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_~b~0#1|)} is VALID [2022-02-20 17:21:30,684 INFO L272 TraceCheckUtils]: 46: Hoare triple {2556#(= (+ (* |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_~b~0#1|)} call __VERIFIER_assert((if 0 == main_~p~0#1 * main_~x~0#1 + main_~r~0#1 * main_~y~0#1 - main_~b~0#1 then 1 else 0)); {2575#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:30,685 INFO L290 TraceCheckUtils]: 47: Hoare triple {2575#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2579#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:30,685 INFO L290 TraceCheckUtils]: 48: Hoare triple {2579#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2429#false} is VALID [2022-02-20 17:21:30,685 INFO L290 TraceCheckUtils]: 49: Hoare triple {2429#false} assume !false; {2429#false} is VALID [2022-02-20 17:21:30,685 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-02-20 17:21:30,685 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:21:45,039 INFO L290 TraceCheckUtils]: 49: Hoare triple {2429#false} assume !false; {2429#false} is VALID [2022-02-20 17:21:45,039 INFO L290 TraceCheckUtils]: 48: Hoare triple {2579#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2429#false} is VALID [2022-02-20 17:21:45,040 INFO L290 TraceCheckUtils]: 47: Hoare triple {2575#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2579#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:45,040 INFO L272 TraceCheckUtils]: 46: Hoare triple {2556#(= (+ (* |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_~b~0#1|)} call __VERIFIER_assert((if 0 == main_~p~0#1 * main_~x~0#1 + main_~r~0#1 * main_~y~0#1 - main_~b~0#1 then 1 else 0)); {2575#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:45,041 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2428#true} {2556#(= (+ (* |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_~b~0#1|)} #77#return; {2556#(= (+ (* |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_~b~0#1|)} is VALID [2022-02-20 17:21:45,041 INFO L290 TraceCheckUtils]: 44: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:45,041 INFO L290 TraceCheckUtils]: 43: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:45,041 INFO L290 TraceCheckUtils]: 42: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:45,041 INFO L272 TraceCheckUtils]: 41: Hoare triple {2556#(= (+ (* |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_~b~0#1|)} call __VERIFIER_assert((if 0 == main_~a~0#1 - main_~b~0#1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:45,042 INFO L290 TraceCheckUtils]: 40: Hoare triple {2537#(= (+ (* |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_~a~0#1 != main_~b~0#1); {2556#(= (+ (* |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_~b~0#1|)} is VALID [2022-02-20 17:21:45,043 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2428#true} {2537#(= (+ (* |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|)} #75#return; {2537#(= (+ (* |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:45,043 INFO L290 TraceCheckUtils]: 38: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:45,043 INFO L290 TraceCheckUtils]: 37: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:45,043 INFO L290 TraceCheckUtils]: 36: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:45,043 INFO L272 TraceCheckUtils]: 35: Hoare triple {2537#(= (+ (* |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_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:45,044 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2530#(not (= |__VERIFIER_assert_#in~cond| 0))} {2428#true} #73#return; {2537#(= (+ (* |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:45,044 INFO L290 TraceCheckUtils]: 33: Hoare triple {2530#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2530#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:45,044 INFO L290 TraceCheckUtils]: 32: Hoare triple {2640#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2530#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:45,045 INFO L290 TraceCheckUtils]: 31: Hoare triple {2428#true} ~cond := #in~cond; {2640#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:21:45,045 INFO L272 TraceCheckUtils]: 30: Hoare triple {2428#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)); {2428#true} is VALID [2022-02-20 17:21:45,045 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2428#true} {2428#true} #71#return; {2428#true} is VALID [2022-02-20 17:21:45,045 INFO L290 TraceCheckUtils]: 28: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:45,045 INFO L290 TraceCheckUtils]: 27: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:45,045 INFO L290 TraceCheckUtils]: 26: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:45,045 INFO L272 TraceCheckUtils]: 25: Hoare triple {2428#true} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:45,045 INFO L290 TraceCheckUtils]: 24: Hoare triple {2428#true} assume !false; {2428#true} is VALID [2022-02-20 17:21:45,045 INFO L290 TraceCheckUtils]: 23: Hoare triple {2428#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; {2428#true} is VALID [2022-02-20 17:21:45,045 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2428#true} {2428#true} #69#return; {2428#true} is VALID [2022-02-20 17:21:45,045 INFO L290 TraceCheckUtils]: 21: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:45,045 INFO L290 TraceCheckUtils]: 20: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:45,045 INFO L290 TraceCheckUtils]: 19: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:45,045 INFO L272 TraceCheckUtils]: 18: Hoare triple {2428#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:45,045 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2428#true} {2428#true} #67#return; {2428#true} is VALID [2022-02-20 17:21:45,046 INFO L290 TraceCheckUtils]: 16: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:45,046 INFO L290 TraceCheckUtils]: 15: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:45,046 INFO L290 TraceCheckUtils]: 14: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:45,046 INFO L272 TraceCheckUtils]: 13: Hoare triple {2428#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:45,046 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2428#true} {2428#true} #65#return; {2428#true} is VALID [2022-02-20 17:21:45,046 INFO L290 TraceCheckUtils]: 11: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:45,046 INFO L290 TraceCheckUtils]: 10: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:45,046 INFO L290 TraceCheckUtils]: 9: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:45,046 INFO L272 TraceCheckUtils]: 8: Hoare triple {2428#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 20 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:45,046 INFO L290 TraceCheckUtils]: 7: Hoare triple {2428#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2428#true} is VALID [2022-02-20 17:21:45,046 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2428#true} {2428#true} #63#return; {2428#true} is VALID [2022-02-20 17:21:45,046 INFO L290 TraceCheckUtils]: 5: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:45,047 INFO L290 TraceCheckUtils]: 4: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:45,047 INFO L290 TraceCheckUtils]: 3: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:45,047 INFO L272 TraceCheckUtils]: 2: Hoare triple {2428#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 20 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:45,047 INFO L290 TraceCheckUtils]: 1: Hoare triple {2428#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_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, 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_~x~0#1;havoc main_~y~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; {2428#true} is VALID [2022-02-20 17:21:45,047 INFO L290 TraceCheckUtils]: 0: Hoare triple {2428#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(10, 2);call #Ultimate.allocInit(12, 3); {2428#true} is VALID [2022-02-20 17:21:45,047 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-02-20 17:21:45,047 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:45,048 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1095478936] [2022-02-20 17:21:45,048 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:45,048 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1122430004] [2022-02-20 17:21:45,048 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1122430004] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:21:45,048 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:21:45,048 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-02-20 17:21:45,048 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [438087060] [2022-02-20 17:21:45,048 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:21:45,049 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 50 [2022-02-20 17:21:45,049 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:45,049 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:21:45,074 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:45,074 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 17:21:45,074 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:45,075 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 17:21:45,075 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:21:45,075 INFO L87 Difference]: Start difference. First operand 75 states and 98 transitions. Second operand has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:21:45,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:45,407 INFO L93 Difference]: Finished difference Result 84 states and 108 transitions. [2022-02-20 17:21:45,407 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 17:21:45,407 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 50 [2022-02-20 17:21:45,407 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:45,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:21:45,408 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-02-20 17:21:45,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:21:45,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-02-20 17:21:45,409 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-02-20 17:21:45,446 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:45,448 INFO L225 Difference]: With dead ends: 84 [2022-02-20 17:21:45,448 INFO L226 Difference]: Without dead ends: 80 [2022-02-20 17:21:45,448 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-02-20 17:21:45,449 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 13 mSDsluCounter, 124 mSDsCounter, 0 mSdLazyCounter, 112 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 122 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 112 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:45,449 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 151 Invalid, 122 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 112 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:21:45,449 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-02-20 17:21:45,469 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 80. [2022-02-20 17:21:45,469 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:45,470 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand has 80 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 9 states have call predecessors, (25), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-02-20 17:21:45,470 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand has 80 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 9 states have call predecessors, (25), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-02-20 17:21:45,470 INFO L87 Difference]: Start difference. First operand 80 states. Second operand has 80 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 9 states have call predecessors, (25), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-02-20 17:21:45,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:45,472 INFO L93 Difference]: Finished difference Result 80 states and 101 transitions. [2022-02-20 17:21:45,472 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 101 transitions. [2022-02-20 17:21:45,473 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:45,473 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:45,473 INFO L74 IsIncluded]: Start isIncluded. First operand has 80 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 9 states have call predecessors, (25), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 80 states. [2022-02-20 17:21:45,473 INFO L87 Difference]: Start difference. First operand has 80 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 9 states have call predecessors, (25), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 80 states. [2022-02-20 17:21:45,476 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:45,476 INFO L93 Difference]: Finished difference Result 80 states and 101 transitions. [2022-02-20 17:21:45,476 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 101 transitions. [2022-02-20 17:21:45,476 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:45,476 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:45,476 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:45,476 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:45,477 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 80 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 9 states have call predecessors, (25), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-02-20 17:21:45,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 101 transitions. [2022-02-20 17:21:45,479 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 101 transitions. Word has length 50 [2022-02-20 17:21:45,479 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:45,479 INFO L470 AbstractCegarLoop]: Abstraction has 80 states and 101 transitions. [2022-02-20 17:21:45,479 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:21:45,479 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 101 transitions. [2022-02-20 17:21:45,480 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-02-20 17:21:45,480 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:45,480 INFO L514 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:45,514 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-02-20 17:21:45,696 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:45,696 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:45,696 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:45,696 INFO L85 PathProgramCache]: Analyzing trace with hash 860577929, now seen corresponding path program 1 times [2022-02-20 17:21:45,697 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:45,697 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [227141262] [2022-02-20 17:21:45,697 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:45,697 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:45,707 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:45,707 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [375712855] [2022-02-20 17:21:45,707 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:45,707 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:45,707 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:45,713 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:45,713 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:45,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:45,746 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 28 conjunts are in the unsatisfiable core [2022-02-20 17:21:45,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:45,760 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:46,068 INFO L290 TraceCheckUtils]: 0: Hoare triple {3143#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(10, 2);call #Ultimate.allocInit(12, 3); {3143#true} is VALID [2022-02-20 17:21:46,069 INFO L290 TraceCheckUtils]: 1: Hoare triple {3143#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_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, 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_~x~0#1;havoc main_~y~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; {3143#true} is VALID [2022-02-20 17:21:46,069 INFO L272 TraceCheckUtils]: 2: Hoare triple {3143#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 20 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:46,069 INFO L290 TraceCheckUtils]: 3: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:46,069 INFO L290 TraceCheckUtils]: 4: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:46,069 INFO L290 TraceCheckUtils]: 5: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:46,069 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3143#true} {3143#true} #63#return; {3143#true} is VALID [2022-02-20 17:21:46,069 INFO L290 TraceCheckUtils]: 7: Hoare triple {3143#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {3143#true} is VALID [2022-02-20 17:21:46,069 INFO L272 TraceCheckUtils]: 8: Hoare triple {3143#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 20 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:46,070 INFO L290 TraceCheckUtils]: 9: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:46,070 INFO L290 TraceCheckUtils]: 10: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:46,070 INFO L290 TraceCheckUtils]: 11: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:46,070 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3143#true} {3143#true} #65#return; {3143#true} is VALID [2022-02-20 17:21:46,070 INFO L272 TraceCheckUtils]: 13: Hoare triple {3143#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:46,070 INFO L290 TraceCheckUtils]: 14: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:46,070 INFO L290 TraceCheckUtils]: 15: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:46,070 INFO L290 TraceCheckUtils]: 16: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:46,071 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3143#true} {3143#true} #67#return; {3143#true} is VALID [2022-02-20 17:21:46,071 INFO L272 TraceCheckUtils]: 18: Hoare triple {3143#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:46,071 INFO L290 TraceCheckUtils]: 19: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:46,071 INFO L290 TraceCheckUtils]: 20: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:46,071 INFO L290 TraceCheckUtils]: 21: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:46,071 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3143#true} {3143#true} #69#return; {3143#true} is VALID [2022-02-20 17:21:46,072 INFO L290 TraceCheckUtils]: 23: Hoare triple {3143#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; {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |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:21:46,072 INFO L290 TraceCheckUtils]: 24: Hoare triple {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |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 !false; {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |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:21:46,072 INFO L272 TraceCheckUtils]: 25: Hoare triple {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |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 __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:46,072 INFO L290 TraceCheckUtils]: 26: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:46,072 INFO L290 TraceCheckUtils]: 27: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:46,072 INFO L290 TraceCheckUtils]: 28: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:46,073 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3143#true} {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |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))} #71#return; {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |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:21:46,073 INFO L272 TraceCheckUtils]: 30: Hoare triple {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |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 __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)); {3143#true} is VALID [2022-02-20 17:21:46,074 INFO L290 TraceCheckUtils]: 31: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:46,074 INFO L290 TraceCheckUtils]: 32: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:46,074 INFO L290 TraceCheckUtils]: 33: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:46,076 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3143#true} {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |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))} #73#return; {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |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:21:46,076 INFO L272 TraceCheckUtils]: 35: Hoare triple {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |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 __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)); {3143#true} is VALID [2022-02-20 17:21:46,076 INFO L290 TraceCheckUtils]: 36: Hoare triple {3143#true} ~cond := #in~cond; {3257#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:46,077 INFO L290 TraceCheckUtils]: 37: Hoare triple {3257#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3261#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:46,077 INFO L290 TraceCheckUtils]: 38: Hoare triple {3261#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3261#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:46,078 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3261#(not (= |__VERIFIER_assert_#in~cond| 0))} {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |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))} #75#return; {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |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:21:46,079 INFO L290 TraceCheckUtils]: 40: Hoare triple {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |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_~a~0#1 != main_~b~0#1); {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |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:21:46,080 INFO L290 TraceCheckUtils]: 41: Hoare triple {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |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_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {3274#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:46,081 INFO L290 TraceCheckUtils]: 42: Hoare triple {3274#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1))} assume !false; {3274#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:46,081 INFO L272 TraceCheckUtils]: 43: Hoare triple {3274#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:46,081 INFO L290 TraceCheckUtils]: 44: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:46,081 INFO L290 TraceCheckUtils]: 45: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:46,089 INFO L290 TraceCheckUtils]: 46: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:46,090 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3143#true} {3274#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1))} #71#return; {3274#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:46,091 INFO L272 TraceCheckUtils]: 48: Hoare triple {3274#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 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)); {3296#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:46,092 INFO L290 TraceCheckUtils]: 49: Hoare triple {3296#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3300#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:46,092 INFO L290 TraceCheckUtils]: 50: Hoare triple {3300#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3144#false} is VALID [2022-02-20 17:21:46,092 INFO L290 TraceCheckUtils]: 51: Hoare triple {3144#false} assume !false; {3144#false} is VALID [2022-02-20 17:21:46,093 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 13 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-02-20 17:21:46,093 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:22:00,539 INFO L290 TraceCheckUtils]: 51: Hoare triple {3144#false} assume !false; {3144#false} is VALID [2022-02-20 17:22:00,539 INFO L290 TraceCheckUtils]: 50: Hoare triple {3300#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3144#false} is VALID [2022-02-20 17:22:00,540 INFO L290 TraceCheckUtils]: 49: Hoare triple {3296#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3300#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:22:00,540 INFO L272 TraceCheckUtils]: 48: Hoare triple {3316#(= (+ (* |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)); {3296#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:22:00,541 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3143#true} {3316#(= (+ (* |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|)} #71#return; {3316#(= (+ (* |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:00,541 INFO L290 TraceCheckUtils]: 46: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:22:00,541 INFO L290 TraceCheckUtils]: 45: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:22:00,541 INFO L290 TraceCheckUtils]: 44: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:22:00,541 INFO L272 TraceCheckUtils]: 43: Hoare triple {3316#(= (+ (* |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 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:22:00,542 INFO L290 TraceCheckUtils]: 42: Hoare triple {3316#(= (+ (* |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 !false; {3316#(= (+ (* |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:00,620 INFO L290 TraceCheckUtils]: 41: Hoare triple {3338#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {3316#(= (+ (* |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:00,621 INFO L290 TraceCheckUtils]: 40: Hoare triple {3338#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} assume !!(main_~a~0#1 != main_~b~0#1); {3338#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} is VALID [2022-02-20 17:22:00,622 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3261#(not (= |__VERIFIER_assert_#in~cond| 0))} {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |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|)))} #75#return; {3338#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} is VALID [2022-02-20 17:22:00,622 INFO L290 TraceCheckUtils]: 38: Hoare triple {3261#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3261#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:22:00,622 INFO L290 TraceCheckUtils]: 37: Hoare triple {3355#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3261#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:22:00,623 INFO L290 TraceCheckUtils]: 36: Hoare triple {3143#true} ~cond := #in~cond; {3355#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:22:00,623 INFO L272 TraceCheckUtils]: 35: Hoare triple {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |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)); {3143#true} is VALID [2022-02-20 17:22:00,626 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3143#true} {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |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|)))} #73#return; {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |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:00,626 INFO L290 TraceCheckUtils]: 33: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:22:00,626 INFO L290 TraceCheckUtils]: 32: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:22:00,626 INFO L290 TraceCheckUtils]: 31: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:22:00,626 INFO L272 TraceCheckUtils]: 30: Hoare triple {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |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)); {3143#true} is VALID [2022-02-20 17:22:00,627 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3143#true} {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |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|)))} #71#return; {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |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:00,627 INFO L290 TraceCheckUtils]: 28: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:22:00,627 INFO L290 TraceCheckUtils]: 27: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:22:00,627 INFO L290 TraceCheckUtils]: 26: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:22:00,627 INFO L272 TraceCheckUtils]: 25: Hoare triple {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |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 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:22:00,627 INFO L290 TraceCheckUtils]: 24: Hoare triple {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |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 !false; {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |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:00,628 INFO L290 TraceCheckUtils]: 23: Hoare triple {3143#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; {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |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:00,628 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3143#true} {3143#true} #69#return; {3143#true} is VALID [2022-02-20 17:22:00,628 INFO L290 TraceCheckUtils]: 21: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:22:00,628 INFO L290 TraceCheckUtils]: 20: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:22:00,628 INFO L290 TraceCheckUtils]: 19: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:22:00,628 INFO L272 TraceCheckUtils]: 18: Hoare triple {3143#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:22:00,628 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3143#true} {3143#true} #67#return; {3143#true} is VALID [2022-02-20 17:22:00,628 INFO L290 TraceCheckUtils]: 16: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:22:00,628 INFO L290 TraceCheckUtils]: 15: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:22:00,628 INFO L290 TraceCheckUtils]: 14: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:22:00,628 INFO L272 TraceCheckUtils]: 13: Hoare triple {3143#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:22:00,628 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3143#true} {3143#true} #65#return; {3143#true} is VALID [2022-02-20 17:22:00,628 INFO L290 TraceCheckUtils]: 11: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:22:00,628 INFO L290 TraceCheckUtils]: 10: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:22:00,629 INFO L290 TraceCheckUtils]: 9: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:22:00,629 INFO L272 TraceCheckUtils]: 8: Hoare triple {3143#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 20 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:22:00,629 INFO L290 TraceCheckUtils]: 7: Hoare triple {3143#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {3143#true} is VALID [2022-02-20 17:22:00,629 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3143#true} {3143#true} #63#return; {3143#true} is VALID [2022-02-20 17:22:00,629 INFO L290 TraceCheckUtils]: 5: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:22:00,629 INFO L290 TraceCheckUtils]: 4: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:22:00,629 INFO L290 TraceCheckUtils]: 3: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:22:00,629 INFO L272 TraceCheckUtils]: 2: Hoare triple {3143#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 20 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:22:00,629 INFO L290 TraceCheckUtils]: 1: Hoare triple {3143#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_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, 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_~x~0#1;havoc main_~y~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; {3143#true} is VALID [2022-02-20 17:22:00,629 INFO L290 TraceCheckUtils]: 0: Hoare triple {3143#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(10, 2);call #Ultimate.allocInit(12, 3); {3143#true} is VALID [2022-02-20 17:22:00,629 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-02-20 17:22:00,629 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:22:00,629 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [227141262] [2022-02-20 17:22:00,629 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:22:00,629 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [375712855] [2022-02-20 17:22:00,629 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [375712855] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:22:00,630 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:22:00,630 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 12 [2022-02-20 17:22:00,630 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1443498525] [2022-02-20 17:22:00,630 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:22:00,630 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) Word has length 52 [2022-02-20 17:22:00,630 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:22:00,631 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-02-20 17:22:00,725 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:00,725 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 17:22:00,725 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:22:00,725 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 17:22:00,725 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2022-02-20 17:22:00,726 INFO L87 Difference]: Start difference. First operand 80 states and 101 transitions. Second operand has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-02-20 17:22:06,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:06,285 INFO L93 Difference]: Finished difference Result 106 states and 137 transitions. [2022-02-20 17:22:06,285 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 17:22:06,286 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) Word has length 52 [2022-02-20 17:22:06,286 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:22:06,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-02-20 17:22:06,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 71 transitions. [2022-02-20 17:22:06,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-02-20 17:22:06,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 71 transitions. [2022-02-20 17:22:06,288 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 71 transitions. [2022-02-20 17:22:06,543 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:06,544 INFO L225 Difference]: With dead ends: 106 [2022-02-20 17:22:06,544 INFO L226 Difference]: Without dead ends: 99 [2022-02-20 17:22:06,545 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 90 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=58, Invalid=182, Unknown=0, NotChecked=0, Total=240 [2022-02-20 17:22:06,545 INFO L933 BasicCegarLoop]: 30 mSDtfsCounter, 28 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 68 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 131 SdHoareTripleChecker+Invalid, 200 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 68 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-02-20 17:22:06,545 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 131 Invalid, 200 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [68 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-02-20 17:22:06,545 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-02-20 17:22:06,567 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 84. [2022-02-20 17:22:06,567 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:22:06,568 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand has 84 states, 51 states have (on average 1.1176470588235294) internal successors, (57), 53 states have internal predecessors, (57), 21 states have call successors, (21), 11 states have call predecessors, (21), 11 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:22:06,568 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand has 84 states, 51 states have (on average 1.1176470588235294) internal successors, (57), 53 states have internal predecessors, (57), 21 states have call successors, (21), 11 states have call predecessors, (21), 11 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:22:06,568 INFO L87 Difference]: Start difference. First operand 99 states. Second operand has 84 states, 51 states have (on average 1.1176470588235294) internal successors, (57), 53 states have internal predecessors, (57), 21 states have call successors, (21), 11 states have call predecessors, (21), 11 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:22:06,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:06,571 INFO L93 Difference]: Finished difference Result 99 states and 124 transitions. [2022-02-20 17:22:06,571 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 124 transitions. [2022-02-20 17:22:06,571 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:06,571 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:06,572 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 51 states have (on average 1.1176470588235294) internal successors, (57), 53 states have internal predecessors, (57), 21 states have call successors, (21), 11 states have call predecessors, (21), 11 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) Second operand 99 states. [2022-02-20 17:22:06,572 INFO L87 Difference]: Start difference. First operand has 84 states, 51 states have (on average 1.1176470588235294) internal successors, (57), 53 states have internal predecessors, (57), 21 states have call successors, (21), 11 states have call predecessors, (21), 11 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) Second operand 99 states. [2022-02-20 17:22:06,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:06,574 INFO L93 Difference]: Finished difference Result 99 states and 124 transitions. [2022-02-20 17:22:06,575 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 124 transitions. [2022-02-20 17:22:06,575 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:06,575 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:06,575 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:22:06,575 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:22:06,576 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 51 states have (on average 1.1176470588235294) internal successors, (57), 53 states have internal predecessors, (57), 21 states have call successors, (21), 11 states have call predecessors, (21), 11 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:22:06,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 98 transitions. [2022-02-20 17:22:06,578 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 98 transitions. Word has length 52 [2022-02-20 17:22:06,578 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:22:06,578 INFO L470 AbstractCegarLoop]: Abstraction has 84 states and 98 transitions. [2022-02-20 17:22:06,578 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-02-20 17:22:06,578 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 98 transitions. [2022-02-20 17:22:06,579 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-02-20 17:22:06,579 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:22:06,579 INFO L514 BasicCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:22:06,598 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:06,795 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:06,797 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:22:06,797 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:22:06,797 INFO L85 PathProgramCache]: Analyzing trace with hash 1236716699, now seen corresponding path program 1 times [2022-02-20 17:22:06,797 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:22:06,798 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [81002032] [2022-02-20 17:22:06,798 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:06,798 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:22:06,819 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:22:06,819 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1173249044] [2022-02-20 17:22:06,819 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:06,819 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:22:06,819 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:22:06,840 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:06,840 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:06,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:06,884 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 19 conjunts are in the unsatisfiable core [2022-02-20 17:22:06,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:06,894 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:22:07,237 INFO L290 TraceCheckUtils]: 0: Hoare triple {3949#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(10, 2);call #Ultimate.allocInit(12, 3); {3949#true} is VALID [2022-02-20 17:22:07,237 INFO L290 TraceCheckUtils]: 1: Hoare triple {3949#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_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, 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_~x~0#1;havoc main_~y~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; {3949#true} is VALID [2022-02-20 17:22:07,237 INFO L272 TraceCheckUtils]: 2: Hoare triple {3949#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 20 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:07,237 INFO L290 TraceCheckUtils]: 3: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,237 INFO L290 TraceCheckUtils]: 4: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,237 INFO L290 TraceCheckUtils]: 5: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,238 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3949#true} {3949#true} #63#return; {3949#true} is VALID [2022-02-20 17:22:07,238 INFO L290 TraceCheckUtils]: 7: Hoare triple {3949#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {3949#true} is VALID [2022-02-20 17:22:07,238 INFO L272 TraceCheckUtils]: 8: Hoare triple {3949#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 20 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:07,238 INFO L290 TraceCheckUtils]: 9: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,238 INFO L290 TraceCheckUtils]: 10: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,238 INFO L290 TraceCheckUtils]: 11: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,238 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3949#true} {3949#true} #65#return; {3949#true} is VALID [2022-02-20 17:22:07,238 INFO L272 TraceCheckUtils]: 13: Hoare triple {3949#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:07,238 INFO L290 TraceCheckUtils]: 14: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,238 INFO L290 TraceCheckUtils]: 15: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,239 INFO L290 TraceCheckUtils]: 16: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,239 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3949#true} {3949#true} #67#return; {3949#true} is VALID [2022-02-20 17:22:07,239 INFO L272 TraceCheckUtils]: 18: Hoare triple {3949#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:07,239 INFO L290 TraceCheckUtils]: 19: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,239 INFO L290 TraceCheckUtils]: 20: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,239 INFO L290 TraceCheckUtils]: 21: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,239 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3949#true} {3949#true} #69#return; {3949#true} is VALID [2022-02-20 17:22:07,240 INFO L290 TraceCheckUtils]: 23: Hoare triple {3949#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; {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,240 INFO L290 TraceCheckUtils]: 24: Hoare triple {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,240 INFO L272 TraceCheckUtils]: 25: Hoare triple {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:07,240 INFO L290 TraceCheckUtils]: 26: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,240 INFO L290 TraceCheckUtils]: 27: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,240 INFO L290 TraceCheckUtils]: 28: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,241 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3949#true} {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #71#return; {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,241 INFO L272 TraceCheckUtils]: 30: Hoare triple {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |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)); {3949#true} is VALID [2022-02-20 17:22:07,241 INFO L290 TraceCheckUtils]: 31: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,241 INFO L290 TraceCheckUtils]: 32: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,241 INFO L290 TraceCheckUtils]: 33: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,242 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3949#true} {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #73#return; {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,242 INFO L272 TraceCheckUtils]: 35: Hoare triple {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |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)); {3949#true} is VALID [2022-02-20 17:22:07,242 INFO L290 TraceCheckUtils]: 36: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,242 INFO L290 TraceCheckUtils]: 37: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,243 INFO L290 TraceCheckUtils]: 38: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,243 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3949#true} {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #75#return; {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,244 INFO L290 TraceCheckUtils]: 40: Hoare triple {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_~a~0#1 != main_~b~0#1); {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,244 INFO L290 TraceCheckUtils]: 41: Hoare triple {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,245 INFO L290 TraceCheckUtils]: 42: Hoare triple {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,245 INFO L272 TraceCheckUtils]: 43: Hoare triple {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:07,245 INFO L290 TraceCheckUtils]: 44: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,245 INFO L290 TraceCheckUtils]: 45: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,245 INFO L290 TraceCheckUtils]: 46: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,246 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3949#true} {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #71#return; {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,246 INFO L272 TraceCheckUtils]: 48: Hoare triple {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |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)); {3949#true} is VALID [2022-02-20 17:22:07,246 INFO L290 TraceCheckUtils]: 49: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,246 INFO L290 TraceCheckUtils]: 50: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,246 INFO L290 TraceCheckUtils]: 51: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,247 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {3949#true} {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #73#return; {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,247 INFO L272 TraceCheckUtils]: 53: Hoare triple {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |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)); {3949#true} is VALID [2022-02-20 17:22:07,247 INFO L290 TraceCheckUtils]: 54: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,247 INFO L290 TraceCheckUtils]: 55: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,248 INFO L290 TraceCheckUtils]: 56: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,250 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {3949#true} {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #75#return; {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,251 INFO L290 TraceCheckUtils]: 58: Hoare triple {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_~a~0#1 != main_~b~0#1); {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:07,252 INFO L290 TraceCheckUtils]: 59: Hoare triple {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !(main_~a~0#1 > main_~b~0#1);main_~b~0#1 := main_~b~0#1 - main_~a~0#1;main_~q~0#1 := main_~q~0#1 - main_~p~0#1;main_~s~0#1 := main_~s~0#1 - main_~r~0#1; {4133#(and (= (+ |ULTIMATE.start_main_~r~0#1| 1) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= |ULTIMATE.start_main_~s~0#1| (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1)) (= |ULTIMATE.start_main_~q~0#1| (+ (* (- 2) |ULTIMATE.start_main_~p~0#1|) 1)))} is VALID [2022-02-20 17:22:07,252 INFO L290 TraceCheckUtils]: 60: Hoare triple {4133#(and (= (+ |ULTIMATE.start_main_~r~0#1| 1) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= |ULTIMATE.start_main_~s~0#1| (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1)) (= |ULTIMATE.start_main_~q~0#1| (+ (* (- 2) |ULTIMATE.start_main_~p~0#1|) 1)))} assume !false; {4133#(and (= (+ |ULTIMATE.start_main_~r~0#1| 1) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= |ULTIMATE.start_main_~s~0#1| (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1)) (= |ULTIMATE.start_main_~q~0#1| (+ (* (- 2) |ULTIMATE.start_main_~p~0#1|) 1)))} is VALID [2022-02-20 17:22:07,254 INFO L272 TraceCheckUtils]: 61: Hoare triple {4133#(and (= (+ |ULTIMATE.start_main_~r~0#1| 1) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= |ULTIMATE.start_main_~s~0#1| (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1)) (= |ULTIMATE.start_main_~q~0#1| (+ (* (- 2) |ULTIMATE.start_main_~p~0#1|) 1)))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {4140#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:22:07,255 INFO L290 TraceCheckUtils]: 62: Hoare triple {4140#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4144#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:22:07,255 INFO L290 TraceCheckUtils]: 63: Hoare triple {4144#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3950#false} is VALID [2022-02-20 17:22:07,255 INFO L290 TraceCheckUtils]: 64: Hoare triple {3950#false} assume !false; {3950#false} is VALID [2022-02-20 17:22:07,255 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 10 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-02-20 17:22:07,255 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:22:07,473 INFO L290 TraceCheckUtils]: 64: Hoare triple {3950#false} assume !false; {3950#false} is VALID [2022-02-20 17:22:07,474 INFO L290 TraceCheckUtils]: 63: Hoare triple {4144#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3950#false} is VALID [2022-02-20 17:22:07,474 INFO L290 TraceCheckUtils]: 62: Hoare triple {4140#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4144#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:22:07,475 INFO L272 TraceCheckUtils]: 61: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {4140#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:22:07,475 INFO L290 TraceCheckUtils]: 60: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume !false; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:07,477 INFO L290 TraceCheckUtils]: 59: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume !(main_~a~0#1 > main_~b~0#1);main_~b~0#1 := main_~b~0#1 - main_~a~0#1;main_~q~0#1 := main_~q~0#1 - main_~p~0#1;main_~s~0#1 := main_~s~0#1 - main_~r~0#1; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:07,477 INFO L290 TraceCheckUtils]: 58: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume !!(main_~a~0#1 != main_~b~0#1); {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:07,478 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {3949#true} {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} #75#return; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:07,478 INFO L290 TraceCheckUtils]: 56: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,478 INFO L290 TraceCheckUtils]: 55: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,478 INFO L290 TraceCheckUtils]: 54: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,478 INFO L272 TraceCheckUtils]: 53: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~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)); {3949#true} is VALID [2022-02-20 17:22:07,479 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {3949#true} {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} #73#return; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:07,479 INFO L290 TraceCheckUtils]: 51: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,479 INFO L290 TraceCheckUtils]: 50: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,479 INFO L290 TraceCheckUtils]: 49: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,479 INFO L272 TraceCheckUtils]: 48: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~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)); {3949#true} is VALID [2022-02-20 17:22:07,480 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3949#true} {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} #71#return; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:07,480 INFO L290 TraceCheckUtils]: 46: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,480 INFO L290 TraceCheckUtils]: 45: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,480 INFO L290 TraceCheckUtils]: 44: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,480 INFO L272 TraceCheckUtils]: 43: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:07,480 INFO L290 TraceCheckUtils]: 42: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume !false; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:07,482 INFO L290 TraceCheckUtils]: 41: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:07,482 INFO L290 TraceCheckUtils]: 40: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume !!(main_~a~0#1 != main_~b~0#1); {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:07,483 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3949#true} {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} #75#return; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:07,483 INFO L290 TraceCheckUtils]: 38: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,483 INFO L290 TraceCheckUtils]: 37: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,483 INFO L290 TraceCheckUtils]: 36: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,483 INFO L272 TraceCheckUtils]: 35: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~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)); {3949#true} is VALID [2022-02-20 17:22:07,484 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3949#true} {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} #73#return; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:07,484 INFO L290 TraceCheckUtils]: 33: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,484 INFO L290 TraceCheckUtils]: 32: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,484 INFO L290 TraceCheckUtils]: 31: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,484 INFO L272 TraceCheckUtils]: 30: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~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)); {3949#true} is VALID [2022-02-20 17:22:07,485 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3949#true} {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} #71#return; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:07,485 INFO L290 TraceCheckUtils]: 28: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,485 INFO L290 TraceCheckUtils]: 27: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,485 INFO L290 TraceCheckUtils]: 26: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,485 INFO L272 TraceCheckUtils]: 25: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:07,485 INFO L290 TraceCheckUtils]: 24: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume !false; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:07,485 INFO L290 TraceCheckUtils]: 23: Hoare triple {3949#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; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:07,486 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3949#true} {3949#true} #69#return; {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L290 TraceCheckUtils]: 21: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L290 TraceCheckUtils]: 20: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L290 TraceCheckUtils]: 19: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L272 TraceCheckUtils]: 18: Hoare triple {3949#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3949#true} {3949#true} #67#return; {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L290 TraceCheckUtils]: 16: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L290 TraceCheckUtils]: 15: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L290 TraceCheckUtils]: 14: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L272 TraceCheckUtils]: 13: Hoare triple {3949#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3949#true} {3949#true} #65#return; {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L290 TraceCheckUtils]: 11: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L290 TraceCheckUtils]: 10: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L290 TraceCheckUtils]: 9: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L272 TraceCheckUtils]: 8: Hoare triple {3949#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 20 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L290 TraceCheckUtils]: 7: Hoare triple {3949#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3949#true} {3949#true} #63#return; {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L290 TraceCheckUtils]: 5: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L290 TraceCheckUtils]: 4: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L290 TraceCheckUtils]: 3: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L272 TraceCheckUtils]: 2: Hoare triple {3949#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 20 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:07,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {3949#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_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, 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_~x~0#1;havoc main_~y~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; {3949#true} is VALID [2022-02-20 17:22:07,487 INFO L290 TraceCheckUtils]: 0: Hoare triple {3949#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(10, 2);call #Ultimate.allocInit(12, 3); {3949#true} is VALID [2022-02-20 17:22:07,487 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 94 trivial. 0 not checked. [2022-02-20 17:22:07,487 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:22:07,487 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [81002032] [2022-02-20 17:22:07,487 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:22:07,487 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1173249044] [2022-02-20 17:22:07,487 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1173249044] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:22:07,487 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:22:07,487 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-02-20 17:22:07,487 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [66703351] [2022-02-20 17:22:07,488 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:22:07,488 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 65 [2022-02-20 17:22:07,488 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:22:07,488 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:22:07,514 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:07,514 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:22:07,514 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:22:07,514 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:22:07,514 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-02-20 17:22:07,514 INFO L87 Difference]: Start difference. First operand 84 states and 98 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:22:07,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:07,632 INFO L93 Difference]: Finished difference Result 84 states and 98 transitions. [2022-02-20 17:22:07,632 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:22:07,632 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 65 [2022-02-20 17:22:07,633 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:22:07,633 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:22:07,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 39 transitions. [2022-02-20 17:22:07,633 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:22:07,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 39 transitions. [2022-02-20 17:22:07,634 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 39 transitions. [2022-02-20 17:22:07,664 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:07,665 INFO L225 Difference]: With dead ends: 84 [2022-02-20 17:22:07,665 INFO L226 Difference]: Without dead ends: 0 [2022-02-20 17:22:07,665 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 119 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:22:07,666 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 6 mSDsluCounter, 73 mSDsCounter, 0 mSdLazyCounter, 21 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 21 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:22:07,666 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 102 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 21 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:22:07,666 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-02-20 17:22:07,666 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-02-20 17:22:07,666 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:22:07,666 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:22:07,666 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:22:07,666 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:22:07,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:07,666 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-02-20 17:22:07,667 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 17:22:07,667 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:07,667 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:07,667 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-02-20 17:22:07,667 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-02-20 17:22:07,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:07,667 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-02-20 17:22:07,667 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 17:22:07,667 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:07,667 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:07,667 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:22:07,667 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:22:07,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:22:07,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-02-20 17:22:07,667 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 65 [2022-02-20 17:22:07,667 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:22:07,667 INFO L470 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-02-20 17:22:07,668 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:22:07,668 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 17:22:07,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:07,669 INFO L764 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-02-20 17:22:07,707 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-02-20 17:22:07,870 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:07,872 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions.