./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/nla-digbench-scaling/egcd2-ll_valuebound2.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/nla-digbench-scaling/egcd2-ll_valuebound2.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 ebdf8b0d6633d593d56778eaf5218135ab2be92cae14e75cdda2462494f96410 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:22:13,895 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:22:13,896 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:22:13,923 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:22:13,923 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:22:13,924 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:22:13,925 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:22:13,927 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:22:13,928 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:22:13,929 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:22:13,929 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:22:13,930 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:22:13,930 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:22:13,931 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:22:13,932 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:22:13,933 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:22:13,934 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:22:13,934 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:22:13,939 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:22:13,940 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:22:13,941 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:22:13,942 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:22:13,947 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:22:13,947 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:22:13,949 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:22:13,949 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:22:13,949 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:22:13,950 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:22:13,950 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:22:13,951 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:22:13,951 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:22:13,951 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:22:13,952 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:22:13,952 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:22:13,953 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:22:13,953 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:22:13,953 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:22:13,954 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:22:13,954 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:22:13,954 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:22:13,955 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:22:13,960 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:22:13,987 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:22:13,989 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:22:13,989 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:22:13,990 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:22:13,990 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:22:13,990 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:22:13,991 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:22:13,991 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:22:13,991 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:22:13,991 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:22:13,992 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:22:13,992 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 17:22:13,992 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:22:13,993 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:22:13,993 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:22:13,993 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:22:13,993 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:22:13,993 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:22:13,993 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:22:13,994 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:22:13,994 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:22:13,994 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:22:13,994 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:22:13,994 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:22:13,994 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:22:13,995 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:22:13,995 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:22:13,996 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:22:13,996 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 17:22:13,996 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 17:22:13,996 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:22:13,997 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:22:13,997 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:22:13,997 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 -> ebdf8b0d6633d593d56778eaf5218135ab2be92cae14e75cdda2462494f96410 [2022-02-20 17:22:14,158 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:22:14,186 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:22:14,188 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:22:14,188 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:22:14,189 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:22:14,190 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/nla-digbench-scaling/egcd2-ll_valuebound2.c [2022-02-20 17:22:14,240 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/47e022ae0/4aca4dfa5f3b480abb5f7a56baa6a445/FLAGccb160137 [2022-02-20 17:22:14,584 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:22:14,586 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/egcd2-ll_valuebound2.c [2022-02-20 17:22:14,594 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/47e022ae0/4aca4dfa5f3b480abb5f7a56baa6a445/FLAGccb160137 [2022-02-20 17:22:14,602 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/47e022ae0/4aca4dfa5f3b480abb5f7a56baa6a445 [2022-02-20 17:22:14,604 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:22:14,605 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:22:14,606 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:22:14,606 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:22:14,608 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:22:14,609 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:22:14" (1/1) ... [2022-02-20 17:22:14,610 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@d650206 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:22:14, skipping insertion in model container [2022-02-20 17:22:14,610 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:22:14" (1/1) ... [2022-02-20 17:22:14,614 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:22:14,623 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:22:14,757 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/egcd2-ll_valuebound2.c[490,503] [2022-02-20 17:22:14,783 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:22:14,790 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:22:14,805 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/egcd2-ll_valuebound2.c[490,503] [2022-02-20 17:22:14,813 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:22:14,821 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:22:14,822 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:22:14 WrapperNode [2022-02-20 17:22:14,822 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:22:14,823 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:22:14,823 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:22:14,823 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:22:14,831 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:22:14" (1/1) ... [2022-02-20 17:22:14,838 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:22:14" (1/1) ... [2022-02-20 17:22:14,855 INFO L137 Inliner]: procedures = 14, calls = 19, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 77 [2022-02-20 17:22:14,857 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:22:14,858 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:22:14,858 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:22:14,858 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:22:14,863 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:22:14" (1/1) ... [2022-02-20 17:22:14,864 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:22:14" (1/1) ... [2022-02-20 17:22:14,866 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:22:14" (1/1) ... [2022-02-20 17:22:14,867 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:22:14" (1/1) ... [2022-02-20 17:22:14,870 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:22:14" (1/1) ... [2022-02-20 17:22:14,873 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:22:14" (1/1) ... [2022-02-20 17:22:14,873 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:22:14" (1/1) ... [2022-02-20 17:22:14,874 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:22:14,875 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:22:14,875 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:22:14,875 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:22:14,876 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:22:14" (1/1) ... [2022-02-20 17:22:14,884 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:22:14,891 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:22:14,900 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:22:14,913 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:22:14,942 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:22:14,942 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 17:22:14,943 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 17:22:14,943 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 17:22:14,943 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:22:14,943 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:22:14,943 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:22:14,943 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:22:14,987 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:22:14,988 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:22:15,150 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:22:15,155 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:22:15,155 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 17:22:15,156 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:22:15 BoogieIcfgContainer [2022-02-20 17:22:15,156 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:22:15,157 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:22:15,157 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:22:15,166 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:22:15,167 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:22:14" (1/3) ... [2022-02-20 17:22:15,167 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6b6ade37 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:22:15, skipping insertion in model container [2022-02-20 17:22:15,167 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:22:14" (2/3) ... [2022-02-20 17:22:15,167 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6b6ade37 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:22:15, skipping insertion in model container [2022-02-20 17:22:15,168 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:22:15" (3/3) ... [2022-02-20 17:22:15,168 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll_valuebound2.c [2022-02-20 17:22:15,172 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:22:15,172 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:22:15,197 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:22:15,201 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:22:15,205 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:22:15,218 INFO L276 IsEmpty]: Start isEmpty. Operand has 35 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 21 states have internal predecessors, (28), 12 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-02-20 17:22:15,221 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-02-20 17:22:15,222 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:22:15,222 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:22:15,223 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:22:15,226 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:22:15,226 INFO L85 PathProgramCache]: Analyzing trace with hash -1146169762, now seen corresponding path program 1 times [2022-02-20 17:22:15,232 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:22:15,232 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1478377655] [2022-02-20 17:22:15,232 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:15,233 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:22:15,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:15,371 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:22:15,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:15,396 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:15,397 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:15,397 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:15,411 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #76#return; {39#false} is VALID [2022-02-20 17:22:15,412 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:22:15,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:15,422 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:15,422 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:15,423 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:15,423 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #78#return; {39#false} is VALID [2022-02-20 17:22:15,423 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:22:15,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:15,437 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:15,438 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:15,438 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:15,439 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #80#return; {39#false} is VALID [2022-02-20 17:22:15,439 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-02-20 17:22:15,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:15,458 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:15,459 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:15,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:15,459 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #82#return; {39#false} is VALID [2022-02-20 17:22:15,459 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-02-20 17:22:15,466 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:15,472 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:15,473 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:15,474 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:15,474 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #84#return; {39#false} is VALID [2022-02-20 17:22:15,474 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-02-20 17:22:15,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:15,486 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:15,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:15,486 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:15,487 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #86#return; {39#false} is VALID [2022-02-20 17:22:15,488 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {38#true} is VALID [2022-02-20 17:22:15,488 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#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_~temp~0#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {38#true} is VALID [2022-02-20 17:22:15,489 INFO L272 TraceCheckUtils]: 2: Hoare triple {38#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 2 then 1 else 0)); {38#true} is VALID [2022-02-20 17:22:15,489 INFO L290 TraceCheckUtils]: 3: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:15,490 INFO L290 TraceCheckUtils]: 4: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:15,490 INFO L290 TraceCheckUtils]: 5: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:15,491 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {39#false} {38#true} #76#return; {39#false} is VALID [2022-02-20 17:22:15,491 INFO L290 TraceCheckUtils]: 7: Hoare triple {39#false} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {39#false} is VALID [2022-02-20 17:22:15,491 INFO L272 TraceCheckUtils]: 8: Hoare triple {39#false} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 2 then 1 else 0)); {38#true} is VALID [2022-02-20 17:22:15,492 INFO L290 TraceCheckUtils]: 9: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:15,492 INFO L290 TraceCheckUtils]: 10: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:15,493 INFO L290 TraceCheckUtils]: 11: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:15,493 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {39#false} {39#false} #78#return; {39#false} is VALID [2022-02-20 17:22:15,494 INFO L272 TraceCheckUtils]: 13: Hoare triple {39#false} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {38#true} is VALID [2022-02-20 17:22:15,494 INFO L290 TraceCheckUtils]: 14: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:15,494 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:15,495 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:15,495 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {39#false} {39#false} #80#return; {39#false} is VALID [2022-02-20 17:22:15,495 INFO L272 TraceCheckUtils]: 18: Hoare triple {39#false} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {38#true} is VALID [2022-02-20 17:22:15,496 INFO L290 TraceCheckUtils]: 19: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:15,497 INFO L290 TraceCheckUtils]: 20: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:15,497 INFO L290 TraceCheckUtils]: 21: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:15,498 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {39#false} {39#false} #82#return; {39#false} is VALID [2022-02-20 17:22:15,498 INFO L290 TraceCheckUtils]: 23: Hoare triple {39#false} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {39#false} is VALID [2022-02-20 17:22:15,500 INFO L272 TraceCheckUtils]: 24: Hoare triple {39#false} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {38#true} is VALID [2022-02-20 17:22:15,501 INFO L290 TraceCheckUtils]: 25: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:15,501 INFO L290 TraceCheckUtils]: 26: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:15,502 INFO L290 TraceCheckUtils]: 27: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:15,502 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {39#false} {39#false} #84#return; {39#false} is VALID [2022-02-20 17:22:15,503 INFO L272 TraceCheckUtils]: 29: Hoare triple {39#false} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {38#true} is VALID [2022-02-20 17:22:15,503 INFO L290 TraceCheckUtils]: 30: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:15,505 INFO L290 TraceCheckUtils]: 31: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:15,505 INFO L290 TraceCheckUtils]: 32: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:15,506 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {39#false} {39#false} #86#return; {39#false} is VALID [2022-02-20 17:22:15,506 INFO L290 TraceCheckUtils]: 34: Hoare triple {39#false} assume !true; {39#false} is VALID [2022-02-20 17:22:15,506 INFO L272 TraceCheckUtils]: 35: Hoare triple {39#false} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~x~0#1 + main_~s~0#1 * main_~y~0#1 then 1 else 0)); {39#false} is VALID [2022-02-20 17:22:15,506 INFO L290 TraceCheckUtils]: 36: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-02-20 17:22:15,507 INFO L290 TraceCheckUtils]: 37: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-02-20 17:22:15,507 INFO L290 TraceCheckUtils]: 38: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-02-20 17:22:15,508 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-02-20 17:22:15,511 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:22:15,512 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1478377655] [2022-02-20 17:22:15,513 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1478377655] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:22:15,513 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:22:15,514 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 17:22:15,515 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1233875015] [2022-02-20 17:22:15,516 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:22:15,521 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-02-20 17:22:15,523 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:22:15,526 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:22:15,564 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:15,565 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 17:22:15,565 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:22:15,585 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 17:22:15,586 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:22:15,589 INFO L87 Difference]: Start difference. First operand has 35 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 21 states have internal predecessors, (28), 12 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:22:15,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:15,669 INFO L93 Difference]: Finished difference Result 67 states and 112 transitions. [2022-02-20 17:22:15,669 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 17:22:15,669 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-02-20 17:22:15,669 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:22:15,670 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:22:15,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 112 transitions. [2022-02-20 17:22:15,678 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:22:15,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 112 transitions. [2022-02-20 17:22:15,684 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 112 transitions. [2022-02-20 17:22:15,799 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:15,808 INFO L225 Difference]: With dead ends: 67 [2022-02-20 17:22:15,811 INFO L226 Difference]: Without dead ends: 31 [2022-02-20 17:22:15,813 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 20 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:22:15,815 INFO L933 BasicCegarLoop]: 46 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, 46 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:22:15,816 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:22:15,826 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-02-20 17:22:15,841 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 31. [2022-02-20 17:22:15,841 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:22:15,842 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand has 31 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 12 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:22:15,843 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand has 31 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 12 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:22:15,844 INFO L87 Difference]: Start difference. First operand 31 states. Second operand has 31 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 12 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:22:15,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:15,853 INFO L93 Difference]: Finished difference Result 31 states and 42 transitions. [2022-02-20 17:22:15,853 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 42 transitions. [2022-02-20 17:22:15,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:15,854 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:15,855 INFO L74 IsIncluded]: Start isIncluded. First operand has 31 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 12 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 31 states. [2022-02-20 17:22:15,855 INFO L87 Difference]: Start difference. First operand has 31 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 12 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 31 states. [2022-02-20 17:22:15,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:15,866 INFO L93 Difference]: Finished difference Result 31 states and 42 transitions. [2022-02-20 17:22:15,866 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 42 transitions. [2022-02-20 17:22:15,867 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:15,868 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:15,868 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:22:15,868 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:22:15,868 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 12 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:22:15,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 42 transitions. [2022-02-20 17:22:15,875 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 42 transitions. Word has length 39 [2022-02-20 17:22:15,875 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:22:15,876 INFO L470 AbstractCegarLoop]: Abstraction has 31 states and 42 transitions. [2022-02-20 17:22:15,876 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:22:15,876 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 42 transitions. [2022-02-20 17:22:15,878 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-02-20 17:22:15,879 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:22:15,879 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:22:15,879 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 17:22:15,879 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:22:15,880 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:22:15,880 INFO L85 PathProgramCache]: Analyzing trace with hash 846808023, now seen corresponding path program 1 times [2022-02-20 17:22:15,880 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:22:15,881 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1082174624] [2022-02-20 17:22:15,881 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:15,881 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:22:15,916 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:22:15,919 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1030066381] [2022-02-20 17:22:15,919 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:15,919 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:22:15,919 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:22:15,920 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:22:15,921 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:22:15,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:15,980 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 17:22:15,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:15,999 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:22:16,190 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {275#true} is VALID [2022-02-20 17:22:16,191 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#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_~temp~0#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {275#true} is VALID [2022-02-20 17:22:16,191 INFO L272 TraceCheckUtils]: 2: Hoare triple {275#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 2 then 1 else 0)); {275#true} is VALID [2022-02-20 17:22:16,191 INFO L290 TraceCheckUtils]: 3: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:16,191 INFO L290 TraceCheckUtils]: 4: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:16,191 INFO L290 TraceCheckUtils]: 5: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:16,191 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {275#true} {275#true} #76#return; {275#true} is VALID [2022-02-20 17:22:16,192 INFO L290 TraceCheckUtils]: 7: Hoare triple {275#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; {275#true} is VALID [2022-02-20 17:22:16,192 INFO L272 TraceCheckUtils]: 8: Hoare triple {275#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 2 then 1 else 0)); {275#true} is VALID [2022-02-20 17:22:16,192 INFO L290 TraceCheckUtils]: 9: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:16,192 INFO L290 TraceCheckUtils]: 10: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:16,192 INFO L290 TraceCheckUtils]: 11: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:16,192 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {275#true} {275#true} #78#return; {275#true} is VALID [2022-02-20 17:22:16,193 INFO L272 TraceCheckUtils]: 13: Hoare triple {275#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {275#true} is VALID [2022-02-20 17:22:16,193 INFO L290 TraceCheckUtils]: 14: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:16,193 INFO L290 TraceCheckUtils]: 15: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:16,193 INFO L290 TraceCheckUtils]: 16: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:16,193 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {275#true} {275#true} #80#return; {275#true} is VALID [2022-02-20 17:22:16,194 INFO L272 TraceCheckUtils]: 18: Hoare triple {275#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {275#true} is VALID [2022-02-20 17:22:16,194 INFO L290 TraceCheckUtils]: 19: Hoare triple {275#true} ~cond := #in~cond; {337#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:22:16,194 INFO L290 TraceCheckUtils]: 20: Hoare triple {337#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:16,195 INFO L290 TraceCheckUtils]: 21: Hoare triple {341#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:16,195 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {341#(not (= |assume_abort_if_not_#in~cond| 0))} {275#true} #82#return; {348#(<= 1 |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 17:22:16,196 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(<= 1 |ULTIMATE.start_main_~y~0#1|)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:16,196 INFO L272 TraceCheckUtils]: 24: Hoare triple {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {275#true} is VALID [2022-02-20 17:22:16,196 INFO L290 TraceCheckUtils]: 25: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:16,196 INFO L290 TraceCheckUtils]: 26: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:16,197 INFO L290 TraceCheckUtils]: 27: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:16,197 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {275#true} {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} #84#return; {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:16,198 INFO L272 TraceCheckUtils]: 29: Hoare triple {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {275#true} is VALID [2022-02-20 17:22:16,198 INFO L290 TraceCheckUtils]: 30: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:16,198 INFO L290 TraceCheckUtils]: 31: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:16,198 INFO L290 TraceCheckUtils]: 32: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:16,199 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {275#true} {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} #86#return; {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:16,199 INFO L290 TraceCheckUtils]: 34: Hoare triple {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !false; {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:16,200 INFO L290 TraceCheckUtils]: 35: Hoare triple {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !(0 != main_~b~0#1); {276#false} is VALID [2022-02-20 17:22:16,200 INFO L272 TraceCheckUtils]: 36: Hoare triple {276#false} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~x~0#1 + main_~s~0#1 * main_~y~0#1 then 1 else 0)); {276#false} is VALID [2022-02-20 17:22:16,200 INFO L290 TraceCheckUtils]: 37: Hoare triple {276#false} ~cond := #in~cond; {276#false} is VALID [2022-02-20 17:22:16,202 INFO L290 TraceCheckUtils]: 38: Hoare triple {276#false} assume 0 == ~cond; {276#false} is VALID [2022-02-20 17:22:16,202 INFO L290 TraceCheckUtils]: 39: Hoare triple {276#false} assume !false; {276#false} is VALID [2022-02-20 17:22:16,203 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-02-20 17:22:16,203 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:22:16,431 INFO L290 TraceCheckUtils]: 39: Hoare triple {276#false} assume !false; {276#false} is VALID [2022-02-20 17:22:16,431 INFO L290 TraceCheckUtils]: 38: Hoare triple {276#false} assume 0 == ~cond; {276#false} is VALID [2022-02-20 17:22:16,431 INFO L290 TraceCheckUtils]: 37: Hoare triple {276#false} ~cond := #in~cond; {276#false} is VALID [2022-02-20 17:22:16,431 INFO L272 TraceCheckUtils]: 36: Hoare triple {276#false} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~x~0#1 + main_~s~0#1 * main_~y~0#1 then 1 else 0)); {276#false} is VALID [2022-02-20 17:22:16,434 INFO L290 TraceCheckUtils]: 35: Hoare triple {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !(0 != main_~b~0#1); {276#false} is VALID [2022-02-20 17:22:16,434 INFO L290 TraceCheckUtils]: 34: Hoare triple {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !false; {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:16,435 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {275#true} {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} #86#return; {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:16,435 INFO L290 TraceCheckUtils]: 32: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:16,435 INFO L290 TraceCheckUtils]: 31: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:16,435 INFO L290 TraceCheckUtils]: 30: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:16,436 INFO L272 TraceCheckUtils]: 29: Hoare triple {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {275#true} is VALID [2022-02-20 17:22:16,436 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {275#true} {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} #84#return; {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:16,436 INFO L290 TraceCheckUtils]: 27: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:16,436 INFO L290 TraceCheckUtils]: 26: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:16,437 INFO L290 TraceCheckUtils]: 25: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:16,437 INFO L272 TraceCheckUtils]: 24: Hoare triple {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {275#true} is VALID [2022-02-20 17:22:16,438 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(<= 1 |ULTIMATE.start_main_~y~0#1|)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {352#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:16,448 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {341#(not (= |assume_abort_if_not_#in~cond| 0))} {275#true} #82#return; {348#(<= 1 |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 17:22:16,451 INFO L290 TraceCheckUtils]: 21: Hoare triple {341#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:16,451 INFO L290 TraceCheckUtils]: 20: Hoare triple {461#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:16,452 INFO L290 TraceCheckUtils]: 19: Hoare triple {275#true} ~cond := #in~cond; {461#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-02-20 17:22:16,452 INFO L272 TraceCheckUtils]: 18: Hoare triple {275#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {275#true} is VALID [2022-02-20 17:22:16,452 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {275#true} {275#true} #80#return; {275#true} is VALID [2022-02-20 17:22:16,452 INFO L290 TraceCheckUtils]: 16: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:16,452 INFO L290 TraceCheckUtils]: 15: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:16,452 INFO L290 TraceCheckUtils]: 14: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:16,452 INFO L272 TraceCheckUtils]: 13: Hoare triple {275#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {275#true} is VALID [2022-02-20 17:22:16,452 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {275#true} {275#true} #78#return; {275#true} is VALID [2022-02-20 17:22:16,453 INFO L290 TraceCheckUtils]: 11: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:16,453 INFO L290 TraceCheckUtils]: 10: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:16,453 INFO L290 TraceCheckUtils]: 9: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:16,453 INFO L272 TraceCheckUtils]: 8: Hoare triple {275#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 2 then 1 else 0)); {275#true} is VALID [2022-02-20 17:22:16,453 INFO L290 TraceCheckUtils]: 7: Hoare triple {275#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; {275#true} is VALID [2022-02-20 17:22:16,453 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {275#true} {275#true} #76#return; {275#true} is VALID [2022-02-20 17:22:16,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:16,453 INFO L290 TraceCheckUtils]: 4: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:16,453 INFO L290 TraceCheckUtils]: 3: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:16,453 INFO L272 TraceCheckUtils]: 2: Hoare triple {275#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 2 then 1 else 0)); {275#true} is VALID [2022-02-20 17:22:16,454 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#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_~temp~0#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {275#true} is VALID [2022-02-20 17:22:16,454 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {275#true} is VALID [2022-02-20 17:22:16,454 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-02-20 17:22:16,454 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:22:16,454 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1082174624] [2022-02-20 17:22:16,454 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:22:16,455 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1030066381] [2022-02-20 17:22:16,455 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1030066381] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:22:16,455 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:22:16,455 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-02-20 17:22:16,456 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1380622136] [2022-02-20 17:22:16,456 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:22:16,456 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 40 [2022-02-20 17:22:16,457 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:22:16,457 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:22:16,476 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:22:16,476 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 17:22:16,476 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:22:16,477 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 17:22:16,477 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-02-20 17:22:16,477 INFO L87 Difference]: Start difference. First operand 31 states and 42 transitions. Second operand has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:22:16,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:16,716 INFO L93 Difference]: Finished difference Result 48 states and 65 transitions. [2022-02-20 17:22:16,716 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:22:16,716 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 40 [2022-02-20 17:22:16,716 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:22:16,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:22:16,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2022-02-20 17:22:16,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:22:16,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2022-02-20 17:22:16,720 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 65 transitions. [2022-02-20 17:22:16,778 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:16,779 INFO L225 Difference]: With dead ends: 48 [2022-02-20 17:22:16,779 INFO L226 Difference]: Without dead ends: 40 [2022-02-20 17:22:16,780 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 72 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:22:16,780 INFO L933 BasicCegarLoop]: 34 mSDtfsCounter, 19 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 75 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:22:16,781 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 134 Invalid, 75 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 64 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:22:16,781 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-02-20 17:22:16,792 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 33. [2022-02-20 17:22:16,793 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:22:16,793 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand has 33 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:22:16,793 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand has 33 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:22:16,794 INFO L87 Difference]: Start difference. First operand 40 states. Second operand has 33 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:22:16,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:16,796 INFO L93 Difference]: Finished difference Result 40 states and 56 transitions. [2022-02-20 17:22:16,796 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 56 transitions. [2022-02-20 17:22:16,797 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:16,797 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:16,797 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 40 states. [2022-02-20 17:22:16,798 INFO L87 Difference]: Start difference. First operand has 33 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 40 states. [2022-02-20 17:22:16,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:16,800 INFO L93 Difference]: Finished difference Result 40 states and 56 transitions. [2022-02-20 17:22:16,800 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 56 transitions. [2022-02-20 17:22:16,800 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:16,801 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:16,801 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:22:16,801 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:22:16,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:22:16,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 44 transitions. [2022-02-20 17:22:16,803 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 44 transitions. Word has length 40 [2022-02-20 17:22:16,803 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:22:16,803 INFO L470 AbstractCegarLoop]: Abstraction has 33 states and 44 transitions. [2022-02-20 17:22:16,803 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:22:16,803 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 44 transitions. [2022-02-20 17:22:16,804 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-02-20 17:22:16,804 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:22:16,804 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:22:16,832 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:22:17,033 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:22:17,033 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:22:17,034 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:22:17,034 INFO L85 PathProgramCache]: Analyzing trace with hash 481927254, now seen corresponding path program 1 times [2022-02-20 17:22:17,034 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:22:17,034 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [109454077] [2022-02-20 17:22:17,034 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:17,035 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:22:17,051 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:22:17,051 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1354024747] [2022-02-20 17:22:17,058 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:17,058 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:22:17,058 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:22:17,059 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:22:17,060 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:22:17,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:17,096 INFO L263 TraceCheckSpWp]: Trace formula consists of 121 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 17:22:17,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:17,111 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:22:17,273 INFO L290 TraceCheckUtils]: 0: Hoare triple {725#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {725#true} is VALID [2022-02-20 17:22:17,273 INFO L290 TraceCheckUtils]: 1: Hoare triple {725#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_~temp~0#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {725#true} is VALID [2022-02-20 17:22:17,273 INFO L272 TraceCheckUtils]: 2: Hoare triple {725#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 2 then 1 else 0)); {725#true} is VALID [2022-02-20 17:22:17,273 INFO L290 TraceCheckUtils]: 3: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:17,273 INFO L290 TraceCheckUtils]: 4: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:17,273 INFO L290 TraceCheckUtils]: 5: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:17,273 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {725#true} {725#true} #76#return; {725#true} is VALID [2022-02-20 17:22:17,274 INFO L290 TraceCheckUtils]: 7: Hoare triple {725#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; {725#true} is VALID [2022-02-20 17:22:17,274 INFO L272 TraceCheckUtils]: 8: Hoare triple {725#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 2 then 1 else 0)); {725#true} is VALID [2022-02-20 17:22:17,274 INFO L290 TraceCheckUtils]: 9: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:17,274 INFO L290 TraceCheckUtils]: 10: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:17,274 INFO L290 TraceCheckUtils]: 11: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:17,274 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {725#true} {725#true} #78#return; {725#true} is VALID [2022-02-20 17:22:17,274 INFO L272 TraceCheckUtils]: 13: Hoare triple {725#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {725#true} is VALID [2022-02-20 17:22:17,274 INFO L290 TraceCheckUtils]: 14: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:17,275 INFO L290 TraceCheckUtils]: 15: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:17,275 INFO L290 TraceCheckUtils]: 16: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:17,275 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {725#true} {725#true} #80#return; {725#true} is VALID [2022-02-20 17:22:17,275 INFO L272 TraceCheckUtils]: 18: Hoare triple {725#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {725#true} is VALID [2022-02-20 17:22:17,277 INFO L290 TraceCheckUtils]: 19: Hoare triple {725#true} ~cond := #in~cond; {787#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:22:17,277 INFO L290 TraceCheckUtils]: 20: Hoare triple {787#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {791#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:17,278 INFO L290 TraceCheckUtils]: 21: Hoare triple {791#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {791#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:17,278 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {791#(not (= |assume_abort_if_not_#in~cond| 0))} {725#true} #82#return; {798#(<= 1 |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 17:22:17,279 INFO L290 TraceCheckUtils]: 23: Hoare triple {798#(<= 1 |ULTIMATE.start_main_~y~0#1|)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {802#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:17,279 INFO L272 TraceCheckUtils]: 24: Hoare triple {802#(<= 1 |ULTIMATE.start_main_~b~0#1|)} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {725#true} is VALID [2022-02-20 17:22:17,279 INFO L290 TraceCheckUtils]: 25: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:17,279 INFO L290 TraceCheckUtils]: 26: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:17,279 INFO L290 TraceCheckUtils]: 27: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:17,283 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {725#true} {802#(<= 1 |ULTIMATE.start_main_~b~0#1|)} #84#return; {802#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:17,283 INFO L272 TraceCheckUtils]: 29: Hoare triple {802#(<= 1 |ULTIMATE.start_main_~b~0#1|)} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {725#true} is VALID [2022-02-20 17:22:17,283 INFO L290 TraceCheckUtils]: 30: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:17,284 INFO L290 TraceCheckUtils]: 31: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:17,284 INFO L290 TraceCheckUtils]: 32: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:17,284 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {725#true} {802#(<= 1 |ULTIMATE.start_main_~b~0#1|)} #86#return; {802#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:17,284 INFO L290 TraceCheckUtils]: 34: Hoare triple {802#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !false; {802#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:22:17,285 INFO L290 TraceCheckUtils]: 35: Hoare triple {802#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {839#(and (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~c~0#1|) (<= 1 |ULTIMATE.start_main_~b~0#1|) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 17:22:17,285 INFO L290 TraceCheckUtils]: 36: Hoare triple {839#(and (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~c~0#1|) (<= 1 |ULTIMATE.start_main_~b~0#1|) (= |ULTIMATE.start_main_~k~0#1| 0))} assume !false; {839#(and (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~c~0#1|) (<= 1 |ULTIMATE.start_main_~b~0#1|) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 17:22:17,286 INFO L272 TraceCheckUtils]: 37: Hoare triple {839#(and (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~c~0#1|) (<= 1 |ULTIMATE.start_main_~b~0#1|) (= |ULTIMATE.start_main_~k~0#1| 0))} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {846#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:22:17,286 INFO L290 TraceCheckUtils]: 38: Hoare triple {846#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {850#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:22:17,287 INFO L290 TraceCheckUtils]: 39: Hoare triple {850#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {726#false} is VALID [2022-02-20 17:22:17,287 INFO L290 TraceCheckUtils]: 40: Hoare triple {726#false} assume !false; {726#false} is VALID [2022-02-20 17:22:17,287 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-02-20 17:22:17,287 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:22:17,478 INFO L290 TraceCheckUtils]: 40: Hoare triple {726#false} assume !false; {726#false} is VALID [2022-02-20 17:22:17,478 INFO L290 TraceCheckUtils]: 39: Hoare triple {850#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {726#false} is VALID [2022-02-20 17:22:17,479 INFO L290 TraceCheckUtils]: 38: Hoare triple {846#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {850#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:22:17,479 INFO L272 TraceCheckUtils]: 37: Hoare triple {866#(= |ULTIMATE.start_main_~a~0#1| (+ |ULTIMATE.start_main_~c~0#1| (* |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~k~0#1|)))} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {846#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:22:17,480 INFO L290 TraceCheckUtils]: 36: Hoare triple {866#(= |ULTIMATE.start_main_~a~0#1| (+ |ULTIMATE.start_main_~c~0#1| (* |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~k~0#1|)))} assume !false; {866#(= |ULTIMATE.start_main_~a~0#1| (+ |ULTIMATE.start_main_~c~0#1| (* |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~k~0#1|)))} is VALID [2022-02-20 17:22:17,480 INFO L290 TraceCheckUtils]: 35: Hoare triple {725#true} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {866#(= |ULTIMATE.start_main_~a~0#1| (+ |ULTIMATE.start_main_~c~0#1| (* |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~k~0#1|)))} is VALID [2022-02-20 17:22:17,481 INFO L290 TraceCheckUtils]: 34: Hoare triple {725#true} assume !false; {725#true} is VALID [2022-02-20 17:22:17,481 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {725#true} {725#true} #86#return; {725#true} is VALID [2022-02-20 17:22:17,481 INFO L290 TraceCheckUtils]: 32: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:17,481 INFO L290 TraceCheckUtils]: 31: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:17,482 INFO L290 TraceCheckUtils]: 30: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:17,482 INFO L272 TraceCheckUtils]: 29: Hoare triple {725#true} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {725#true} is VALID [2022-02-20 17:22:17,482 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {725#true} {725#true} #84#return; {725#true} is VALID [2022-02-20 17:22:17,482 INFO L290 TraceCheckUtils]: 27: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:17,482 INFO L290 TraceCheckUtils]: 26: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:17,482 INFO L290 TraceCheckUtils]: 25: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:17,483 INFO L272 TraceCheckUtils]: 24: Hoare triple {725#true} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {725#true} is VALID [2022-02-20 17:22:17,483 INFO L290 TraceCheckUtils]: 23: Hoare triple {725#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {725#true} is VALID [2022-02-20 17:22:17,483 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {725#true} {725#true} #82#return; {725#true} is VALID [2022-02-20 17:22:17,483 INFO L290 TraceCheckUtils]: 21: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:17,483 INFO L290 TraceCheckUtils]: 20: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:17,483 INFO L290 TraceCheckUtils]: 19: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:17,483 INFO L272 TraceCheckUtils]: 18: Hoare triple {725#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {725#true} is VALID [2022-02-20 17:22:17,484 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {725#true} {725#true} #80#return; {725#true} is VALID [2022-02-20 17:22:17,484 INFO L290 TraceCheckUtils]: 16: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:17,484 INFO L290 TraceCheckUtils]: 15: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:17,484 INFO L290 TraceCheckUtils]: 14: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:17,484 INFO L272 TraceCheckUtils]: 13: Hoare triple {725#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {725#true} is VALID [2022-02-20 17:22:17,484 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {725#true} {725#true} #78#return; {725#true} is VALID [2022-02-20 17:22:17,484 INFO L290 TraceCheckUtils]: 11: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:17,485 INFO L290 TraceCheckUtils]: 10: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:17,485 INFO L290 TraceCheckUtils]: 9: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:17,485 INFO L272 TraceCheckUtils]: 8: Hoare triple {725#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 2 then 1 else 0)); {725#true} is VALID [2022-02-20 17:22:17,485 INFO L290 TraceCheckUtils]: 7: Hoare triple {725#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; {725#true} is VALID [2022-02-20 17:22:17,485 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {725#true} {725#true} #76#return; {725#true} is VALID [2022-02-20 17:22:17,485 INFO L290 TraceCheckUtils]: 5: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:17,485 INFO L290 TraceCheckUtils]: 4: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:17,486 INFO L290 TraceCheckUtils]: 3: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:17,486 INFO L272 TraceCheckUtils]: 2: Hoare triple {725#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 2 then 1 else 0)); {725#true} is VALID [2022-02-20 17:22:17,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {725#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_~temp~0#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {725#true} is VALID [2022-02-20 17:22:17,486 INFO L290 TraceCheckUtils]: 0: Hoare triple {725#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {725#true} is VALID [2022-02-20 17:22:17,486 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-02-20 17:22:17,486 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:22:17,487 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [109454077] [2022-02-20 17:22:17,487 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:22:17,488 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1354024747] [2022-02-20 17:22:17,488 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1354024747] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:22:17,488 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:22:17,488 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-02-20 17:22:17,489 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [198758386] [2022-02-20 17:22:17,489 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:22:17,489 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 41 [2022-02-20 17:22:17,491 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:22:17,491 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-02-20 17:22:17,510 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:17,510 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:22:17,510 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:22:17,510 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:22:17,510 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-02-20 17:22:17,511 INFO L87 Difference]: Start difference. First operand 33 states and 44 transitions. Second operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-02-20 17:22:17,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:17,701 INFO L93 Difference]: Finished difference Result 39 states and 49 transitions. [2022-02-20 17:22:17,701 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:22:17,702 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 41 [2022-02-20 17:22:17,702 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:22:17,702 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-02-20 17:22:17,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-02-20 17:22:17,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-02-20 17:22:17,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-02-20 17:22:17,704 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-02-20 17:22:17,757 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:17,760 INFO L225 Difference]: With dead ends: 39 [2022-02-20 17:22:17,760 INFO L226 Difference]: Without dead ends: 37 [2022-02-20 17:22:17,761 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 71 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:22:17,761 INFO L933 BasicCegarLoop]: 36 mSDtfsCounter, 6 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 29 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 130 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 29 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:22:17,762 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 130 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 29 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:22:17,762 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-02-20 17:22:17,778 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 37. [2022-02-20 17:22:17,778 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:22:17,779 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 37 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 12 states have call successors, (12), 3 states have call predecessors, (12), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:22:17,779 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 37 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 12 states have call successors, (12), 3 states have call predecessors, (12), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:22:17,779 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 37 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 12 states have call successors, (12), 3 states have call predecessors, (12), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:22:17,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:17,781 INFO L93 Difference]: Finished difference Result 37 states and 47 transitions. [2022-02-20 17:22:17,781 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 47 transitions. [2022-02-20 17:22:17,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:17,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:17,782 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 12 states have call successors, (12), 3 states have call predecessors, (12), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 37 states. [2022-02-20 17:22:17,782 INFO L87 Difference]: Start difference. First operand has 37 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 12 states have call successors, (12), 3 states have call predecessors, (12), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 37 states. [2022-02-20 17:22:17,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:17,784 INFO L93 Difference]: Finished difference Result 37 states and 47 transitions. [2022-02-20 17:22:17,784 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 47 transitions. [2022-02-20 17:22:17,784 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:17,784 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:17,784 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:22:17,784 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:22:17,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 12 states have call successors, (12), 3 states have call predecessors, (12), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:22:17,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 47 transitions. [2022-02-20 17:22:17,786 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 47 transitions. Word has length 41 [2022-02-20 17:22:17,786 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:22:17,786 INFO L470 AbstractCegarLoop]: Abstraction has 37 states and 47 transitions. [2022-02-20 17:22:17,787 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-02-20 17:22:17,787 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 47 transitions. [2022-02-20 17:22:17,787 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-02-20 17:22:17,787 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:22:17,787 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:22:17,805 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:22:17,999 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:22:17,999 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:22:18,000 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:22:18,000 INFO L85 PathProgramCache]: Analyzing trace with hash -1626076469, now seen corresponding path program 1 times [2022-02-20 17:22:18,000 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:22:18,001 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [441085791] [2022-02-20 17:22:18,001 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:18,001 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:22:18,016 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:22:18,016 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2120567860] [2022-02-20 17:22:18,016 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:18,016 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:22:18,016 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:22:18,017 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:22:18,036 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:22:18,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:18,071 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 27 conjunts are in the unsatisfiable core [2022-02-20 17:22:18,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:18,082 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:22:18,720 INFO L290 TraceCheckUtils]: 0: Hoare triple {1165#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {1165#true} is VALID [2022-02-20 17:22:18,720 INFO L290 TraceCheckUtils]: 1: Hoare triple {1165#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_~temp~0#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1165#true} is VALID [2022-02-20 17:22:18,720 INFO L272 TraceCheckUtils]: 2: Hoare triple {1165#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 2 then 1 else 0)); {1165#true} is VALID [2022-02-20 17:22:18,721 INFO L290 TraceCheckUtils]: 3: Hoare triple {1165#true} ~cond := #in~cond; {1179#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:22:18,721 INFO L290 TraceCheckUtils]: 4: Hoare triple {1179#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1183#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:18,721 INFO L290 TraceCheckUtils]: 5: Hoare triple {1183#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1183#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:18,722 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1183#(not (= |assume_abort_if_not_#in~cond| 0))} {1165#true} #76#return; {1190#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} is VALID [2022-02-20 17:22:18,722 INFO L290 TraceCheckUtils]: 7: Hoare triple {1190#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1190#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} is VALID [2022-02-20 17:22:18,722 INFO L272 TraceCheckUtils]: 8: Hoare triple {1190#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 2 then 1 else 0)); {1165#true} is VALID [2022-02-20 17:22:18,723 INFO L290 TraceCheckUtils]: 9: Hoare triple {1165#true} ~cond := #in~cond; {1179#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:22:18,723 INFO L290 TraceCheckUtils]: 10: Hoare triple {1179#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1183#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:18,723 INFO L290 TraceCheckUtils]: 11: Hoare triple {1183#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1183#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:18,724 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1183#(not (= |assume_abort_if_not_#in~cond| 0))} {1190#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} #78#return; {1209#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} is VALID [2022-02-20 17:22:18,724 INFO L272 TraceCheckUtils]: 13: Hoare triple {1209#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {1165#true} is VALID [2022-02-20 17:22:18,724 INFO L290 TraceCheckUtils]: 14: Hoare triple {1165#true} ~cond := #in~cond; {1179#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:22:18,725 INFO L290 TraceCheckUtils]: 15: Hoare triple {1179#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1183#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:18,725 INFO L290 TraceCheckUtils]: 16: Hoare triple {1183#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1183#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:18,726 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1183#(not (= |assume_abort_if_not_#in~cond| 0))} {1209#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} #80#return; {1225#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} is VALID [2022-02-20 17:22:18,726 INFO L272 TraceCheckUtils]: 18: Hoare triple {1225#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {1165#true} is VALID [2022-02-20 17:22:18,726 INFO L290 TraceCheckUtils]: 19: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-02-20 17:22:18,726 INFO L290 TraceCheckUtils]: 20: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-02-20 17:22:18,726 INFO L290 TraceCheckUtils]: 21: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-02-20 17:22:18,730 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1165#true} {1225#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} #82#return; {1225#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} is VALID [2022-02-20 17:22:18,732 INFO L290 TraceCheckUtils]: 23: Hoare triple {1225#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {1244#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#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|) (<= |ULTIMATE.start_main_~x~0#1| 2))} is VALID [2022-02-20 17:22:18,732 INFO L272 TraceCheckUtils]: 24: Hoare triple {1244#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#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|) (<= |ULTIMATE.start_main_~x~0#1| 2))} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {1165#true} is VALID [2022-02-20 17:22:18,733 INFO L290 TraceCheckUtils]: 25: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-02-20 17:22:18,733 INFO L290 TraceCheckUtils]: 26: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-02-20 17:22:18,733 INFO L290 TraceCheckUtils]: 27: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-02-20 17:22:18,734 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1165#true} {1244#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#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|) (<= |ULTIMATE.start_main_~x~0#1| 2))} #84#return; {1244#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#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|) (<= |ULTIMATE.start_main_~x~0#1| 2))} is VALID [2022-02-20 17:22:18,734 INFO L272 TraceCheckUtils]: 29: Hoare triple {1244#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#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|) (<= |ULTIMATE.start_main_~x~0#1| 2))} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {1165#true} is VALID [2022-02-20 17:22:18,734 INFO L290 TraceCheckUtils]: 30: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-02-20 17:22:18,734 INFO L290 TraceCheckUtils]: 31: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-02-20 17:22:18,734 INFO L290 TraceCheckUtils]: 32: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-02-20 17:22:18,735 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1165#true} {1244#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#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|) (<= |ULTIMATE.start_main_~x~0#1| 2))} #86#return; {1244#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#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|) (<= |ULTIMATE.start_main_~x~0#1| 2))} is VALID [2022-02-20 17:22:18,735 INFO L290 TraceCheckUtils]: 34: Hoare triple {1244#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#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|) (<= |ULTIMATE.start_main_~x~0#1| 2))} assume !false; {1244#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#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|) (<= |ULTIMATE.start_main_~x~0#1| 2))} is VALID [2022-02-20 17:22:18,736 INFO L290 TraceCheckUtils]: 35: Hoare triple {1244#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#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|) (<= |ULTIMATE.start_main_~x~0#1| 2))} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {1281#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~y~0#1| 2) (not (= |ULTIMATE.start_main_~y~0#1| 0)) (<= 0 |ULTIMATE.start_main_~y~0#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|) (<= |ULTIMATE.start_main_~x~0#1| 2))} is VALID [2022-02-20 17:22:18,736 INFO L290 TraceCheckUtils]: 36: Hoare triple {1281#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~y~0#1| 2) (not (= |ULTIMATE.start_main_~y~0#1| 0)) (<= 0 |ULTIMATE.start_main_~y~0#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|) (<= |ULTIMATE.start_main_~x~0#1| 2))} assume !false; {1281#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~y~0#1| 2) (not (= |ULTIMATE.start_main_~y~0#1| 0)) (<= 0 |ULTIMATE.start_main_~y~0#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|) (<= |ULTIMATE.start_main_~x~0#1| 2))} is VALID [2022-02-20 17:22:18,736 INFO L272 TraceCheckUtils]: 37: Hoare triple {1281#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~y~0#1| 2) (not (= |ULTIMATE.start_main_~y~0#1| 0)) (<= 0 |ULTIMATE.start_main_~y~0#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|) (<= |ULTIMATE.start_main_~x~0#1| 2))} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {1165#true} is VALID [2022-02-20 17:22:18,737 INFO L290 TraceCheckUtils]: 38: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-02-20 17:22:18,737 INFO L290 TraceCheckUtils]: 39: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-02-20 17:22:18,737 INFO L290 TraceCheckUtils]: 40: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-02-20 17:22:18,738 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1165#true} {1281#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~y~0#1| 2) (not (= |ULTIMATE.start_main_~y~0#1| 0)) (<= 0 |ULTIMATE.start_main_~y~0#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|) (<= |ULTIMATE.start_main_~x~0#1| 2))} #88#return; {1281#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~y~0#1| 2) (not (= |ULTIMATE.start_main_~y~0#1| 0)) (<= 0 |ULTIMATE.start_main_~y~0#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|) (<= |ULTIMATE.start_main_~x~0#1| 2))} is VALID [2022-02-20 17:22:18,738 INFO L272 TraceCheckUtils]: 42: Hoare triple {1281#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~y~0#1| 2) (not (= |ULTIMATE.start_main_~y~0#1| 0)) (<= 0 |ULTIMATE.start_main_~y~0#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|) (<= |ULTIMATE.start_main_~x~0#1| 2))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {1303#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:22:18,739 INFO L290 TraceCheckUtils]: 43: Hoare triple {1303#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1307#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:22:18,739 INFO L290 TraceCheckUtils]: 44: Hoare triple {1307#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1166#false} is VALID [2022-02-20 17:22:18,739 INFO L290 TraceCheckUtils]: 45: Hoare triple {1166#false} assume !false; {1166#false} is VALID [2022-02-20 17:22:18,739 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 2 proven. 27 refuted. 0 times theorem prover too weak. 33 trivial. 0 not checked. [2022-02-20 17:22:18,739 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:22:19,066 INFO L290 TraceCheckUtils]: 45: Hoare triple {1166#false} assume !false; {1166#false} is VALID [2022-02-20 17:22:19,068 INFO L290 TraceCheckUtils]: 44: Hoare triple {1307#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1166#false} is VALID [2022-02-20 17:22:19,068 INFO L290 TraceCheckUtils]: 43: Hoare triple {1303#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1307#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:22:19,069 INFO L272 TraceCheckUtils]: 42: Hoare triple {1323#(= (+ (* |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)); {1303#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:22:19,070 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1165#true} {1323#(= (+ (* |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|)} #88#return; {1323#(= (+ (* |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:19,070 INFO L290 TraceCheckUtils]: 40: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-02-20 17:22:19,070 INFO L290 TraceCheckUtils]: 39: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-02-20 17:22:19,070 INFO L290 TraceCheckUtils]: 38: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-02-20 17:22:19,070 INFO L272 TraceCheckUtils]: 37: Hoare triple {1323#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {1165#true} is VALID [2022-02-20 17:22:19,071 INFO L290 TraceCheckUtils]: 36: Hoare triple {1323#(= (+ (* |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; {1323#(= (+ (* |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:19,071 INFO L290 TraceCheckUtils]: 35: Hoare triple {1345#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|))} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {1323#(= (+ (* |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:19,072 INFO L290 TraceCheckUtils]: 34: Hoare triple {1345#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |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; {1345#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |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:19,072 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1165#true} {1345#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |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|))} #86#return; {1345#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |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:19,072 INFO L290 TraceCheckUtils]: 32: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-02-20 17:22:19,072 INFO L290 TraceCheckUtils]: 31: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-02-20 17:22:19,072 INFO L290 TraceCheckUtils]: 30: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-02-20 17:22:19,072 INFO L272 TraceCheckUtils]: 29: Hoare triple {1345#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|))} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {1165#true} is VALID [2022-02-20 17:22:19,073 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1165#true} {1345#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |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|))} #84#return; {1345#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |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:19,073 INFO L290 TraceCheckUtils]: 27: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-02-20 17:22:19,073 INFO L290 TraceCheckUtils]: 26: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-02-20 17:22:19,073 INFO L290 TraceCheckUtils]: 25: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-02-20 17:22:19,073 INFO L272 TraceCheckUtils]: 24: Hoare triple {1345#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|))} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {1165#true} is VALID [2022-02-20 17:22:19,074 INFO L290 TraceCheckUtils]: 23: Hoare triple {1165#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {1345#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |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:19,074 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1165#true} {1165#true} #82#return; {1165#true} is VALID [2022-02-20 17:22:19,074 INFO L290 TraceCheckUtils]: 21: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-02-20 17:22:19,074 INFO L290 TraceCheckUtils]: 20: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-02-20 17:22:19,074 INFO L290 TraceCheckUtils]: 19: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-02-20 17:22:19,074 INFO L272 TraceCheckUtils]: 18: Hoare triple {1165#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {1165#true} is VALID [2022-02-20 17:22:19,074 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1165#true} {1165#true} #80#return; {1165#true} is VALID [2022-02-20 17:22:19,074 INFO L290 TraceCheckUtils]: 16: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-02-20 17:22:19,074 INFO L290 TraceCheckUtils]: 15: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-02-20 17:22:19,074 INFO L290 TraceCheckUtils]: 14: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-02-20 17:22:19,075 INFO L272 TraceCheckUtils]: 13: Hoare triple {1165#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {1165#true} is VALID [2022-02-20 17:22:19,075 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1165#true} {1165#true} #78#return; {1165#true} is VALID [2022-02-20 17:22:19,075 INFO L290 TraceCheckUtils]: 11: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-02-20 17:22:19,075 INFO L290 TraceCheckUtils]: 10: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-02-20 17:22:19,075 INFO L290 TraceCheckUtils]: 9: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-02-20 17:22:19,075 INFO L272 TraceCheckUtils]: 8: Hoare triple {1165#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 2 then 1 else 0)); {1165#true} is VALID [2022-02-20 17:22:19,075 INFO L290 TraceCheckUtils]: 7: Hoare triple {1165#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; {1165#true} is VALID [2022-02-20 17:22:19,075 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1165#true} {1165#true} #76#return; {1165#true} is VALID [2022-02-20 17:22:19,075 INFO L290 TraceCheckUtils]: 5: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-02-20 17:22:19,075 INFO L290 TraceCheckUtils]: 4: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-02-20 17:22:19,075 INFO L290 TraceCheckUtils]: 3: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-02-20 17:22:19,075 INFO L272 TraceCheckUtils]: 2: Hoare triple {1165#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 2 then 1 else 0)); {1165#true} is VALID [2022-02-20 17:22:19,075 INFO L290 TraceCheckUtils]: 1: Hoare triple {1165#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_~temp~0#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1165#true} is VALID [2022-02-20 17:22:19,076 INFO L290 TraceCheckUtils]: 0: Hoare triple {1165#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {1165#true} is VALID [2022-02-20 17:22:19,076 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-02-20 17:22:19,076 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:22:19,076 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [441085791] [2022-02-20 17:22:19,076 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:22:19,076 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2120567860] [2022-02-20 17:22:19,076 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2120567860] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:22:19,076 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:22:19,076 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [11] total 13 [2022-02-20 17:22:19,076 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1292540306] [2022-02-20 17:22:19,076 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:22:19,077 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 46 [2022-02-20 17:22:19,077 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:22:19,077 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 17:22:19,097 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:22:19,098 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 17:22:19,098 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:22:19,098 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 17:22:19,098 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=119, Unknown=0, NotChecked=0, Total=156 [2022-02-20 17:22:19,098 INFO L87 Difference]: Start difference. First operand 37 states and 47 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 17:22:19,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:19,337 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-02-20 17:22:19,337 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:22:19,337 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 46 [2022-02-20 17:22:19,338 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:22:19,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 17:22:19,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2022-02-20 17:22:19,339 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 17:22:19,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2022-02-20 17:22:19,343 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 61 transitions. [2022-02-20 17:22:19,398 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:22:19,399 INFO L225 Difference]: With dead ends: 50 [2022-02-20 17:22:19,399 INFO L226 Difference]: Without dead ends: 48 [2022-02-20 17:22:19,400 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 91 GetRequests, 78 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-02-20 17:22:19,400 INFO L933 BasicCegarLoop]: 44 mSDtfsCounter, 12 mSDsluCounter, 109 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 153 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:22:19,400 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 153 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:22:19,401 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-02-20 17:22:19,418 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 47. [2022-02-20 17:22:19,418 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:22:19,419 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 47 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 27 states have internal predecessors, (30), 16 states have call successors, (16), 4 states have call predecessors, (16), 4 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:22:19,419 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 47 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 27 states have internal predecessors, (30), 16 states have call successors, (16), 4 states have call predecessors, (16), 4 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:22:19,419 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 47 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 27 states have internal predecessors, (30), 16 states have call successors, (16), 4 states have call predecessors, (16), 4 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:22:19,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:19,421 INFO L93 Difference]: Finished difference Result 48 states and 62 transitions. [2022-02-20 17:22:19,421 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 62 transitions. [2022-02-20 17:22:19,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:19,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:19,421 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 27 states have internal predecessors, (30), 16 states have call successors, (16), 4 states have call predecessors, (16), 4 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 48 states. [2022-02-20 17:22:19,422 INFO L87 Difference]: Start difference. First operand has 47 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 27 states have internal predecessors, (30), 16 states have call successors, (16), 4 states have call predecessors, (16), 4 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 48 states. [2022-02-20 17:22:19,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:19,423 INFO L93 Difference]: Finished difference Result 48 states and 62 transitions. [2022-02-20 17:22:19,423 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 62 transitions. [2022-02-20 17:22:19,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:19,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:19,424 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:22:19,424 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:22:19,424 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 27 states have internal predecessors, (30), 16 states have call successors, (16), 4 states have call predecessors, (16), 4 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:22:19,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 61 transitions. [2022-02-20 17:22:19,425 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 61 transitions. Word has length 46 [2022-02-20 17:22:19,426 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:22:19,426 INFO L470 AbstractCegarLoop]: Abstraction has 47 states and 61 transitions. [2022-02-20 17:22:19,426 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 17:22:19,426 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 61 transitions. [2022-02-20 17:22:19,426 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-02-20 17:22:19,426 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:22:19,427 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:22:19,445 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:22:19,639 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:22:19,640 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:22:19,640 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:22:19,640 INFO L85 PathProgramCache]: Analyzing trace with hash 779090230, now seen corresponding path program 1 times [2022-02-20 17:22:19,640 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:22:19,640 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [319732438] [2022-02-20 17:22:19,640 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:19,640 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:22:19,656 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:22:19,657 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [810248615] [2022-02-20 17:22:19,657 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:19,657 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:22:19,657 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:22:19,658 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:22:19,659 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:22:19,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:19,699 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 25 conjunts are in the unsatisfiable core [2022-02-20 17:22:19,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:19,712 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:22:20,452 INFO L290 TraceCheckUtils]: 0: Hoare triple {1693#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {1693#true} is VALID [2022-02-20 17:22:20,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {1693#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_~temp~0#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1693#true} is VALID [2022-02-20 17:22:20,452 INFO L272 TraceCheckUtils]: 2: Hoare triple {1693#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 2 then 1 else 0)); {1693#true} is VALID [2022-02-20 17:22:20,453 INFO L290 TraceCheckUtils]: 3: Hoare triple {1693#true} ~cond := #in~cond; {1707#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:22:20,453 INFO L290 TraceCheckUtils]: 4: Hoare triple {1707#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1711#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:20,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {1711#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1711#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:20,454 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1711#(not (= |assume_abort_if_not_#in~cond| 0))} {1693#true} #76#return; {1718#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} is VALID [2022-02-20 17:22:20,454 INFO L290 TraceCheckUtils]: 7: Hoare triple {1718#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1718#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} is VALID [2022-02-20 17:22:20,454 INFO L272 TraceCheckUtils]: 8: Hoare triple {1718#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 2 then 1 else 0)); {1693#true} is VALID [2022-02-20 17:22:20,455 INFO L290 TraceCheckUtils]: 9: Hoare triple {1693#true} ~cond := #in~cond; {1707#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:22:20,455 INFO L290 TraceCheckUtils]: 10: Hoare triple {1707#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1711#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:20,455 INFO L290 TraceCheckUtils]: 11: Hoare triple {1711#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1711#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:20,456 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1711#(not (= |assume_abort_if_not_#in~cond| 0))} {1718#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} #78#return; {1737#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} is VALID [2022-02-20 17:22:20,456 INFO L272 TraceCheckUtils]: 13: Hoare triple {1737#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {1693#true} is VALID [2022-02-20 17:22:20,456 INFO L290 TraceCheckUtils]: 14: Hoare triple {1693#true} ~cond := #in~cond; {1707#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:22:20,457 INFO L290 TraceCheckUtils]: 15: Hoare triple {1707#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1711#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:20,457 INFO L290 TraceCheckUtils]: 16: Hoare triple {1711#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1711#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:20,457 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1711#(not (= |assume_abort_if_not_#in~cond| 0))} {1737#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} #80#return; {1753#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} is VALID [2022-02-20 17:22:20,457 INFO L272 TraceCheckUtils]: 18: Hoare triple {1753#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {1693#true} is VALID [2022-02-20 17:22:20,458 INFO L290 TraceCheckUtils]: 19: Hoare triple {1693#true} ~cond := #in~cond; {1693#true} is VALID [2022-02-20 17:22:20,458 INFO L290 TraceCheckUtils]: 20: Hoare triple {1693#true} assume !(0 == ~cond); {1693#true} is VALID [2022-02-20 17:22:20,458 INFO L290 TraceCheckUtils]: 21: Hoare triple {1693#true} assume true; {1693#true} is VALID [2022-02-20 17:22:20,458 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1693#true} {1753#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} #82#return; {1753#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} is VALID [2022-02-20 17:22:20,459 INFO L290 TraceCheckUtils]: 23: Hoare triple {1753#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2))} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {1772#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:20,459 INFO L272 TraceCheckUtils]: 24: Hoare triple {1772#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |ULTIMATE.start_main_~s~0#1| 1))} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {1693#true} is VALID [2022-02-20 17:22:20,459 INFO L290 TraceCheckUtils]: 25: Hoare triple {1693#true} ~cond := #in~cond; {1693#true} is VALID [2022-02-20 17:22:20,459 INFO L290 TraceCheckUtils]: 26: Hoare triple {1693#true} assume !(0 == ~cond); {1693#true} is VALID [2022-02-20 17:22:20,459 INFO L290 TraceCheckUtils]: 27: Hoare triple {1693#true} assume true; {1693#true} is VALID [2022-02-20 17:22:20,463 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1693#true} {1772#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |ULTIMATE.start_main_~s~0#1| 1))} #84#return; {1772#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:20,464 INFO L272 TraceCheckUtils]: 29: Hoare triple {1772#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |ULTIMATE.start_main_~s~0#1| 1))} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {1693#true} is VALID [2022-02-20 17:22:20,464 INFO L290 TraceCheckUtils]: 30: Hoare triple {1693#true} ~cond := #in~cond; {1693#true} is VALID [2022-02-20 17:22:20,464 INFO L290 TraceCheckUtils]: 31: Hoare triple {1693#true} assume !(0 == ~cond); {1693#true} is VALID [2022-02-20 17:22:20,464 INFO L290 TraceCheckUtils]: 32: Hoare triple {1693#true} assume true; {1693#true} is VALID [2022-02-20 17:22:20,464 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1693#true} {1772#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |ULTIMATE.start_main_~s~0#1| 1))} #86#return; {1772#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:20,465 INFO L290 TraceCheckUtils]: 34: Hoare triple {1772#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {1772#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:20,465 INFO L290 TraceCheckUtils]: 35: Hoare triple {1772#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {1809#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:20,466 INFO L290 TraceCheckUtils]: 36: Hoare triple {1809#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {1809#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:20,466 INFO L272 TraceCheckUtils]: 37: Hoare triple {1809#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {1693#true} is VALID [2022-02-20 17:22:20,466 INFO L290 TraceCheckUtils]: 38: Hoare triple {1693#true} ~cond := #in~cond; {1693#true} is VALID [2022-02-20 17:22:20,466 INFO L290 TraceCheckUtils]: 39: Hoare triple {1693#true} assume !(0 == ~cond); {1693#true} is VALID [2022-02-20 17:22:20,466 INFO L290 TraceCheckUtils]: 40: Hoare triple {1693#true} assume true; {1693#true} is VALID [2022-02-20 17:22:20,467 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1693#true} {1809#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |ULTIMATE.start_main_~s~0#1| 1))} #88#return; {1809#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:20,467 INFO L272 TraceCheckUtils]: 42: Hoare triple {1809#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |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)); {1693#true} is VALID [2022-02-20 17:22:20,467 INFO L290 TraceCheckUtils]: 43: Hoare triple {1693#true} ~cond := #in~cond; {1693#true} is VALID [2022-02-20 17:22:20,467 INFO L290 TraceCheckUtils]: 44: Hoare triple {1693#true} assume !(0 == ~cond); {1693#true} is VALID [2022-02-20 17:22:20,467 INFO L290 TraceCheckUtils]: 45: Hoare triple {1693#true} assume true; {1693#true} is VALID [2022-02-20 17:22:20,468 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1693#true} {1809#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |ULTIMATE.start_main_~s~0#1| 1))} #90#return; {1809#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:20,468 INFO L272 TraceCheckUtils]: 47: Hoare triple {1809#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2) (= |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)); {1846#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:22:20,469 INFO L290 TraceCheckUtils]: 48: Hoare triple {1846#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1850#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:22:20,469 INFO L290 TraceCheckUtils]: 49: Hoare triple {1850#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1694#false} is VALID [2022-02-20 17:22:20,469 INFO L290 TraceCheckUtils]: 50: Hoare triple {1694#false} assume !false; {1694#false} is VALID [2022-02-20 17:22:20,469 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 4 proven. 27 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-02-20 17:22:20,469 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:22:20,796 INFO L290 TraceCheckUtils]: 50: Hoare triple {1694#false} assume !false; {1694#false} is VALID [2022-02-20 17:22:20,797 INFO L290 TraceCheckUtils]: 49: Hoare triple {1850#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1694#false} is VALID [2022-02-20 17:22:20,797 INFO L290 TraceCheckUtils]: 48: Hoare triple {1846#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1850#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:22:20,798 INFO L272 TraceCheckUtils]: 47: Hoare triple {1866#(= (+ (* |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)); {1846#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:22:20,799 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1693#true} {1866#(= (+ (* |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|)} #90#return; {1866#(= (+ (* |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:20,799 INFO L290 TraceCheckUtils]: 45: Hoare triple {1693#true} assume true; {1693#true} is VALID [2022-02-20 17:22:20,799 INFO L290 TraceCheckUtils]: 44: Hoare triple {1693#true} assume !(0 == ~cond); {1693#true} is VALID [2022-02-20 17:22:20,799 INFO L290 TraceCheckUtils]: 43: Hoare triple {1693#true} ~cond := #in~cond; {1693#true} is VALID [2022-02-20 17:22:20,799 INFO L272 TraceCheckUtils]: 42: Hoare triple {1866#(= (+ (* |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)); {1693#true} is VALID [2022-02-20 17:22:20,801 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1693#true} {1866#(= (+ (* |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|)} #88#return; {1866#(= (+ (* |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:20,801 INFO L290 TraceCheckUtils]: 40: Hoare triple {1693#true} assume true; {1693#true} is VALID [2022-02-20 17:22:20,801 INFO L290 TraceCheckUtils]: 39: Hoare triple {1693#true} assume !(0 == ~cond); {1693#true} is VALID [2022-02-20 17:22:20,801 INFO L290 TraceCheckUtils]: 38: Hoare triple {1693#true} ~cond := #in~cond; {1693#true} is VALID [2022-02-20 17:22:20,801 INFO L272 TraceCheckUtils]: 37: Hoare triple {1866#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {1693#true} is VALID [2022-02-20 17:22:20,802 INFO L290 TraceCheckUtils]: 36: Hoare triple {1866#(= (+ (* |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; {1866#(= (+ (* |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:20,803 INFO L290 TraceCheckUtils]: 35: Hoare triple {1903#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|))} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {1866#(= (+ (* |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:20,803 INFO L290 TraceCheckUtils]: 34: Hoare triple {1903#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |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; {1903#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |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:20,804 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1693#true} {1903#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |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|))} #86#return; {1903#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |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:20,804 INFO L290 TraceCheckUtils]: 32: Hoare triple {1693#true} assume true; {1693#true} is VALID [2022-02-20 17:22:20,804 INFO L290 TraceCheckUtils]: 31: Hoare triple {1693#true} assume !(0 == ~cond); {1693#true} is VALID [2022-02-20 17:22:20,804 INFO L290 TraceCheckUtils]: 30: Hoare triple {1693#true} ~cond := #in~cond; {1693#true} is VALID [2022-02-20 17:22:20,804 INFO L272 TraceCheckUtils]: 29: Hoare triple {1903#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|))} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {1693#true} is VALID [2022-02-20 17:22:20,805 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1693#true} {1903#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |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|))} #84#return; {1903#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |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:20,805 INFO L290 TraceCheckUtils]: 27: Hoare triple {1693#true} assume true; {1693#true} is VALID [2022-02-20 17:22:20,805 INFO L290 TraceCheckUtils]: 26: Hoare triple {1693#true} assume !(0 == ~cond); {1693#true} is VALID [2022-02-20 17:22:20,805 INFO L290 TraceCheckUtils]: 25: Hoare triple {1693#true} ~cond := #in~cond; {1693#true} is VALID [2022-02-20 17:22:20,805 INFO L272 TraceCheckUtils]: 24: Hoare triple {1903#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|))} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {1693#true} is VALID [2022-02-20 17:22:20,806 INFO L290 TraceCheckUtils]: 23: Hoare triple {1693#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {1903#(or (= |ULTIMATE.start_main_~b~0#1| 0) (= (+ (* |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:20,806 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1693#true} {1693#true} #82#return; {1693#true} is VALID [2022-02-20 17:22:20,806 INFO L290 TraceCheckUtils]: 21: Hoare triple {1693#true} assume true; {1693#true} is VALID [2022-02-20 17:22:20,806 INFO L290 TraceCheckUtils]: 20: Hoare triple {1693#true} assume !(0 == ~cond); {1693#true} is VALID [2022-02-20 17:22:20,807 INFO L290 TraceCheckUtils]: 19: Hoare triple {1693#true} ~cond := #in~cond; {1693#true} is VALID [2022-02-20 17:22:20,807 INFO L272 TraceCheckUtils]: 18: Hoare triple {1693#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {1693#true} is VALID [2022-02-20 17:22:20,807 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1693#true} {1693#true} #80#return; {1693#true} is VALID [2022-02-20 17:22:20,807 INFO L290 TraceCheckUtils]: 16: Hoare triple {1693#true} assume true; {1693#true} is VALID [2022-02-20 17:22:20,807 INFO L290 TraceCheckUtils]: 15: Hoare triple {1693#true} assume !(0 == ~cond); {1693#true} is VALID [2022-02-20 17:22:20,807 INFO L290 TraceCheckUtils]: 14: Hoare triple {1693#true} ~cond := #in~cond; {1693#true} is VALID [2022-02-20 17:22:20,808 INFO L272 TraceCheckUtils]: 13: Hoare triple {1693#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {1693#true} is VALID [2022-02-20 17:22:20,808 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1693#true} {1693#true} #78#return; {1693#true} is VALID [2022-02-20 17:22:20,808 INFO L290 TraceCheckUtils]: 11: Hoare triple {1693#true} assume true; {1693#true} is VALID [2022-02-20 17:22:20,808 INFO L290 TraceCheckUtils]: 10: Hoare triple {1693#true} assume !(0 == ~cond); {1693#true} is VALID [2022-02-20 17:22:20,808 INFO L290 TraceCheckUtils]: 9: Hoare triple {1693#true} ~cond := #in~cond; {1693#true} is VALID [2022-02-20 17:22:20,808 INFO L272 TraceCheckUtils]: 8: Hoare triple {1693#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 2 then 1 else 0)); {1693#true} is VALID [2022-02-20 17:22:20,809 INFO L290 TraceCheckUtils]: 7: Hoare triple {1693#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; {1693#true} is VALID [2022-02-20 17:22:20,809 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1693#true} {1693#true} #76#return; {1693#true} is VALID [2022-02-20 17:22:20,809 INFO L290 TraceCheckUtils]: 5: Hoare triple {1693#true} assume true; {1693#true} is VALID [2022-02-20 17:22:20,809 INFO L290 TraceCheckUtils]: 4: Hoare triple {1693#true} assume !(0 == ~cond); {1693#true} is VALID [2022-02-20 17:22:20,809 INFO L290 TraceCheckUtils]: 3: Hoare triple {1693#true} ~cond := #in~cond; {1693#true} is VALID [2022-02-20 17:22:20,809 INFO L272 TraceCheckUtils]: 2: Hoare triple {1693#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 2 then 1 else 0)); {1693#true} is VALID [2022-02-20 17:22:20,809 INFO L290 TraceCheckUtils]: 1: Hoare triple {1693#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_~temp~0#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1693#true} is VALID [2022-02-20 17:22:20,810 INFO L290 TraceCheckUtils]: 0: Hoare triple {1693#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {1693#true} is VALID [2022-02-20 17:22:20,810 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-02-20 17:22:20,810 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:22:20,810 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [319732438] [2022-02-20 17:22:20,810 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:22:20,810 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [810248615] [2022-02-20 17:22:20,811 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [810248615] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:22:20,811 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:22:20,811 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [11] total 13 [2022-02-20 17:22:20,811 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [270101181] [2022-02-20 17:22:20,811 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:22:20,812 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 51 [2022-02-20 17:22:20,812 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:22:20,812 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:22:20,834 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:20,835 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 17:22:20,835 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:22:20,835 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 17:22:20,836 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2022-02-20 17:22:20,836 INFO L87 Difference]: Start difference. First operand 47 states and 61 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:22:21,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:21,109 INFO L93 Difference]: Finished difference Result 54 states and 67 transitions. [2022-02-20 17:22:21,109 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:22:21,109 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 51 [2022-02-20 17:22:21,109 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:22:21,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:22:21,111 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2022-02-20 17:22:21,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:22:21,112 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2022-02-20 17:22:21,112 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 61 transitions. [2022-02-20 17:22:21,166 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:22:21,167 INFO L225 Difference]: With dead ends: 54 [2022-02-20 17:22:21,167 INFO L226 Difference]: Without dead ends: 52 [2022-02-20 17:22:21,167 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 88 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=42, Invalid=140, Unknown=0, NotChecked=0, Total=182 [2022-02-20 17:22:21,168 INFO L933 BasicCegarLoop]: 42 mSDtfsCounter, 12 mSDsluCounter, 104 mSDsCounter, 0 mSdLazyCounter, 37 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 37 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:22:21,168 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 146 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 37 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:22:21,168 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-02-20 17:22:21,204 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 51. [2022-02-20 17:22:21,204 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:22:21,204 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 51 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 16 states have call successors, (16), 5 states have call predecessors, (16), 5 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:22:21,205 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 51 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 16 states have call successors, (16), 5 states have call predecessors, (16), 5 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:22:21,205 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 51 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 16 states have call successors, (16), 5 states have call predecessors, (16), 5 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:22:21,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:21,208 INFO L93 Difference]: Finished difference Result 52 states and 65 transitions. [2022-02-20 17:22:21,208 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 65 transitions. [2022-02-20 17:22:21,209 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:21,209 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:21,210 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 16 states have call successors, (16), 5 states have call predecessors, (16), 5 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 52 states. [2022-02-20 17:22:21,210 INFO L87 Difference]: Start difference. First operand has 51 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 16 states have call successors, (16), 5 states have call predecessors, (16), 5 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 52 states. [2022-02-20 17:22:21,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:21,213 INFO L93 Difference]: Finished difference Result 52 states and 65 transitions. [2022-02-20 17:22:21,213 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 65 transitions. [2022-02-20 17:22:21,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:21,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:21,214 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:22:21,214 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:22:21,214 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 16 states have call successors, (16), 5 states have call predecessors, (16), 5 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:22:21,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 64 transitions. [2022-02-20 17:22:21,217 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 64 transitions. Word has length 51 [2022-02-20 17:22:21,218 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:22:21,218 INFO L470 AbstractCegarLoop]: Abstraction has 51 states and 64 transitions. [2022-02-20 17:22:21,219 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:22:21,219 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 64 transitions. [2022-02-20 17:22:21,220 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-02-20 17:22:21,220 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:22:21,220 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:22:21,242 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:22:21,427 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:22:21,427 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:22:21,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:22:21,428 INFO L85 PathProgramCache]: Analyzing trace with hash -670274197, now seen corresponding path program 1 times [2022-02-20 17:22:21,428 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:22:21,428 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [580561624] [2022-02-20 17:22:21,428 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:21,428 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:22:21,438 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:22:21,438 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1925190203] [2022-02-20 17:22:21,439 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:21,439 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:22:21,439 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:22:21,440 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:22:21,441 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:22:21,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:21,477 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 22 conjunts are in the unsatisfiable core [2022-02-20 17:22:21,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:21,494 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:22:22,189 INFO L290 TraceCheckUtils]: 0: Hoare triple {2269#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {2269#true} is VALID [2022-02-20 17:22:22,189 INFO L290 TraceCheckUtils]: 1: Hoare triple {2269#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_~temp~0#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {2269#true} is VALID [2022-02-20 17:22:22,189 INFO L272 TraceCheckUtils]: 2: Hoare triple {2269#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 2 then 1 else 0)); {2269#true} is VALID [2022-02-20 17:22:22,189 INFO L290 TraceCheckUtils]: 3: Hoare triple {2269#true} ~cond := #in~cond; {2269#true} is VALID [2022-02-20 17:22:22,189 INFO L290 TraceCheckUtils]: 4: Hoare triple {2269#true} assume !(0 == ~cond); {2269#true} is VALID [2022-02-20 17:22:22,189 INFO L290 TraceCheckUtils]: 5: Hoare triple {2269#true} assume true; {2269#true} is VALID [2022-02-20 17:22:22,189 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2269#true} {2269#true} #76#return; {2269#true} is VALID [2022-02-20 17:22:22,189 INFO L290 TraceCheckUtils]: 7: Hoare triple {2269#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; {2269#true} is VALID [2022-02-20 17:22:22,189 INFO L272 TraceCheckUtils]: 8: Hoare triple {2269#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 2 then 1 else 0)); {2269#true} is VALID [2022-02-20 17:22:22,190 INFO L290 TraceCheckUtils]: 9: Hoare triple {2269#true} ~cond := #in~cond; {2301#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:22:22,190 INFO L290 TraceCheckUtils]: 10: Hoare triple {2301#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2305#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:22,190 INFO L290 TraceCheckUtils]: 11: Hoare triple {2305#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2305#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:22,191 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2305#(not (= |assume_abort_if_not_#in~cond| 0))} {2269#true} #78#return; {2312#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 17:22:22,191 INFO L272 TraceCheckUtils]: 13: Hoare triple {2312#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|))} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {2269#true} is VALID [2022-02-20 17:22:22,191 INFO L290 TraceCheckUtils]: 14: Hoare triple {2269#true} ~cond := #in~cond; {2269#true} is VALID [2022-02-20 17:22:22,191 INFO L290 TraceCheckUtils]: 15: Hoare triple {2269#true} assume !(0 == ~cond); {2269#true} is VALID [2022-02-20 17:22:22,191 INFO L290 TraceCheckUtils]: 16: Hoare triple {2269#true} assume true; {2269#true} is VALID [2022-02-20 17:22:22,192 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2269#true} {2312#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|))} #80#return; {2312#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 17:22:22,192 INFO L272 TraceCheckUtils]: 18: Hoare triple {2312#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|))} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {2269#true} is VALID [2022-02-20 17:22:22,192 INFO L290 TraceCheckUtils]: 19: Hoare triple {2269#true} ~cond := #in~cond; {2269#true} is VALID [2022-02-20 17:22:22,192 INFO L290 TraceCheckUtils]: 20: Hoare triple {2269#true} assume !(0 == ~cond); {2269#true} is VALID [2022-02-20 17:22:22,192 INFO L290 TraceCheckUtils]: 21: Hoare triple {2269#true} assume true; {2269#true} is VALID [2022-02-20 17:22:22,192 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2269#true} {2312#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|))} #82#return; {2312#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 17:22:22,193 INFO L290 TraceCheckUtils]: 23: Hoare triple {2312#(and (<= |ULTIMATE.start_main_~y~0#1| 2) (<= 0 |ULTIMATE.start_main_~y~0#1|))} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {2346#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:22,193 INFO L272 TraceCheckUtils]: 24: Hoare triple {2346#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {2269#true} is VALID [2022-02-20 17:22:22,193 INFO L290 TraceCheckUtils]: 25: Hoare triple {2269#true} ~cond := #in~cond; {2269#true} is VALID [2022-02-20 17:22:22,193 INFO L290 TraceCheckUtils]: 26: Hoare triple {2269#true} assume !(0 == ~cond); {2269#true} is VALID [2022-02-20 17:22:22,193 INFO L290 TraceCheckUtils]: 27: Hoare triple {2269#true} assume true; {2269#true} is VALID [2022-02-20 17:22:22,194 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2269#true} {2346#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #84#return; {2346#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:22,194 INFO L272 TraceCheckUtils]: 29: Hoare triple {2346#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {2269#true} is VALID [2022-02-20 17:22:22,194 INFO L290 TraceCheckUtils]: 30: Hoare triple {2269#true} ~cond := #in~cond; {2269#true} is VALID [2022-02-20 17:22:22,194 INFO L290 TraceCheckUtils]: 31: Hoare triple {2269#true} assume !(0 == ~cond); {2269#true} is VALID [2022-02-20 17:22:22,194 INFO L290 TraceCheckUtils]: 32: Hoare triple {2269#true} assume true; {2269#true} is VALID [2022-02-20 17:22:22,195 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2269#true} {2346#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #86#return; {2346#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:22,195 INFO L290 TraceCheckUtils]: 34: Hoare triple {2346#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {2346#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:22,196 INFO L290 TraceCheckUtils]: 35: Hoare triple {2346#(and (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {2383#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:22,196 INFO L290 TraceCheckUtils]: 36: Hoare triple {2383#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {2383#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:22,196 INFO L272 TraceCheckUtils]: 37: Hoare triple {2383#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {2269#true} is VALID [2022-02-20 17:22:22,196 INFO L290 TraceCheckUtils]: 38: Hoare triple {2269#true} ~cond := #in~cond; {2269#true} is VALID [2022-02-20 17:22:22,196 INFO L290 TraceCheckUtils]: 39: Hoare triple {2269#true} assume !(0 == ~cond); {2269#true} is VALID [2022-02-20 17:22:22,197 INFO L290 TraceCheckUtils]: 40: Hoare triple {2269#true} assume true; {2269#true} is VALID [2022-02-20 17:22:22,197 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2269#true} {2383#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #88#return; {2383#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:22,197 INFO L272 TraceCheckUtils]: 42: Hoare triple {2383#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |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)); {2269#true} is VALID [2022-02-20 17:22:22,197 INFO L290 TraceCheckUtils]: 43: Hoare triple {2269#true} ~cond := #in~cond; {2269#true} is VALID [2022-02-20 17:22:22,197 INFO L290 TraceCheckUtils]: 44: Hoare triple {2269#true} assume !(0 == ~cond); {2269#true} is VALID [2022-02-20 17:22:22,197 INFO L290 TraceCheckUtils]: 45: Hoare triple {2269#true} assume true; {2269#true} is VALID [2022-02-20 17:22:22,198 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2269#true} {2383#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #90#return; {2383#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:22,198 INFO L272 TraceCheckUtils]: 47: Hoare triple {2383#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |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)); {2269#true} is VALID [2022-02-20 17:22:22,198 INFO L290 TraceCheckUtils]: 48: Hoare triple {2269#true} ~cond := #in~cond; {2423#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:22:22,199 INFO L290 TraceCheckUtils]: 49: Hoare triple {2423#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2427#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:22:22,199 INFO L290 TraceCheckUtils]: 50: Hoare triple {2427#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2427#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:22:22,200 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2427#(not (= |__VERIFIER_assert_#in~cond| 0))} {2383#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #92#return; {2383#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:22,201 INFO L272 TraceCheckUtils]: 52: Hoare triple {2383#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |ULTIMATE.start_main_~yy~0#1| (* |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| 2) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= 0 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~xy~0#1 + main_~s~0#1 * main_~yy~0#1 - main_~q~0#1 * main_~x~0#1 - main_~b~0#1 * main_~y~0#1 - main_~s~0#1 * main_~y~0#1 + main_~b~0#1 then 1 else 0)); {2437#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:22:22,201 INFO L290 TraceCheckUtils]: 53: Hoare triple {2437#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2441#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:22:22,201 INFO L290 TraceCheckUtils]: 54: Hoare triple {2441#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2270#false} is VALID [2022-02-20 17:22:22,201 INFO L290 TraceCheckUtils]: 55: Hoare triple {2270#false} assume !false; {2270#false} is VALID [2022-02-20 17:22:22,201 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 14 proven. 13 refuted. 0 times theorem prover too weak. 51 trivial. 0 not checked. [2022-02-20 17:22:22,202 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:23:27,222 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:23:27,223 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [580561624] [2022-02-20 17:23:27,223 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:23:27,223 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1925190203] [2022-02-20 17:23:27,223 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1925190203] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 17:23:27,223 INFO L191 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:23:27,223 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-02-20 17:23:27,223 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1721789506] [2022-02-20 17:23:27,223 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-02-20 17:23:27,223 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.0) internal successors, (22), 9 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 56 [2022-02-20 17:23:27,224 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:23:27,224 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.0) internal successors, (22), 9 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 17:23:27,256 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:23:27,257 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 17:23:27,257 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:23:27,257 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 17:23:27,257 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=124, Unknown=1, NotChecked=0, Total=156 [2022-02-20 17:23:27,258 INFO L87 Difference]: Start difference. First operand 51 states and 64 transitions. Second operand has 11 states, 11 states have (on average 2.0) internal successors, (22), 9 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 17:23:27,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:23:27,967 INFO L93 Difference]: Finished difference Result 60 states and 72 transitions. [2022-02-20 17:23:27,967 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 17:23:27,968 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.0) internal successors, (22), 9 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 56 [2022-02-20 17:23:27,969 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:23:27,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.0) internal successors, (22), 9 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 17:23:27,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 63 transitions. [2022-02-20 17:23:27,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.0) internal successors, (22), 9 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 17:23:27,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 63 transitions. [2022-02-20 17:23:27,973 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 63 transitions. [2022-02-20 17:23:28,026 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:23:28,028 INFO L225 Difference]: With dead ends: 60 [2022-02-20 17:23:28,028 INFO L226 Difference]: Without dead ends: 58 [2022-02-20 17:23:28,028 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 63 GetRequests, 47 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=46, Invalid=193, Unknown=1, NotChecked=0, Total=240 [2022-02-20 17:23:28,028 INFO L933 BasicCegarLoop]: 24 mSDtfsCounter, 30 mSDsluCounter, 107 mSDsCounter, 0 mSdLazyCounter, 213 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 131 SdHoareTripleChecker+Invalid, 227 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 213 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 17:23:28,029 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [36 Valid, 131 Invalid, 227 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 213 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 17:23:28,029 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-02-20 17:23:28,062 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 55. [2022-02-20 17:23:28,063 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:23:28,063 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 55 states, 32 states have (on average 1.125) internal successors, (36), 33 states have internal predecessors, (36), 16 states have call successors, (16), 6 states have call predecessors, (16), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:23:28,063 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 55 states, 32 states have (on average 1.125) internal successors, (36), 33 states have internal predecessors, (36), 16 states have call successors, (16), 6 states have call predecessors, (16), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:23:28,063 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 55 states, 32 states have (on average 1.125) internal successors, (36), 33 states have internal predecessors, (36), 16 states have call successors, (16), 6 states have call predecessors, (16), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:23:28,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:23:28,065 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-02-20 17:23:28,065 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-02-20 17:23:28,066 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:23:28,066 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:23:28,066 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 32 states have (on average 1.125) internal successors, (36), 33 states have internal predecessors, (36), 16 states have call successors, (16), 6 states have call predecessors, (16), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 58 states. [2022-02-20 17:23:28,066 INFO L87 Difference]: Start difference. First operand has 55 states, 32 states have (on average 1.125) internal successors, (36), 33 states have internal predecessors, (36), 16 states have call successors, (16), 6 states have call predecessors, (16), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 58 states. [2022-02-20 17:23:28,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:23:28,068 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-02-20 17:23:28,068 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-02-20 17:23:28,068 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:23:28,068 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:23:28,068 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:23:28,068 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:23:28,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 32 states have (on average 1.125) internal successors, (36), 33 states have internal predecessors, (36), 16 states have call successors, (16), 6 states have call predecessors, (16), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:23:28,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 67 transitions. [2022-02-20 17:23:28,070 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 67 transitions. Word has length 56 [2022-02-20 17:23:28,070 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:23:28,070 INFO L470 AbstractCegarLoop]: Abstraction has 55 states and 67 transitions. [2022-02-20 17:23:28,071 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.0) internal successors, (22), 9 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-02-20 17:23:28,071 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 67 transitions. [2022-02-20 17:23:28,071 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-02-20 17:23:28,071 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:23:28,071 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:23:28,088 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:23:28,280 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:23:28,280 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:23:28,280 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:23:28,280 INFO L85 PathProgramCache]: Analyzing trace with hash -759965185, now seen corresponding path program 1 times [2022-02-20 17:23:28,280 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:23:28,281 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [674245570] [2022-02-20 17:23:28,281 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:23:28,281 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:23:28,291 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:23:28,292 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1603913826] [2022-02-20 17:23:28,292 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:23:28,292 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:23:28,292 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:23:28,293 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:23:28,294 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:23:28,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:23:28,335 INFO L263 TraceCheckSpWp]: Trace formula consists of 175 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 17:23:28,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:23:28,345 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:23:28,508 INFO L290 TraceCheckUtils]: 0: Hoare triple {2754#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {2754#true} is VALID [2022-02-20 17:23:28,508 INFO L290 TraceCheckUtils]: 1: Hoare triple {2754#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_~temp~0#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {2754#true} is VALID [2022-02-20 17:23:28,508 INFO L272 TraceCheckUtils]: 2: Hoare triple {2754#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 2 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,509 INFO L290 TraceCheckUtils]: 3: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-02-20 17:23:28,509 INFO L290 TraceCheckUtils]: 4: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-02-20 17:23:28,509 INFO L290 TraceCheckUtils]: 5: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-02-20 17:23:28,509 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2754#true} {2754#true} #76#return; {2754#true} is VALID [2022-02-20 17:23:28,509 INFO L290 TraceCheckUtils]: 7: Hoare triple {2754#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; {2754#true} is VALID [2022-02-20 17:23:28,509 INFO L272 TraceCheckUtils]: 8: Hoare triple {2754#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 2 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,509 INFO L290 TraceCheckUtils]: 9: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-02-20 17:23:28,509 INFO L290 TraceCheckUtils]: 10: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-02-20 17:23:28,509 INFO L290 TraceCheckUtils]: 11: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-02-20 17:23:28,509 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2754#true} {2754#true} #78#return; {2754#true} is VALID [2022-02-20 17:23:28,511 INFO L272 TraceCheckUtils]: 13: Hoare triple {2754#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,511 INFO L290 TraceCheckUtils]: 14: Hoare triple {2754#true} ~cond := #in~cond; {2801#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:23:28,512 INFO L290 TraceCheckUtils]: 15: Hoare triple {2801#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2805#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:23:28,512 INFO L290 TraceCheckUtils]: 16: Hoare triple {2805#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2805#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:23:28,512 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2805#(not (= |assume_abort_if_not_#in~cond| 0))} {2754#true} #80#return; {2812#(<= 1 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 17:23:28,512 INFO L272 TraceCheckUtils]: 18: Hoare triple {2812#(<= 1 |ULTIMATE.start_main_~x~0#1|)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,513 INFO L290 TraceCheckUtils]: 19: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-02-20 17:23:28,513 INFO L290 TraceCheckUtils]: 20: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-02-20 17:23:28,513 INFO L290 TraceCheckUtils]: 21: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-02-20 17:23:28,513 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2754#true} {2812#(<= 1 |ULTIMATE.start_main_~x~0#1|)} #82#return; {2812#(<= 1 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 17:23:28,513 INFO L290 TraceCheckUtils]: 23: Hoare triple {2812#(<= 1 |ULTIMATE.start_main_~x~0#1|)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:23:28,514 INFO L272 TraceCheckUtils]: 24: Hoare triple {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,514 INFO L290 TraceCheckUtils]: 25: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-02-20 17:23:28,514 INFO L290 TraceCheckUtils]: 26: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-02-20 17:23:28,514 INFO L290 TraceCheckUtils]: 27: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-02-20 17:23:28,514 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2754#true} {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} #84#return; {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:23:28,514 INFO L272 TraceCheckUtils]: 29: Hoare triple {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,515 INFO L290 TraceCheckUtils]: 30: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-02-20 17:23:28,515 INFO L290 TraceCheckUtils]: 31: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-02-20 17:23:28,515 INFO L290 TraceCheckUtils]: 32: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-02-20 17:23:28,515 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2754#true} {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} #86#return; {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:23:28,516 INFO L290 TraceCheckUtils]: 34: Hoare triple {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} assume !false; {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:23:28,516 INFO L290 TraceCheckUtils]: 35: Hoare triple {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:23:28,517 INFO L290 TraceCheckUtils]: 36: Hoare triple {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} assume !false; {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:23:28,517 INFO L272 TraceCheckUtils]: 37: Hoare triple {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,517 INFO L290 TraceCheckUtils]: 38: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-02-20 17:23:28,517 INFO L290 TraceCheckUtils]: 39: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-02-20 17:23:28,517 INFO L290 TraceCheckUtils]: 40: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-02-20 17:23:28,518 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2754#true} {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} #88#return; {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:23:28,518 INFO L272 TraceCheckUtils]: 42: Hoare triple {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,518 INFO L290 TraceCheckUtils]: 43: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-02-20 17:23:28,518 INFO L290 TraceCheckUtils]: 44: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-02-20 17:23:28,518 INFO L290 TraceCheckUtils]: 45: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-02-20 17:23:28,519 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2754#true} {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} #90#return; {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:23:28,519 INFO L272 TraceCheckUtils]: 47: Hoare triple {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,519 INFO L290 TraceCheckUtils]: 48: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-02-20 17:23:28,519 INFO L290 TraceCheckUtils]: 49: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-02-20 17:23:28,519 INFO L290 TraceCheckUtils]: 50: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-02-20 17:23:28,520 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2754#true} {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} #92#return; {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:23:28,520 INFO L272 TraceCheckUtils]: 52: Hoare triple {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~xy~0#1 + main_~s~0#1 * main_~yy~0#1 - main_~q~0#1 * main_~x~0#1 - main_~b~0#1 * main_~y~0#1 - main_~s~0#1 * main_~y~0#1 + main_~b~0#1 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,520 INFO L290 TraceCheckUtils]: 53: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-02-20 17:23:28,520 INFO L290 TraceCheckUtils]: 54: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-02-20 17:23:28,520 INFO L290 TraceCheckUtils]: 55: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-02-20 17:23:28,520 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2754#true} {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} #94#return; {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:23:28,521 INFO L290 TraceCheckUtils]: 57: Hoare triple {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} assume !(main_~c~0#1 >= main_~b~0#1); {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:23:28,521 INFO L290 TraceCheckUtils]: 58: Hoare triple {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} main_~a~0#1 := main_~b~0#1;main_~b~0#1 := main_~c~0#1;havoc main_~temp~0#1;main_~temp~0#1 := main_~p~0#1;main_~p~0#1 := main_~q~0#1;main_~q~0#1 := main_~temp~0#1 - main_~q~0#1 * main_~k~0#1;main_~temp~0#1 := main_~r~0#1;main_~r~0#1 := main_~s~0#1;main_~s~0#1 := main_~temp~0#1 - main_~s~0#1 * main_~k~0#1; {2938#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:23:28,521 INFO L290 TraceCheckUtils]: 59: Hoare triple {2938#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !false; {2938#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:23:28,522 INFO L290 TraceCheckUtils]: 60: Hoare triple {2938#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !(0 != main_~b~0#1); {2755#false} is VALID [2022-02-20 17:23:28,522 INFO L272 TraceCheckUtils]: 61: Hoare triple {2755#false} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~x~0#1 + main_~s~0#1 * main_~y~0#1 then 1 else 0)); {2755#false} is VALID [2022-02-20 17:23:28,522 INFO L290 TraceCheckUtils]: 62: Hoare triple {2755#false} ~cond := #in~cond; {2755#false} is VALID [2022-02-20 17:23:28,522 INFO L290 TraceCheckUtils]: 63: Hoare triple {2755#false} assume 0 == ~cond; {2755#false} is VALID [2022-02-20 17:23:28,522 INFO L290 TraceCheckUtils]: 64: Hoare triple {2755#false} assume !false; {2755#false} is VALID [2022-02-20 17:23:28,522 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-02-20 17:23:28,522 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:23:28,782 INFO L290 TraceCheckUtils]: 64: Hoare triple {2755#false} assume !false; {2755#false} is VALID [2022-02-20 17:23:28,782 INFO L290 TraceCheckUtils]: 63: Hoare triple {2755#false} assume 0 == ~cond; {2755#false} is VALID [2022-02-20 17:23:28,782 INFO L290 TraceCheckUtils]: 62: Hoare triple {2755#false} ~cond := #in~cond; {2755#false} is VALID [2022-02-20 17:23:28,782 INFO L272 TraceCheckUtils]: 61: Hoare triple {2755#false} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~x~0#1 + main_~s~0#1 * main_~y~0#1 then 1 else 0)); {2755#false} is VALID [2022-02-20 17:23:28,783 INFO L290 TraceCheckUtils]: 60: Hoare triple {2938#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !(0 != main_~b~0#1); {2755#false} is VALID [2022-02-20 17:23:28,783 INFO L290 TraceCheckUtils]: 59: Hoare triple {2938#(<= 1 |ULTIMATE.start_main_~b~0#1|)} assume !false; {2938#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:23:28,783 INFO L290 TraceCheckUtils]: 58: Hoare triple {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} main_~a~0#1 := main_~b~0#1;main_~b~0#1 := main_~c~0#1;havoc main_~temp~0#1;main_~temp~0#1 := main_~p~0#1;main_~p~0#1 := main_~q~0#1;main_~q~0#1 := main_~temp~0#1 - main_~q~0#1 * main_~k~0#1;main_~temp~0#1 := main_~r~0#1;main_~r~0#1 := main_~s~0#1;main_~s~0#1 := main_~temp~0#1 - main_~s~0#1 * main_~k~0#1; {2938#(<= 1 |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:23:28,784 INFO L290 TraceCheckUtils]: 57: Hoare triple {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} assume !(main_~c~0#1 >= main_~b~0#1); {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:23:28,784 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2754#true} {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} #94#return; {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:23:28,784 INFO L290 TraceCheckUtils]: 55: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-02-20 17:23:28,784 INFO L290 TraceCheckUtils]: 54: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-02-20 17:23:28,785 INFO L290 TraceCheckUtils]: 53: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-02-20 17:23:28,785 INFO L272 TraceCheckUtils]: 52: Hoare triple {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~xy~0#1 + main_~s~0#1 * main_~yy~0#1 - main_~q~0#1 * main_~x~0#1 - main_~b~0#1 * main_~y~0#1 - main_~s~0#1 * main_~y~0#1 + main_~b~0#1 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,791 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2754#true} {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} #92#return; {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:23:28,791 INFO L290 TraceCheckUtils]: 50: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-02-20 17:23:28,791 INFO L290 TraceCheckUtils]: 49: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-02-20 17:23:28,791 INFO L290 TraceCheckUtils]: 48: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-02-20 17:23:28,792 INFO L272 TraceCheckUtils]: 47: Hoare triple {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,792 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2754#true} {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} #90#return; {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:23:28,792 INFO L290 TraceCheckUtils]: 45: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-02-20 17:23:28,792 INFO L290 TraceCheckUtils]: 44: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-02-20 17:23:28,792 INFO L290 TraceCheckUtils]: 43: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-02-20 17:23:28,792 INFO L272 TraceCheckUtils]: 42: Hoare triple {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,793 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2754#true} {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} #88#return; {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:23:28,793 INFO L290 TraceCheckUtils]: 40: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-02-20 17:23:28,793 INFO L290 TraceCheckUtils]: 39: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-02-20 17:23:28,793 INFO L290 TraceCheckUtils]: 38: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-02-20 17:23:28,793 INFO L272 TraceCheckUtils]: 37: Hoare triple {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,794 INFO L290 TraceCheckUtils]: 36: Hoare triple {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} assume !false; {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:23:28,795 INFO L290 TraceCheckUtils]: 35: Hoare triple {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {2868#(<= 1 |ULTIMATE.start_main_~c~0#1|)} is VALID [2022-02-20 17:23:28,795 INFO L290 TraceCheckUtils]: 34: Hoare triple {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} assume !false; {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:23:28,795 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2754#true} {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} #86#return; {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:23:28,795 INFO L290 TraceCheckUtils]: 32: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-02-20 17:23:28,795 INFO L290 TraceCheckUtils]: 31: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-02-20 17:23:28,796 INFO L290 TraceCheckUtils]: 30: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-02-20 17:23:28,796 INFO L272 TraceCheckUtils]: 29: Hoare triple {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,796 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2754#true} {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} #84#return; {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:23:28,796 INFO L290 TraceCheckUtils]: 27: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-02-20 17:23:28,796 INFO L290 TraceCheckUtils]: 26: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-02-20 17:23:28,796 INFO L290 TraceCheckUtils]: 25: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-02-20 17:23:28,796 INFO L272 TraceCheckUtils]: 24: Hoare triple {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,797 INFO L290 TraceCheckUtils]: 23: Hoare triple {2812#(<= 1 |ULTIMATE.start_main_~x~0#1|)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {2831#(<= 1 |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:23:28,797 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2754#true} {2812#(<= 1 |ULTIMATE.start_main_~x~0#1|)} #82#return; {2812#(<= 1 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 17:23:28,797 INFO L290 TraceCheckUtils]: 21: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-02-20 17:23:28,798 INFO L290 TraceCheckUtils]: 20: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-02-20 17:23:28,798 INFO L290 TraceCheckUtils]: 19: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-02-20 17:23:28,798 INFO L272 TraceCheckUtils]: 18: Hoare triple {2812#(<= 1 |ULTIMATE.start_main_~x~0#1|)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,798 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2805#(not (= |assume_abort_if_not_#in~cond| 0))} {2754#true} #80#return; {2812#(<= 1 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 17:23:28,799 INFO L290 TraceCheckUtils]: 16: Hoare triple {2805#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2805#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:23:28,799 INFO L290 TraceCheckUtils]: 15: Hoare triple {3107#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {2805#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:23:28,799 INFO L290 TraceCheckUtils]: 14: Hoare triple {2754#true} ~cond := #in~cond; {3107#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-02-20 17:23:28,799 INFO L272 TraceCheckUtils]: 13: Hoare triple {2754#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,800 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2754#true} {2754#true} #78#return; {2754#true} is VALID [2022-02-20 17:23:28,800 INFO L290 TraceCheckUtils]: 11: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-02-20 17:23:28,800 INFO L290 TraceCheckUtils]: 10: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-02-20 17:23:28,800 INFO L290 TraceCheckUtils]: 9: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-02-20 17:23:28,800 INFO L272 TraceCheckUtils]: 8: Hoare triple {2754#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 2 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,800 INFO L290 TraceCheckUtils]: 7: Hoare triple {2754#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; {2754#true} is VALID [2022-02-20 17:23:28,800 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2754#true} {2754#true} #76#return; {2754#true} is VALID [2022-02-20 17:23:28,800 INFO L290 TraceCheckUtils]: 5: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-02-20 17:23:28,800 INFO L290 TraceCheckUtils]: 4: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-02-20 17:23:28,801 INFO L290 TraceCheckUtils]: 3: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-02-20 17:23:28,801 INFO L272 TraceCheckUtils]: 2: Hoare triple {2754#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 2 then 1 else 0)); {2754#true} is VALID [2022-02-20 17:23:28,801 INFO L290 TraceCheckUtils]: 1: Hoare triple {2754#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_~temp~0#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {2754#true} is VALID [2022-02-20 17:23:28,801 INFO L290 TraceCheckUtils]: 0: Hoare triple {2754#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {2754#true} is VALID [2022-02-20 17:23:28,801 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-02-20 17:23:28,801 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:23:28,802 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [674245570] [2022-02-20 17:23:28,802 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:23:28,802 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1603913826] [2022-02-20 17:23:28,802 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1603913826] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:23:28,802 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:23:28,802 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-02-20 17:23:28,802 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1111723331] [2022-02-20 17:23:28,802 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:23:28,803 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 65 [2022-02-20 17:23:28,803 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:23:28,803 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-02-20 17:23:28,833 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:23:28,833 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 17:23:28,833 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:23:28,833 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 17:23:28,834 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:23:28,834 INFO L87 Difference]: Start difference. First operand 55 states and 67 transitions. Second operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-02-20 17:23:29,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:23:29,494 INFO L93 Difference]: Finished difference Result 102 states and 142 transitions. [2022-02-20 17:23:29,494 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 17:23:29,495 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 65 [2022-02-20 17:23:29,495 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:23:29,495 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-02-20 17:23:29,497 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 106 transitions. [2022-02-20 17:23:29,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-02-20 17:23:29,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 106 transitions. [2022-02-20 17:23:29,499 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 106 transitions. [2022-02-20 17:23:29,587 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:23:29,589 INFO L225 Difference]: With dead ends: 102 [2022-02-20 17:23:29,589 INFO L226 Difference]: Without dead ends: 94 [2022-02-20 17:23:29,589 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 120 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-02-20 17:23:29,589 INFO L933 BasicCegarLoop]: 56 mSDtfsCounter, 30 mSDsluCounter, 297 mSDsCounter, 0 mSdLazyCounter, 120 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 353 SdHoareTripleChecker+Invalid, 173 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 120 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:23:29,590 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 353 Invalid, 173 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 120 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:23:29,590 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-02-20 17:23:29,705 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 85. [2022-02-20 17:23:29,705 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:23:29,705 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand has 85 states, 46 states have (on average 1.1956521739130435) internal successors, (55), 47 states have internal predecessors, (55), 32 states have call successors, (32), 6 states have call predecessors, (32), 6 states have return successors, (31), 31 states have call predecessors, (31), 31 states have call successors, (31) [2022-02-20 17:23:29,706 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand has 85 states, 46 states have (on average 1.1956521739130435) internal successors, (55), 47 states have internal predecessors, (55), 32 states have call successors, (32), 6 states have call predecessors, (32), 6 states have return successors, (31), 31 states have call predecessors, (31), 31 states have call successors, (31) [2022-02-20 17:23:29,706 INFO L87 Difference]: Start difference. First operand 94 states. Second operand has 85 states, 46 states have (on average 1.1956521739130435) internal successors, (55), 47 states have internal predecessors, (55), 32 states have call successors, (32), 6 states have call predecessors, (32), 6 states have return successors, (31), 31 states have call predecessors, (31), 31 states have call successors, (31) [2022-02-20 17:23:29,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:23:29,709 INFO L93 Difference]: Finished difference Result 94 states and 133 transitions. [2022-02-20 17:23:29,709 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 133 transitions. [2022-02-20 17:23:29,710 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:23:29,710 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:23:29,710 INFO L74 IsIncluded]: Start isIncluded. First operand has 85 states, 46 states have (on average 1.1956521739130435) internal successors, (55), 47 states have internal predecessors, (55), 32 states have call successors, (32), 6 states have call predecessors, (32), 6 states have return successors, (31), 31 states have call predecessors, (31), 31 states have call successors, (31) Second operand 94 states. [2022-02-20 17:23:29,710 INFO L87 Difference]: Start difference. First operand has 85 states, 46 states have (on average 1.1956521739130435) internal successors, (55), 47 states have internal predecessors, (55), 32 states have call successors, (32), 6 states have call predecessors, (32), 6 states have return successors, (31), 31 states have call predecessors, (31), 31 states have call successors, (31) Second operand 94 states. [2022-02-20 17:23:29,713 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:23:29,713 INFO L93 Difference]: Finished difference Result 94 states and 133 transitions. [2022-02-20 17:23:29,713 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 133 transitions. [2022-02-20 17:23:29,714 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:23:29,714 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:23:29,714 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:23:29,714 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:23:29,714 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 85 states, 46 states have (on average 1.1956521739130435) internal successors, (55), 47 states have internal predecessors, (55), 32 states have call successors, (32), 6 states have call predecessors, (32), 6 states have return successors, (31), 31 states have call predecessors, (31), 31 states have call successors, (31) [2022-02-20 17:23:29,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 118 transitions. [2022-02-20 17:23:29,717 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 118 transitions. Word has length 65 [2022-02-20 17:23:29,717 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:23:29,717 INFO L470 AbstractCegarLoop]: Abstraction has 85 states and 118 transitions. [2022-02-20 17:23:29,717 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-02-20 17:23:29,717 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 118 transitions. [2022-02-20 17:23:29,718 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-02-20 17:23:29,718 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:23:29,718 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 6, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:23:29,738 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-02-20 17:23:29,931 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:23:29,931 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:23:29,931 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:23:29,931 INFO L85 PathProgramCache]: Analyzing trace with hash -696294669, now seen corresponding path program 1 times [2022-02-20 17:23:29,931 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:23:29,932 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [372558223] [2022-02-20 17:23:29,932 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:23:29,932 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:23:29,950 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:23:29,950 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1420522046] [2022-02-20 17:23:29,950 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:23:29,950 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:23:29,951 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:23:29,952 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:23:29,953 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:23:29,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:23:29,993 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 22 conjunts are in the unsatisfiable core [2022-02-20 17:23:30,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:23:30,003 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:23:30,277 INFO L290 TraceCheckUtils]: 0: Hoare triple {3640#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {3640#true} is VALID [2022-02-20 17:23:30,277 INFO L290 TraceCheckUtils]: 1: Hoare triple {3640#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_~temp~0#1, main_~x~0#1, main_~y~0#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~c~0#1, main_~k~0#1, main_~xy~0#1, main_~yy~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~c~0#1;havoc main_~k~0#1;havoc main_~xy~0#1;havoc main_~yy~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {3640#true} is VALID [2022-02-20 17:23:30,277 INFO L272 TraceCheckUtils]: 2: Hoare triple {3640#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 2 then 1 else 0)); {3640#true} is VALID [2022-02-20 17:23:30,277 INFO L290 TraceCheckUtils]: 3: Hoare triple {3640#true} ~cond := #in~cond; {3640#true} is VALID [2022-02-20 17:23:30,277 INFO L290 TraceCheckUtils]: 4: Hoare triple {3640#true} assume !(0 == ~cond); {3640#true} is VALID [2022-02-20 17:23:30,277 INFO L290 TraceCheckUtils]: 5: Hoare triple {3640#true} assume true; {3640#true} is VALID [2022-02-20 17:23:30,277 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3640#true} {3640#true} #76#return; {3640#true} is VALID [2022-02-20 17:23:30,277 INFO L290 TraceCheckUtils]: 7: Hoare triple {3640#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; {3640#true} is VALID [2022-02-20 17:23:30,277 INFO L272 TraceCheckUtils]: 8: Hoare triple {3640#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 2 then 1 else 0)); {3640#true} is VALID [2022-02-20 17:23:30,277 INFO L290 TraceCheckUtils]: 9: Hoare triple {3640#true} ~cond := #in~cond; {3640#true} is VALID [2022-02-20 17:23:30,278 INFO L290 TraceCheckUtils]: 10: Hoare triple {3640#true} assume !(0 == ~cond); {3640#true} is VALID [2022-02-20 17:23:30,278 INFO L290 TraceCheckUtils]: 11: Hoare triple {3640#true} assume true; {3640#true} is VALID [2022-02-20 17:23:30,278 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3640#true} {3640#true} #78#return; {3640#true} is VALID [2022-02-20 17:23:30,278 INFO L272 TraceCheckUtils]: 13: Hoare triple {3640#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {3640#true} is VALID [2022-02-20 17:23:30,278 INFO L290 TraceCheckUtils]: 14: Hoare triple {3640#true} ~cond := #in~cond; {3640#true} is VALID [2022-02-20 17:23:30,278 INFO L290 TraceCheckUtils]: 15: Hoare triple {3640#true} assume !(0 == ~cond); {3640#true} is VALID [2022-02-20 17:23:30,278 INFO L290 TraceCheckUtils]: 16: Hoare triple {3640#true} assume true; {3640#true} is VALID [2022-02-20 17:23:30,278 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3640#true} {3640#true} #80#return; {3640#true} is VALID [2022-02-20 17:23:30,278 INFO L272 TraceCheckUtils]: 18: Hoare triple {3640#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {3640#true} is VALID [2022-02-20 17:23:30,278 INFO L290 TraceCheckUtils]: 19: Hoare triple {3640#true} ~cond := #in~cond; {3640#true} is VALID [2022-02-20 17:23:30,278 INFO L290 TraceCheckUtils]: 20: Hoare triple {3640#true} assume !(0 == ~cond); {3640#true} is VALID [2022-02-20 17:23:30,278 INFO L290 TraceCheckUtils]: 21: Hoare triple {3640#true} assume true; {3640#true} is VALID [2022-02-20 17:23:30,279 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3640#true} {3640#true} #82#return; {3640#true} is VALID [2022-02-20 17:23:30,279 INFO L290 TraceCheckUtils]: 23: Hoare triple {3640#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1;main_~c~0#1 := 0;main_~k~0#1 := 0;main_~xy~0#1 := main_~x~0#1 * main_~y~0#1;main_~yy~0#1 := main_~y~0#1 * main_~y~0#1; {3714#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:23:30,279 INFO L272 TraceCheckUtils]: 24: Hoare triple {3714#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {3640#true} is VALID [2022-02-20 17:23:30,279 INFO L290 TraceCheckUtils]: 25: Hoare triple {3640#true} ~cond := #in~cond; {3640#true} is VALID [2022-02-20 17:23:30,279 INFO L290 TraceCheckUtils]: 26: Hoare triple {3640#true} assume !(0 == ~cond); {3640#true} is VALID [2022-02-20 17:23:30,280 INFO L290 TraceCheckUtils]: 27: Hoare triple {3640#true} assume true; {3640#true} is VALID [2022-02-20 17:23:30,282 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3640#true} {3714#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} #84#return; {3714#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:23:30,282 INFO L272 TraceCheckUtils]: 29: Hoare triple {3714#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {3640#true} is VALID [2022-02-20 17:23:30,282 INFO L290 TraceCheckUtils]: 30: Hoare triple {3640#true} ~cond := #in~cond; {3640#true} is VALID [2022-02-20 17:23:30,282 INFO L290 TraceCheckUtils]: 31: Hoare triple {3640#true} assume !(0 == ~cond); {3640#true} is VALID [2022-02-20 17:23:30,282 INFO L290 TraceCheckUtils]: 32: Hoare triple {3640#true} assume true; {3640#true} is VALID [2022-02-20 17:23:30,283 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3640#true} {3714#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} #86#return; {3714#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:23:30,283 INFO L290 TraceCheckUtils]: 34: Hoare triple {3714#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} assume !false; {3714#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:23:30,284 INFO L290 TraceCheckUtils]: 35: Hoare triple {3714#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {3751#(and (= |ULTIMATE.start_main_~c~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0))} is VALID [2022-02-20 17:23:30,284 INFO L290 TraceCheckUtils]: 36: Hoare triple {3751#(and (= |ULTIMATE.start_main_~c~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0))} assume !false; {3751#(and (= |ULTIMATE.start_main_~c~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0))} is VALID [2022-02-20 17:23:30,284 INFO L272 TraceCheckUtils]: 37: Hoare triple {3751#(and (= |ULTIMATE.start_main_~c~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0))} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {3640#true} is VALID [2022-02-20 17:23:30,284 INFO L290 TraceCheckUtils]: 38: Hoare triple {3640#true} ~cond := #in~cond; {3640#true} is VALID [2022-02-20 17:23:30,284 INFO L290 TraceCheckUtils]: 39: Hoare triple {3640#true} assume !(0 == ~cond); {3640#true} is VALID [2022-02-20 17:23:30,284 INFO L290 TraceCheckUtils]: 40: Hoare triple {3640#true} assume true; {3640#true} is VALID [2022-02-20 17:23:30,285 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3640#true} {3751#(and (= |ULTIMATE.start_main_~c~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0))} #88#return; {3751#(and (= |ULTIMATE.start_main_~c~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0))} is VALID [2022-02-20 17:23:30,285 INFO L272 TraceCheckUtils]: 42: Hoare triple {3751#(and (= |ULTIMATE.start_main_~c~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0))} 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)); {3640#true} is VALID [2022-02-20 17:23:30,285 INFO L290 TraceCheckUtils]: 43: Hoare triple {3640#true} ~cond := #in~cond; {3640#true} is VALID [2022-02-20 17:23:30,285 INFO L290 TraceCheckUtils]: 44: Hoare triple {3640#true} assume !(0 == ~cond); {3640#true} is VALID [2022-02-20 17:23:30,285 INFO L290 TraceCheckUtils]: 45: Hoare triple {3640#true} assume true; {3640#true} is VALID [2022-02-20 17:23:30,286 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3640#true} {3751#(and (= |ULTIMATE.start_main_~c~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0))} #90#return; {3751#(and (= |ULTIMATE.start_main_~c~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0))} is VALID [2022-02-20 17:23:30,286 INFO L272 TraceCheckUtils]: 47: Hoare triple {3751#(and (= |ULTIMATE.start_main_~c~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0))} 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)); {3640#true} is VALID [2022-02-20 17:23:30,286 INFO L290 TraceCheckUtils]: 48: Hoare triple {3640#true} ~cond := #in~cond; {3791#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:23:30,286 INFO L290 TraceCheckUtils]: 49: Hoare triple {3791#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3795#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:23:30,287 INFO L290 TraceCheckUtils]: 50: Hoare triple {3795#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3795#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:23:30,288 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3795#(not (= |__VERIFIER_assert_#in~cond| 0))} {3751#(and (= |ULTIMATE.start_main_~c~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0))} #92#return; {3802#(and (= |ULTIMATE.start_main_~c~0#1| |ULTIMATE.start_main_~x~0#1|) (= (+ (* |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|) (= |ULTIMATE.start_main_~q~0#1| 0))} is VALID [2022-02-20 17:23:30,288 INFO L272 TraceCheckUtils]: 52: Hoare triple {3802#(and (= |ULTIMATE.start_main_~c~0#1| |ULTIMATE.start_main_~x~0#1|) (= (+ (* |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|) (= |ULTIMATE.start_main_~q~0#1| 0))} call __VERIFIER_assert((if 0 == main_~q~0#1 * main_~xy~0#1 + main_~s~0#1 * main_~yy~0#1 - main_~q~0#1 * main_~x~0#1 - main_~b~0#1 * main_~y~0#1 - main_~s~0#1 * main_~y~0#1 + main_~b~0#1 then 1 else 0)); {3640#true} is VALID [2022-02-20 17:23:30,288 INFO L290 TraceCheckUtils]: 53: Hoare triple {3640#true} ~cond := #in~cond; {3640#true} is VALID [2022-02-20 17:23:30,288 INFO L290 TraceCheckUtils]: 54: Hoare triple {3640#true} assume !(0 == ~cond); {3640#true} is VALID [2022-02-20 17:23:30,288 INFO L290 TraceCheckUtils]: 55: Hoare triple {3640#true} assume true; {3640#true} is VALID [2022-02-20 17:23:30,288 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {3640#true} {3802#(and (= |ULTIMATE.start_main_~c~0#1| |ULTIMATE.start_main_~x~0#1|) (= (+ (* |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|) (= |ULTIMATE.start_main_~q~0#1| 0))} #94#return; {3802#(and (= |ULTIMATE.start_main_~c~0#1| |ULTIMATE.start_main_~x~0#1|) (= (+ (* |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|) (= |ULTIMATE.start_main_~q~0#1| 0))} is VALID [2022-02-20 17:23:30,289 INFO L290 TraceCheckUtils]: 57: Hoare triple {3802#(and (= |ULTIMATE.start_main_~c~0#1| |ULTIMATE.start_main_~x~0#1|) (= (+ (* |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|) (= |ULTIMATE.start_main_~q~0#1| 0))} assume !(main_~c~0#1 >= main_~b~0#1); {3802#(and (= |ULTIMATE.start_main_~c~0#1| |ULTIMATE.start_main_~x~0#1|) (= (+ (* |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|) (= |ULTIMATE.start_main_~q~0#1| 0))} is VALID [2022-02-20 17:23:30,289 INFO L290 TraceCheckUtils]: 58: Hoare triple {3802#(and (= |ULTIMATE.start_main_~c~0#1| |ULTIMATE.start_main_~x~0#1|) (= (+ (* |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|) (= |ULTIMATE.start_main_~q~0#1| 0))} main_~a~0#1 := main_~b~0#1;main_~b~0#1 := main_~c~0#1;havoc main_~temp~0#1;main_~temp~0#1 := main_~p~0#1;main_~p~0#1 := main_~q~0#1;main_~q~0#1 := main_~temp~0#1 - main_~q~0#1 * main_~k~0#1;main_~temp~0#1 := main_~r~0#1;main_~r~0#1 := main_~s~0#1;main_~s~0#1 := main_~temp~0#1 - main_~s~0#1 * main_~k~0#1; {3824#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_~a~0#1|))} is VALID [2022-02-20 17:23:30,290 INFO L290 TraceCheckUtils]: 59: Hoare triple {3824#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_~a~0#1|))} assume !false; {3824#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_~a~0#1|))} is VALID [2022-02-20 17:23:30,290 INFO L290 TraceCheckUtils]: 60: Hoare triple {3824#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_~a~0#1|))} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {3824#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_~a~0#1|))} is VALID [2022-02-20 17:23:30,291 INFO L290 TraceCheckUtils]: 61: Hoare triple {3824#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_~a~0#1|))} assume !false; {3824#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_~a~0#1|))} is VALID [2022-02-20 17:23:30,291 INFO L272 TraceCheckUtils]: 62: Hoare triple {3824#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_~a~0#1|))} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {3640#true} is VALID [2022-02-20 17:23:30,291 INFO L290 TraceCheckUtils]: 63: Hoare triple {3640#true} ~cond := #in~cond; {3640#true} is VALID [2022-02-20 17:23:30,291 INFO L290 TraceCheckUtils]: 64: Hoare triple {3640#true} assume !(0 == ~cond); {3640#true} is VALID [2022-02-20 17:23:30,291 INFO L290 TraceCheckUtils]: 65: Hoare triple {3640#true} assume true; {3640#true} is VALID [2022-02-20 17:23:30,292 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {3640#true} {3824#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_~a~0#1|))} #88#return; {3824#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_~a~0#1|))} is VALID [2022-02-20 17:23:30,292 INFO L272 TraceCheckUtils]: 67: Hoare triple {3824#(and (= |ULTIMATE.start_main_~p~0#1| 0) (= (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~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)); {3852#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:23:30,293 INFO L290 TraceCheckUtils]: 68: Hoare triple {3852#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3856#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:23:30,293 INFO L290 TraceCheckUtils]: 69: Hoare triple {3856#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3641#false} is VALID [2022-02-20 17:23:30,293 INFO L290 TraceCheckUtils]: 70: Hoare triple {3641#false} assume !false; {3641#false} is VALID [2022-02-20 17:23:30,293 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 15 proven. 12 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-02-20 17:23:30,293 INFO L328 TraceCheckSpWp]: Computing backward predicates...