./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/nla-digbench-scaling/egcd2-ll_valuebound1.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_valuebound1.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 9439004819e2e34c2ab2e87057bca89732394fc53eb02ecb90192bb8fac7667a --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:22:09,525 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:22:09,526 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:22:09,561 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:22:09,561 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:22:09,565 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:22:09,566 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:22:09,569 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:22:09,571 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:22:09,576 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:22:09,577 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:22:09,578 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:22:09,578 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:22:09,581 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:22:09,582 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:22:09,585 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:22:09,586 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:22:09,587 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:22:09,589 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:22:09,592 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:22:09,594 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:22:09,595 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:22:09,597 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:22:09,598 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:22:09,601 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:22:09,601 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:22:09,602 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:22:09,603 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:22:09,603 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:22:09,604 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:22:09,605 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:22:09,606 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:22:09,607 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:22:09,608 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:22:09,609 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:22:09,609 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:22:09,610 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:22:09,610 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:22:09,610 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:22:09,611 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:22:09,612 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:22:09,613 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:09,648 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:22:09,649 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:22:09,649 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:22:09,650 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:22:09,650 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:22:09,651 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:22:09,651 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:22:09,651 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:22:09,651 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:22:09,652 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:22:09,652 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:22:09,653 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 17:22:09,653 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:22:09,653 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:22:09,653 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:22:09,653 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:22:09,654 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:22:09,654 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:22:09,654 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:22:09,654 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:22:09,654 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:22:09,655 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:22:09,655 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:22:09,655 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:22:09,655 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:22:09,655 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:22:09,656 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:22:09,656 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:22:09,656 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 17:22:09,656 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 17:22:09,656 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:22:09,657 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:22:09,657 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:22:09,657 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 -> 9439004819e2e34c2ab2e87057bca89732394fc53eb02ecb90192bb8fac7667a [2022-02-20 17:22:09,935 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:22:09,951 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:22:09,954 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:22:09,955 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:22:09,955 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:22:09,956 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/nla-digbench-scaling/egcd2-ll_valuebound1.c [2022-02-20 17:22:10,016 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/018e5d448/f31ac41aa7ef480da41f252981c3b696/FLAG08714c5fb [2022-02-20 17:22:10,414 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:22:10,415 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/egcd2-ll_valuebound1.c [2022-02-20 17:22:10,430 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/018e5d448/f31ac41aa7ef480da41f252981c3b696/FLAG08714c5fb [2022-02-20 17:22:10,442 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/018e5d448/f31ac41aa7ef480da41f252981c3b696 [2022-02-20 17:22:10,444 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:22:10,447 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:22:10,449 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:22:10,449 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:22:10,452 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:22:10,453 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:22:10" (1/1) ... [2022-02-20 17:22:10,453 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@58eae33c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:22:10, skipping insertion in model container [2022-02-20 17:22:10,454 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:22:10" (1/1) ... [2022-02-20 17:22:10,460 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:22:10,473 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:22:10,604 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_valuebound1.c[490,503] [2022-02-20 17:22:10,649 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:22:10,656 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:22:10,670 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_valuebound1.c[490,503] [2022-02-20 17:22:10,688 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:22:10,707 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:22:10,708 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:22:10 WrapperNode [2022-02-20 17:22:10,708 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:22:10,709 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:22:10,709 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:22:10,709 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:22:10,715 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:10" (1/1) ... [2022-02-20 17:22:10,726 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:10" (1/1) ... [2022-02-20 17:22:10,757 INFO L137 Inliner]: procedures = 14, calls = 19, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 77 [2022-02-20 17:22:10,758 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:22:10,759 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:22:10,759 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:22:10,759 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:22:10,765 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:10" (1/1) ... [2022-02-20 17:22:10,765 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:10" (1/1) ... [2022-02-20 17:22:10,768 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:10" (1/1) ... [2022-02-20 17:22:10,769 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:10" (1/1) ... [2022-02-20 17:22:10,782 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:10" (1/1) ... [2022-02-20 17:22:10,785 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:10" (1/1) ... [2022-02-20 17:22:10,789 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:10" (1/1) ... [2022-02-20 17:22:10,791 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:22:10,793 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:22:10,793 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:22:10,794 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:22:10,795 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:22:10" (1/1) ... [2022-02-20 17:22:10,800 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:22:10,807 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:22:10,820 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:10,844 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:10,863 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:22:10,863 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 17:22:10,863 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 17:22:10,863 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 17:22:10,863 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:22:10,864 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:22:10,864 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:22:10,864 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:22:10,919 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:22:10,921 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:22:11,137 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:22:11,143 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:22:11,143 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 17:22:11,145 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:22:11 BoogieIcfgContainer [2022-02-20 17:22:11,145 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:22:11,146 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:22:11,147 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:22:11,149 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:22:11,149 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:22:10" (1/3) ... [2022-02-20 17:22:11,150 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@35c94e5d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:22:11, skipping insertion in model container [2022-02-20 17:22:11,150 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:22:10" (2/3) ... [2022-02-20 17:22:11,150 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@35c94e5d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:22:11, skipping insertion in model container [2022-02-20 17:22:11,150 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:22:11" (3/3) ... [2022-02-20 17:22:11,151 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll_valuebound1.c [2022-02-20 17:22:11,155 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:22:11,155 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:22:11,196 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:22:11,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:11,204 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:22:11,222 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:11,227 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-02-20 17:22:11,227 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:22:11,228 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:11,229 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:22:11,236 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:22:11,237 INFO L85 PathProgramCache]: Analyzing trace with hash -1146169762, now seen corresponding path program 1 times [2022-02-20 17:22:11,244 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:22:11,246 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1304785924] [2022-02-20 17:22:11,246 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:11,247 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:22:11,365 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:11,418 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:22:11,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:11,447 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:11,448 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:11,449 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:11,449 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #76#return; {39#false} is VALID [2022-02-20 17:22:11,450 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:22:11,457 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:11,467 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:11,468 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:11,468 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:11,468 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #78#return; {39#false} is VALID [2022-02-20 17:22:11,469 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:22:11,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:11,488 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:11,489 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:11,489 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:11,489 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #80#return; {39#false} is VALID [2022-02-20 17:22:11,490 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-02-20 17:22:11,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:11,514 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:11,514 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:11,515 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:11,515 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #82#return; {39#false} is VALID [2022-02-20 17:22:11,515 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-02-20 17:22:11,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:11,528 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:11,529 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:11,529 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:11,552 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #84#return; {39#false} is VALID [2022-02-20 17:22:11,552 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-02-20 17:22:11,557 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:11,583 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:11,584 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:11,584 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:11,584 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #86#return; {39#false} is VALID [2022-02-20 17:22:11,586 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:11,586 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:11,586 INFO L272 TraceCheckUtils]: 2: Hoare triple {38#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 1 then 1 else 0)); {38#true} is VALID [2022-02-20 17:22:11,586 INFO L290 TraceCheckUtils]: 3: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:11,588 INFO L290 TraceCheckUtils]: 4: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:11,588 INFO L290 TraceCheckUtils]: 5: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:11,589 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {39#false} {38#true} #76#return; {39#false} is VALID [2022-02-20 17:22:11,589 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:11,589 INFO L272 TraceCheckUtils]: 8: Hoare triple {39#false} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 1 then 1 else 0)); {38#true} is VALID [2022-02-20 17:22:11,589 INFO L290 TraceCheckUtils]: 9: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:11,590 INFO L290 TraceCheckUtils]: 10: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:11,591 INFO L290 TraceCheckUtils]: 11: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:11,591 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {39#false} {39#false} #78#return; {39#false} is VALID [2022-02-20 17:22:11,591 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:11,592 INFO L290 TraceCheckUtils]: 14: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:11,593 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:11,593 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:11,594 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {39#false} {39#false} #80#return; {39#false} is VALID [2022-02-20 17:22:11,594 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:11,595 INFO L290 TraceCheckUtils]: 19: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:11,595 INFO L290 TraceCheckUtils]: 20: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:11,596 INFO L290 TraceCheckUtils]: 21: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:11,597 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {39#false} {39#false} #82#return; {39#false} is VALID [2022-02-20 17:22:11,597 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:11,601 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:11,601 INFO L290 TraceCheckUtils]: 25: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:11,602 INFO L290 TraceCheckUtils]: 26: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:11,602 INFO L290 TraceCheckUtils]: 27: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:11,602 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {39#false} {39#false} #84#return; {39#false} is VALID [2022-02-20 17:22:11,602 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:11,602 INFO L290 TraceCheckUtils]: 30: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-02-20 17:22:11,603 INFO L290 TraceCheckUtils]: 31: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-02-20 17:22:11,603 INFO L290 TraceCheckUtils]: 32: Hoare triple {39#false} assume true; {39#false} is VALID [2022-02-20 17:22:11,603 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {39#false} {39#false} #86#return; {39#false} is VALID [2022-02-20 17:22:11,604 INFO L290 TraceCheckUtils]: 34: Hoare triple {39#false} assume !true; {39#false} is VALID [2022-02-20 17:22:11,604 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:11,604 INFO L290 TraceCheckUtils]: 36: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-02-20 17:22:11,604 INFO L290 TraceCheckUtils]: 37: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-02-20 17:22:11,605 INFO L290 TraceCheckUtils]: 38: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-02-20 17:22:11,606 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:11,606 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:22:11,607 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1304785924] [2022-02-20 17:22:11,608 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1304785924] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:22:11,608 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:22:11,608 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 17:22:11,610 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2071547661] [2022-02-20 17:22:11,611 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:22:11,616 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:11,618 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:22:11,625 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:11,675 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:11,676 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 17:22:11,676 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:22:11,696 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 17:22:11,698 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:22:11,701 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:11,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:11,812 INFO L93 Difference]: Finished difference Result 67 states and 112 transitions. [2022-02-20 17:22:11,812 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 17:22:11,812 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:11,813 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:22:11,814 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:11,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 112 transitions. [2022-02-20 17:22:11,829 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:11,840 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 112 transitions. [2022-02-20 17:22:11,841 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 112 transitions. [2022-02-20 17:22:11,993 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:12,004 INFO L225 Difference]: With dead ends: 67 [2022-02-20 17:22:12,004 INFO L226 Difference]: Without dead ends: 31 [2022-02-20 17:22:12,007 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:12,013 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:12,014 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:12,028 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-02-20 17:22:12,043 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 31. [2022-02-20 17:22:12,043 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:22:12,044 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:12,045 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:12,046 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:12,052 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:12,052 INFO L93 Difference]: Finished difference Result 31 states and 42 transitions. [2022-02-20 17:22:12,053 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 42 transitions. [2022-02-20 17:22:12,053 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:12,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:12,055 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:12,055 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:12,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:12,062 INFO L93 Difference]: Finished difference Result 31 states and 42 transitions. [2022-02-20 17:22:12,062 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 42 transitions. [2022-02-20 17:22:12,063 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:12,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:12,064 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:22:12,064 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:22:12,065 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:12,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 42 transitions. [2022-02-20 17:22:12,071 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 42 transitions. Word has length 39 [2022-02-20 17:22:12,071 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:22:12,071 INFO L470 AbstractCegarLoop]: Abstraction has 31 states and 42 transitions. [2022-02-20 17:22:12,071 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:12,072 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 42 transitions. [2022-02-20 17:22:12,074 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-02-20 17:22:12,074 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:22:12,075 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:12,075 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 17:22:12,076 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:22:12,076 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:22:12,076 INFO L85 PathProgramCache]: Analyzing trace with hash 846808023, now seen corresponding path program 1 times [2022-02-20 17:22:12,077 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:22:12,077 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [22806182] [2022-02-20 17:22:12,077 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:12,077 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:22:12,117 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:22:12,117 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [562250886] [2022-02-20 17:22:12,118 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:12,118 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:22:12,118 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:22:12,120 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:12,121 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:12,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:12,175 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 17:22:12,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:12,192 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:22:12,418 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:12,418 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:12,418 INFO L272 TraceCheckUtils]: 2: Hoare triple {275#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 1 then 1 else 0)); {275#true} is VALID [2022-02-20 17:22:12,419 INFO L290 TraceCheckUtils]: 3: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:12,419 INFO L290 TraceCheckUtils]: 4: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:12,419 INFO L290 TraceCheckUtils]: 5: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:12,419 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {275#true} {275#true} #76#return; {275#true} is VALID [2022-02-20 17:22:12,420 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:12,420 INFO L272 TraceCheckUtils]: 8: Hoare triple {275#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 1 then 1 else 0)); {275#true} is VALID [2022-02-20 17:22:12,420 INFO L290 TraceCheckUtils]: 9: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:12,420 INFO L290 TraceCheckUtils]: 10: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:12,420 INFO L290 TraceCheckUtils]: 11: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:12,421 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {275#true} {275#true} #78#return; {275#true} is VALID [2022-02-20 17:22:12,422 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:12,422 INFO L290 TraceCheckUtils]: 14: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:12,422 INFO L290 TraceCheckUtils]: 15: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:12,422 INFO L290 TraceCheckUtils]: 16: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:12,423 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {275#true} {275#true} #80#return; {275#true} is VALID [2022-02-20 17:22:12,423 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:12,424 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:12,424 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:12,426 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:12,427 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:12,428 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:12,428 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:12,428 INFO L290 TraceCheckUtils]: 25: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:12,428 INFO L290 TraceCheckUtils]: 26: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:12,428 INFO L290 TraceCheckUtils]: 27: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:12,429 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:12,430 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:12,430 INFO L290 TraceCheckUtils]: 30: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:12,430 INFO L290 TraceCheckUtils]: 31: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:12,430 INFO L290 TraceCheckUtils]: 32: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:12,431 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:12,432 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:12,432 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:12,432 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:12,434 INFO L290 TraceCheckUtils]: 37: Hoare triple {276#false} ~cond := #in~cond; {276#false} is VALID [2022-02-20 17:22:12,435 INFO L290 TraceCheckUtils]: 38: Hoare triple {276#false} assume 0 == ~cond; {276#false} is VALID [2022-02-20 17:22:12,435 INFO L290 TraceCheckUtils]: 39: Hoare triple {276#false} assume !false; {276#false} is VALID [2022-02-20 17:22:12,436 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:12,436 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:22:12,744 INFO L290 TraceCheckUtils]: 39: Hoare triple {276#false} assume !false; {276#false} is VALID [2022-02-20 17:22:12,745 INFO L290 TraceCheckUtils]: 38: Hoare triple {276#false} assume 0 == ~cond; {276#false} is VALID [2022-02-20 17:22:12,745 INFO L290 TraceCheckUtils]: 37: Hoare triple {276#false} ~cond := #in~cond; {276#false} is VALID [2022-02-20 17:22:12,746 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:12,747 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:12,750 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:12,751 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:12,752 INFO L290 TraceCheckUtils]: 32: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:12,753 INFO L290 TraceCheckUtils]: 31: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:12,753 INFO L290 TraceCheckUtils]: 30: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:12,754 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:12,756 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:12,756 INFO L290 TraceCheckUtils]: 27: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:12,769 INFO L290 TraceCheckUtils]: 26: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:12,769 INFO L290 TraceCheckUtils]: 25: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:12,769 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:12,770 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:12,771 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:12,772 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:12,772 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:12,773 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:12,773 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:12,773 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {275#true} {275#true} #80#return; {275#true} is VALID [2022-02-20 17:22:12,773 INFO L290 TraceCheckUtils]: 16: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:12,774 INFO L290 TraceCheckUtils]: 15: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:12,774 INFO L290 TraceCheckUtils]: 14: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:12,774 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:12,774 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {275#true} {275#true} #78#return; {275#true} is VALID [2022-02-20 17:22:12,774 INFO L290 TraceCheckUtils]: 11: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:12,775 INFO L290 TraceCheckUtils]: 10: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:12,775 INFO L290 TraceCheckUtils]: 9: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:12,775 INFO L272 TraceCheckUtils]: 8: Hoare triple {275#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 1 then 1 else 0)); {275#true} is VALID [2022-02-20 17:22:12,775 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:12,775 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {275#true} {275#true} #76#return; {275#true} is VALID [2022-02-20 17:22:12,777 INFO L290 TraceCheckUtils]: 5: Hoare triple {275#true} assume true; {275#true} is VALID [2022-02-20 17:22:12,777 INFO L290 TraceCheckUtils]: 4: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-02-20 17:22:12,777 INFO L290 TraceCheckUtils]: 3: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-02-20 17:22:12,777 INFO L272 TraceCheckUtils]: 2: Hoare triple {275#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 1 then 1 else 0)); {275#true} is VALID [2022-02-20 17:22:12,778 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:12,778 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:12,778 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:12,779 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:22:12,780 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [22806182] [2022-02-20 17:22:12,780 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:22:12,780 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [562250886] [2022-02-20 17:22:12,780 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [562250886] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:22:12,781 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:22:12,781 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-02-20 17:22:12,782 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [958457163] [2022-02-20 17:22:12,784 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:22:12,790 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:12,791 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:22:12,791 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:12,817 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:12,817 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 17:22:12,817 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:22:12,818 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 17:22:12,818 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-02-20 17:22:12,819 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:13,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:13,151 INFO L93 Difference]: Finished difference Result 48 states and 65 transitions. [2022-02-20 17:22:13,152 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:22:13,152 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:13,152 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:22:13,153 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:13,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2022-02-20 17:22:13,155 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:13,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2022-02-20 17:22:13,157 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 65 transitions. [2022-02-20 17:22:13,218 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:13,220 INFO L225 Difference]: With dead ends: 48 [2022-02-20 17:22:13,220 INFO L226 Difference]: Without dead ends: 40 [2022-02-20 17:22:13,220 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:13,221 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:13,222 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:13,223 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-02-20 17:22:13,238 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 33. [2022-02-20 17:22:13,238 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:22:13,239 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:13,239 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:13,239 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:13,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:13,243 INFO L93 Difference]: Finished difference Result 40 states and 56 transitions. [2022-02-20 17:22:13,243 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 56 transitions. [2022-02-20 17:22:13,244 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:13,244 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:13,245 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:13,245 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:13,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:13,248 INFO L93 Difference]: Finished difference Result 40 states and 56 transitions. [2022-02-20 17:22:13,249 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 56 transitions. [2022-02-20 17:22:13,249 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:13,249 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:13,250 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:22:13,250 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:22:13,250 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:13,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 44 transitions. [2022-02-20 17:22:13,253 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 44 transitions. Word has length 40 [2022-02-20 17:22:13,253 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:22:13,253 INFO L470 AbstractCegarLoop]: Abstraction has 33 states and 44 transitions. [2022-02-20 17:22:13,253 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:13,254 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 44 transitions. [2022-02-20 17:22:13,254 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-02-20 17:22:13,255 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:22:13,255 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:13,282 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:13,475 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:13,476 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:22:13,476 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:22:13,476 INFO L85 PathProgramCache]: Analyzing trace with hash 481927254, now seen corresponding path program 1 times [2022-02-20 17:22:13,476 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:22:13,477 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [55475375] [2022-02-20 17:22:13,477 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:13,477 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:22:13,495 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:22:13,495 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1918672236] [2022-02-20 17:22:13,495 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:13,496 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:22:13,496 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:22:13,497 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:13,501 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:13,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:13,549 INFO L263 TraceCheckSpWp]: Trace formula consists of 121 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 17:22:13,568 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:13,569 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:22:13,782 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:13,782 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:13,782 INFO L272 TraceCheckUtils]: 2: Hoare triple {725#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 1 then 1 else 0)); {725#true} is VALID [2022-02-20 17:22:13,782 INFO L290 TraceCheckUtils]: 3: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:13,782 INFO L290 TraceCheckUtils]: 4: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:13,783 INFO L290 TraceCheckUtils]: 5: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:13,783 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {725#true} {725#true} #76#return; {725#true} is VALID [2022-02-20 17:22:13,783 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:13,783 INFO L272 TraceCheckUtils]: 8: Hoare triple {725#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 1 then 1 else 0)); {725#true} is VALID [2022-02-20 17:22:13,783 INFO L290 TraceCheckUtils]: 9: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:13,784 INFO L290 TraceCheckUtils]: 10: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:13,784 INFO L290 TraceCheckUtils]: 11: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:13,784 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {725#true} {725#true} #78#return; {725#true} is VALID [2022-02-20 17:22:13,784 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:13,784 INFO L290 TraceCheckUtils]: 14: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:13,784 INFO L290 TraceCheckUtils]: 15: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:13,785 INFO L290 TraceCheckUtils]: 16: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:13,785 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {725#true} {725#true} #80#return; {725#true} is VALID [2022-02-20 17:22:13,785 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:13,787 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:13,787 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:13,787 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:13,788 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:13,789 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:13,789 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:13,789 INFO L290 TraceCheckUtils]: 25: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:13,789 INFO L290 TraceCheckUtils]: 26: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:13,789 INFO L290 TraceCheckUtils]: 27: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:13,795 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:13,796 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:13,796 INFO L290 TraceCheckUtils]: 30: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:13,797 INFO L290 TraceCheckUtils]: 31: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:13,797 INFO L290 TraceCheckUtils]: 32: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:13,798 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:13,799 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:13,806 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:13,807 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:13,808 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:13,811 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:13,812 INFO L290 TraceCheckUtils]: 39: Hoare triple {850#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {726#false} is VALID [2022-02-20 17:22:13,812 INFO L290 TraceCheckUtils]: 40: Hoare triple {726#false} assume !false; {726#false} is VALID [2022-02-20 17:22:13,812 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:13,813 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:22:14,031 INFO L290 TraceCheckUtils]: 40: Hoare triple {726#false} assume !false; {726#false} is VALID [2022-02-20 17:22:14,032 INFO L290 TraceCheckUtils]: 39: Hoare triple {850#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {726#false} is VALID [2022-02-20 17:22:14,033 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:14,034 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:14,034 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:14,035 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:14,035 INFO L290 TraceCheckUtils]: 34: Hoare triple {725#true} assume !false; {725#true} is VALID [2022-02-20 17:22:14,035 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {725#true} {725#true} #86#return; {725#true} is VALID [2022-02-20 17:22:14,035 INFO L290 TraceCheckUtils]: 32: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:14,035 INFO L290 TraceCheckUtils]: 31: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:14,036 INFO L290 TraceCheckUtils]: 30: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:14,036 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:14,036 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {725#true} {725#true} #84#return; {725#true} is VALID [2022-02-20 17:22:14,036 INFO L290 TraceCheckUtils]: 27: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:14,036 INFO L290 TraceCheckUtils]: 26: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:14,036 INFO L290 TraceCheckUtils]: 25: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:14,037 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:14,037 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:14,037 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {725#true} {725#true} #82#return; {725#true} is VALID [2022-02-20 17:22:14,037 INFO L290 TraceCheckUtils]: 21: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:14,037 INFO L290 TraceCheckUtils]: 20: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:14,038 INFO L290 TraceCheckUtils]: 19: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:14,038 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:14,038 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {725#true} {725#true} #80#return; {725#true} is VALID [2022-02-20 17:22:14,038 INFO L290 TraceCheckUtils]: 16: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:14,038 INFO L290 TraceCheckUtils]: 15: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:14,038 INFO L290 TraceCheckUtils]: 14: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:14,039 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:14,039 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {725#true} {725#true} #78#return; {725#true} is VALID [2022-02-20 17:22:14,039 INFO L290 TraceCheckUtils]: 11: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:14,039 INFO L290 TraceCheckUtils]: 10: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:14,039 INFO L290 TraceCheckUtils]: 9: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:14,040 INFO L272 TraceCheckUtils]: 8: Hoare triple {725#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 1 then 1 else 0)); {725#true} is VALID [2022-02-20 17:22:14,040 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:14,040 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {725#true} {725#true} #76#return; {725#true} is VALID [2022-02-20 17:22:14,040 INFO L290 TraceCheckUtils]: 5: Hoare triple {725#true} assume true; {725#true} is VALID [2022-02-20 17:22:14,040 INFO L290 TraceCheckUtils]: 4: Hoare triple {725#true} assume !(0 == ~cond); {725#true} is VALID [2022-02-20 17:22:14,041 INFO L290 TraceCheckUtils]: 3: Hoare triple {725#true} ~cond := #in~cond; {725#true} is VALID [2022-02-20 17:22:14,041 INFO L272 TraceCheckUtils]: 2: Hoare triple {725#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 1 then 1 else 0)); {725#true} is VALID [2022-02-20 17:22:14,041 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:14,041 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:14,041 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:14,042 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:22:14,042 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [55475375] [2022-02-20 17:22:14,042 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:22:14,042 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1918672236] [2022-02-20 17:22:14,042 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1918672236] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:22:14,042 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:22:14,043 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-02-20 17:22:14,043 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1589950536] [2022-02-20 17:22:14,043 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:22:14,044 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:14,044 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:22:14,044 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:14,066 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:14,066 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:22:14,066 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:22:14,067 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:22:14,067 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-02-20 17:22:14,067 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:14,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:14,338 INFO L93 Difference]: Finished difference Result 39 states and 49 transitions. [2022-02-20 17:22:14,338 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:22:14,338 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:14,338 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:22:14,339 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:14,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-02-20 17:22:14,341 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:14,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-02-20 17:22:14,342 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-02-20 17:22:14,392 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:14,394 INFO L225 Difference]: With dead ends: 39 [2022-02-20 17:22:14,394 INFO L226 Difference]: Without dead ends: 37 [2022-02-20 17:22:14,394 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 71 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:22:14,395 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:14,396 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:14,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-02-20 17:22:14,411 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 37. [2022-02-20 17:22:14,412 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:22:14,412 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:14,413 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:14,413 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:14,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:14,415 INFO L93 Difference]: Finished difference Result 37 states and 47 transitions. [2022-02-20 17:22:14,415 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 47 transitions. [2022-02-20 17:22:14,416 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:14,416 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:14,416 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:14,417 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:14,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:14,419 INFO L93 Difference]: Finished difference Result 37 states and 47 transitions. [2022-02-20 17:22:14,419 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 47 transitions. [2022-02-20 17:22:14,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:14,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:14,420 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:22:14,420 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:22:14,420 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:14,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 47 transitions. [2022-02-20 17:22:14,422 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 47 transitions. Word has length 41 [2022-02-20 17:22:14,422 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:22:14,423 INFO L470 AbstractCegarLoop]: Abstraction has 37 states and 47 transitions. [2022-02-20 17:22:14,423 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:14,423 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 47 transitions. [2022-02-20 17:22:14,424 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-02-20 17:22:14,424 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:22:14,424 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:14,450 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:14,647 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:14,647 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:22:14,648 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:22:14,648 INFO L85 PathProgramCache]: Analyzing trace with hash -1626076469, now seen corresponding path program 1 times [2022-02-20 17:22:14,648 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:22:14,648 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1961368698] [2022-02-20 17:22:14,648 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:14,648 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:22:14,665 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:22:14,665 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1928363682] [2022-02-20 17:22:14,666 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:14,666 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:22:14,666 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:22:14,667 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:14,670 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:14,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:14,733 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 19 conjunts are in the unsatisfiable core [2022-02-20 17:22:14,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:14,747 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:22:15,194 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:15,195 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:15,195 INFO L272 TraceCheckUtils]: 2: Hoare triple {1165#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 1 then 1 else 0)); {1165#true} is VALID [2022-02-20 17:22:15,196 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:15,196 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:15,196 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:15,197 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| 1))} is VALID [2022-02-20 17:22:15,198 INFO L290 TraceCheckUtils]: 7: Hoare triple {1190#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 1))} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1190#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 1))} is VALID [2022-02-20 17:22:15,198 INFO L272 TraceCheckUtils]: 8: Hoare triple {1190#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 1))} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 1 then 1 else 0)); {1165#true} is VALID [2022-02-20 17:22:15,198 INFO L290 TraceCheckUtils]: 9: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-02-20 17:22:15,198 INFO L290 TraceCheckUtils]: 10: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-02-20 17:22:15,198 INFO L290 TraceCheckUtils]: 11: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-02-20 17:22:15,199 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1165#true} {1190#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 1))} #78#return; {1190#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 1))} is VALID [2022-02-20 17:22:15,199 INFO L272 TraceCheckUtils]: 13: Hoare triple {1190#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 1))} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {1165#true} is VALID [2022-02-20 17:22:15,199 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:15,205 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:15,206 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:15,206 INFO L284 TraceCheckUtils]: 17: 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| 1))} #80#return; {1224#(and (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:22:15,207 INFO L272 TraceCheckUtils]: 18: Hoare triple {1224#(and (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|))} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {1165#true} is VALID [2022-02-20 17:22:15,207 INFO L290 TraceCheckUtils]: 19: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-02-20 17:22:15,207 INFO L290 TraceCheckUtils]: 20: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-02-20 17:22:15,207 INFO L290 TraceCheckUtils]: 21: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-02-20 17:22:15,208 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1165#true} {1224#(and (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|))} #82#return; {1224#(and (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:22:15,209 INFO L290 TraceCheckUtils]: 23: Hoare triple {1224#(and (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 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; {1243#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:22:15,209 INFO L272 TraceCheckUtils]: 24: Hoare triple {1243#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |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)); {1165#true} is VALID [2022-02-20 17:22:15,209 INFO L290 TraceCheckUtils]: 25: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-02-20 17:22:15,209 INFO L290 TraceCheckUtils]: 26: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-02-20 17:22:15,210 INFO L290 TraceCheckUtils]: 27: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-02-20 17:22:15,210 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1165#true} {1243#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} #84#return; {1243#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:22:15,210 INFO L272 TraceCheckUtils]: 29: Hoare triple {1243#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |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)); {1165#true} is VALID [2022-02-20 17:22:15,211 INFO L290 TraceCheckUtils]: 30: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-02-20 17:22:15,211 INFO L290 TraceCheckUtils]: 31: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-02-20 17:22:15,211 INFO L290 TraceCheckUtils]: 32: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-02-20 17:22:15,212 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1165#true} {1243#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} #86#return; {1243#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:22:15,212 INFO L290 TraceCheckUtils]: 34: Hoare triple {1243#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} assume !false; {1243#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:22:15,213 INFO L290 TraceCheckUtils]: 35: Hoare triple {1243#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |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; {1243#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:22:15,213 INFO L290 TraceCheckUtils]: 36: Hoare triple {1243#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} assume !false; {1243#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:22:15,214 INFO L272 TraceCheckUtils]: 37: Hoare triple {1243#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {1165#true} is VALID [2022-02-20 17:22:15,214 INFO L290 TraceCheckUtils]: 38: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-02-20 17:22:15,214 INFO L290 TraceCheckUtils]: 39: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-02-20 17:22:15,214 INFO L290 TraceCheckUtils]: 40: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-02-20 17:22:15,219 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1165#true} {1243#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} #88#return; {1243#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:22:15,220 INFO L272 TraceCheckUtils]: 42: Hoare triple {1243#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= |ULTIMATE.start_main_~x~0#1| 1) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {1301#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:22:15,220 INFO L290 TraceCheckUtils]: 43: Hoare triple {1301#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1305#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:22:15,221 INFO L290 TraceCheckUtils]: 44: Hoare triple {1305#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1166#false} is VALID [2022-02-20 17:22:15,221 INFO L290 TraceCheckUtils]: 45: Hoare triple {1166#false} assume !false; {1166#false} is VALID [2022-02-20 17:22:15,221 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 5 proven. 21 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-02-20 17:22:15,222 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:22:54,161 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:22:54,161 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1961368698] [2022-02-20 17:22:54,162 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:22:54,162 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1928363682] [2022-02-20 17:22:54,162 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1928363682] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 17:22:54,162 INFO L191 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:22:54,162 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-02-20 17:22:54,162 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1794281017] [2022-02-20 17:22:54,162 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-02-20 17:22:54,163 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 3 states have call predecessors, (7), 4 states have call successors, (7) Word has length 46 [2022-02-20 17:22:54,163 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:22:54,163 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 3 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 17:22:54,196 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:54,196 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 17:22:54,196 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:22:54,197 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 17:22:54,197 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-02-20 17:22:54,197 INFO L87 Difference]: Start difference. First operand 37 states and 47 transitions. Second operand has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 3 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 17:22:54,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:54,680 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-02-20 17:22:54,680 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 17:22:54,680 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 3 states have call predecessors, (7), 4 states have call successors, (7) Word has length 46 [2022-02-20 17:22:54,680 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:22:54,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 3 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 17:22:54,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 61 transitions. [2022-02-20 17:22:54,682 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 3 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 17:22:54,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 61 transitions. [2022-02-20 17:22:54,684 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 61 transitions. [2022-02-20 17:22:54,747 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:54,749 INFO L225 Difference]: With dead ends: 50 [2022-02-20 17:22:54,749 INFO L226 Difference]: Without dead ends: 48 [2022-02-20 17:22:54,749 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 41 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-02-20 17:22:54,750 INFO L933 BasicCegarLoop]: 36 mSDtfsCounter, 22 mSDsluCounter, 164 mSDsCounter, 0 mSdLazyCounter, 101 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 200 SdHoareTripleChecker+Invalid, 109 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 101 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:22:54,750 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 200 Invalid, 109 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 101 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:22:54,751 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-02-20 17:22:54,794 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 47. [2022-02-20 17:22:54,795 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:22:54,796 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:54,796 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:54,796 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:54,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:54,800 INFO L93 Difference]: Finished difference Result 48 states and 62 transitions. [2022-02-20 17:22:54,800 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 62 transitions. [2022-02-20 17:22:54,802 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:54,802 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:54,802 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:54,803 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:54,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:54,806 INFO L93 Difference]: Finished difference Result 48 states and 62 transitions. [2022-02-20 17:22:54,806 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 62 transitions. [2022-02-20 17:22:54,807 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:54,807 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:54,807 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:22:54,807 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:22:54,808 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:54,810 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 61 transitions. [2022-02-20 17:22:54,810 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 61 transitions. Word has length 46 [2022-02-20 17:22:54,810 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:22:54,810 INFO L470 AbstractCegarLoop]: Abstraction has 47 states and 61 transitions. [2022-02-20 17:22:54,811 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 3 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 17:22:54,811 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 61 transitions. [2022-02-20 17:22:54,813 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-02-20 17:22:54,813 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:22:54,813 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:54,839 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:55,014 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:55,014 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:22:55,014 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:22:55,015 INFO L85 PathProgramCache]: Analyzing trace with hash 779090230, now seen corresponding path program 1 times [2022-02-20 17:22:55,015 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:22:55,015 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [585638121] [2022-02-20 17:22:55,015 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:55,015 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:22:55,035 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:22:55,035 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1557161265] [2022-02-20 17:22:55,035 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:55,036 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:22:55,036 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:22:55,037 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:55,060 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:55,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:55,098 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 15 conjunts are in the unsatisfiable core [2022-02-20 17:22:55,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:55,110 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:22:55,789 INFO L290 TraceCheckUtils]: 0: Hoare triple {1572#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); {1572#true} is VALID [2022-02-20 17:22:55,790 INFO L290 TraceCheckUtils]: 1: Hoare triple {1572#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; {1572#true} is VALID [2022-02-20 17:22:55,790 INFO L272 TraceCheckUtils]: 2: Hoare triple {1572#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 1 then 1 else 0)); {1572#true} is VALID [2022-02-20 17:22:55,790 INFO L290 TraceCheckUtils]: 3: Hoare triple {1572#true} ~cond := #in~cond; {1572#true} is VALID [2022-02-20 17:22:55,790 INFO L290 TraceCheckUtils]: 4: Hoare triple {1572#true} assume !(0 == ~cond); {1572#true} is VALID [2022-02-20 17:22:55,791 INFO L290 TraceCheckUtils]: 5: Hoare triple {1572#true} assume true; {1572#true} is VALID [2022-02-20 17:22:55,791 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1572#true} {1572#true} #76#return; {1572#true} is VALID [2022-02-20 17:22:55,791 INFO L290 TraceCheckUtils]: 7: Hoare triple {1572#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; {1572#true} is VALID [2022-02-20 17:22:55,792 INFO L272 TraceCheckUtils]: 8: Hoare triple {1572#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 1 then 1 else 0)); {1572#true} is VALID [2022-02-20 17:22:55,793 INFO L290 TraceCheckUtils]: 9: Hoare triple {1572#true} ~cond := #in~cond; {1604#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:22:55,793 INFO L290 TraceCheckUtils]: 10: Hoare triple {1604#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1608#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:55,793 INFO L290 TraceCheckUtils]: 11: Hoare triple {1608#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1608#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:22:55,794 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1608#(not (= |assume_abort_if_not_#in~cond| 0))} {1572#true} #78#return; {1615#(and (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 17:22:55,794 INFO L272 TraceCheckUtils]: 13: Hoare triple {1615#(and (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 1))} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {1572#true} is VALID [2022-02-20 17:22:55,794 INFO L290 TraceCheckUtils]: 14: Hoare triple {1572#true} ~cond := #in~cond; {1572#true} is VALID [2022-02-20 17:22:55,795 INFO L290 TraceCheckUtils]: 15: Hoare triple {1572#true} assume !(0 == ~cond); {1572#true} is VALID [2022-02-20 17:22:55,795 INFO L290 TraceCheckUtils]: 16: Hoare triple {1572#true} assume true; {1572#true} is VALID [2022-02-20 17:22:55,795 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1572#true} {1615#(and (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 1))} #80#return; {1615#(and (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 17:22:55,795 INFO L272 TraceCheckUtils]: 18: Hoare triple {1615#(and (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 1))} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {1572#true} is VALID [2022-02-20 17:22:55,796 INFO L290 TraceCheckUtils]: 19: Hoare triple {1572#true} ~cond := #in~cond; {1572#true} is VALID [2022-02-20 17:22:55,796 INFO L290 TraceCheckUtils]: 20: Hoare triple {1572#true} assume !(0 == ~cond); {1572#true} is VALID [2022-02-20 17:22:55,796 INFO L290 TraceCheckUtils]: 21: Hoare triple {1572#true} assume true; {1572#true} is VALID [2022-02-20 17:22:55,796 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1572#true} {1615#(and (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 1))} #82#return; {1615#(and (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 17:22:55,797 INFO L290 TraceCheckUtils]: 23: Hoare triple {1615#(and (<= 0 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 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; {1649#(and (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:55,797 INFO L272 TraceCheckUtils]: 24: Hoare triple {1649#(and (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} call assume_abort_if_not((if main_~xy~0#1 < 2147483647 then 1 else 0)); {1572#true} is VALID [2022-02-20 17:22:55,797 INFO L290 TraceCheckUtils]: 25: Hoare triple {1572#true} ~cond := #in~cond; {1572#true} is VALID [2022-02-20 17:22:55,797 INFO L290 TraceCheckUtils]: 26: Hoare triple {1572#true} assume !(0 == ~cond); {1572#true} is VALID [2022-02-20 17:22:55,798 INFO L290 TraceCheckUtils]: 27: Hoare triple {1572#true} assume true; {1572#true} is VALID [2022-02-20 17:22:55,798 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1572#true} {1649#(and (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} #84#return; {1649#(and (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:55,798 INFO L272 TraceCheckUtils]: 29: Hoare triple {1649#(and (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} call assume_abort_if_not((if main_~yy~0#1 < 2147483647 then 1 else 0)); {1572#true} is VALID [2022-02-20 17:22:55,799 INFO L290 TraceCheckUtils]: 30: Hoare triple {1572#true} ~cond := #in~cond; {1572#true} is VALID [2022-02-20 17:22:55,799 INFO L290 TraceCheckUtils]: 31: Hoare triple {1572#true} assume !(0 == ~cond); {1572#true} is VALID [2022-02-20 17:22:55,800 INFO L290 TraceCheckUtils]: 32: Hoare triple {1572#true} assume true; {1572#true} is VALID [2022-02-20 17:22:55,801 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1572#true} {1649#(and (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} #86#return; {1649#(and (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:55,801 INFO L290 TraceCheckUtils]: 34: Hoare triple {1649#(and (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {1649#(and (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:55,802 INFO L290 TraceCheckUtils]: 35: Hoare triple {1649#(and (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(0 != main_~b~0#1);main_~c~0#1 := main_~a~0#1;main_~k~0#1 := 0; {1686#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:55,802 INFO L290 TraceCheckUtils]: 36: Hoare triple {1686#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {1686#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:55,803 INFO L272 TraceCheckUtils]: 37: Hoare triple {1686#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~k~0#1 * main_~b~0#1 + main_~c~0#1 then 1 else 0)); {1572#true} is VALID [2022-02-20 17:22:55,803 INFO L290 TraceCheckUtils]: 38: Hoare triple {1572#true} ~cond := #in~cond; {1572#true} is VALID [2022-02-20 17:22:55,803 INFO L290 TraceCheckUtils]: 39: Hoare triple {1572#true} assume !(0 == ~cond); {1572#true} is VALID [2022-02-20 17:22:55,803 INFO L290 TraceCheckUtils]: 40: Hoare triple {1572#true} assume true; {1572#true} is VALID [2022-02-20 17:22:55,804 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1572#true} {1686#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} #88#return; {1686#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:55,804 INFO L272 TraceCheckUtils]: 42: Hoare triple {1686#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {1572#true} is VALID [2022-02-20 17:22:55,804 INFO L290 TraceCheckUtils]: 43: Hoare triple {1572#true} ~cond := #in~cond; {1572#true} is VALID [2022-02-20 17:22:55,804 INFO L290 TraceCheckUtils]: 44: Hoare triple {1572#true} assume !(0 == ~cond); {1572#true} is VALID [2022-02-20 17:22:55,805 INFO L290 TraceCheckUtils]: 45: Hoare triple {1572#true} assume true; {1572#true} is VALID [2022-02-20 17:22:55,805 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1572#true} {1686#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} #90#return; {1686#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:55,807 INFO L272 TraceCheckUtils]: 47: Hoare triple {1686#(and (not (= |ULTIMATE.start_main_~b~0#1| 0)) (= |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_~y~0#1| 1) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {1723#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:22:55,807 INFO L290 TraceCheckUtils]: 48: Hoare triple {1723#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1727#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:22:55,808 INFO L290 TraceCheckUtils]: 49: Hoare triple {1727#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1573#false} is VALID [2022-02-20 17:22:55,808 INFO L290 TraceCheckUtils]: 50: Hoare triple {1573#false} assume !false; {1573#false} is VALID [2022-02-20 17:22:55,809 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 7 proven. 12 refuted. 0 times theorem prover too weak. 49 trivial. 0 not checked. [2022-02-20 17:22:55,809 INFO L328 TraceCheckSpWp]: Computing backward predicates...