./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/nla-digbench-scaling/hard2_valuebound2.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/nla-digbench-scaling/hard2_valuebound2.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 39b9505d3a064a677b57bccb6de3a4c04e873275d34ee3c16e80371638b07149 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:32:27,734 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:32:27,736 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:32:27,770 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:32:27,771 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:32:27,771 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:32:27,772 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:32:27,774 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:32:27,775 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:32:27,775 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:32:27,776 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:32:27,777 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:32:27,777 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:32:27,778 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:32:27,779 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:32:27,780 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:32:27,780 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:32:27,781 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:32:27,782 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:32:27,784 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:32:27,785 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:32:27,786 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:32:27,787 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:32:27,787 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:32:27,789 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:32:27,790 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:32:27,790 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:32:27,790 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:32:27,791 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:32:27,791 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:32:27,792 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:32:27,792 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:32:27,793 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:32:27,793 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:32:27,799 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:32:27,800 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:32:27,800 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:32:27,801 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:32:27,801 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:32:27,802 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:32:27,804 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:32:27,804 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:32:27,824 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:32:27,824 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:32:27,825 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:32:27,825 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:32:27,825 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:32:27,825 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:32:27,826 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:32:27,826 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:32:27,826 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:32:27,826 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:32:27,827 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:32:27,827 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 17:32:27,827 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:32:27,827 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:32:27,827 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:32:27,828 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:32:27,828 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:32:27,828 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:32:27,828 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:32:27,828 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:32:27,828 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:32:27,828 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:32:27,829 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:32:27,829 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:32:27,829 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:32:27,829 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:32:27,829 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:32:27,829 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:32:27,829 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 17:32:27,829 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 17:32:27,830 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:32:27,830 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:32:27,830 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:32:27,830 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 -> 39b9505d3a064a677b57bccb6de3a4c04e873275d34ee3c16e80371638b07149 [2022-02-20 17:32:28,001 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:32:28,022 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:32:28,024 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:32:28,024 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:32:28,025 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:32:28,026 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/nla-digbench-scaling/hard2_valuebound2.c [2022-02-20 17:32:28,072 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/72adc423b/6aabc123aae340f5bb814990a0d8639d/FLAG16ad343c7 [2022-02-20 17:32:28,418 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:32:28,418 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/hard2_valuebound2.c [2022-02-20 17:32:28,423 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/72adc423b/6aabc123aae340f5bb814990a0d8639d/FLAG16ad343c7 [2022-02-20 17:32:28,864 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/72adc423b/6aabc123aae340f5bb814990a0d8639d [2022-02-20 17:32:28,866 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:32:28,869 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:32:28,872 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:32:28,872 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:32:28,874 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:32:28,875 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:32:28" (1/1) ... [2022-02-20 17:32:28,876 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@577b6b1b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:32:28, skipping insertion in model container [2022-02-20 17:32:28,876 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:32:28" (1/1) ... [2022-02-20 17:32:28,881 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:32:28,892 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:32:28,997 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/hard2_valuebound2.c[526,539] [2022-02-20 17:32:29,007 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:32:29,013 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:32:29,020 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/hard2_valuebound2.c[526,539] [2022-02-20 17:32:29,025 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:32:29,034 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:32:29,035 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:32:29 WrapperNode [2022-02-20 17:32:29,035 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:32:29,036 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:32:29,036 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:32:29,036 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:32:29,040 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:32:29" (1/1) ... [2022-02-20 17:32:29,044 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:32:29" (1/1) ... [2022-02-20 17:32:29,069 INFO L137 Inliner]: procedures = 14, calls = 15, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 56 [2022-02-20 17:32:29,069 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:32:29,070 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:32:29,070 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:32:29,070 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:32:29,076 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:32:29" (1/1) ... [2022-02-20 17:32:29,076 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:32:29" (1/1) ... [2022-02-20 17:32:29,085 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:32:29" (1/1) ... [2022-02-20 17:32:29,086 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:32:29" (1/1) ... [2022-02-20 17:32:29,095 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:32:29" (1/1) ... [2022-02-20 17:32:29,103 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:32:29" (1/1) ... [2022-02-20 17:32:29,104 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:32:29" (1/1) ... [2022-02-20 17:32:29,106 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:32:29,110 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:32:29,110 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:32:29,111 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:32:29,112 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:32:29" (1/1) ... [2022-02-20 17:32:29,116 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:32:29,123 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:29,139 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:32:29,145 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:32:29,170 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:32:29,171 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 17:32:29,171 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:32:29,171 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:32:29,171 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:32:29,171 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:32:29,213 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:32:29,214 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:32:29,334 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:32:29,338 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:32:29,338 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 17:32:29,339 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:32:29 BoogieIcfgContainer [2022-02-20 17:32:29,340 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:32:29,341 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:32:29,341 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:32:29,355 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:32:29,356 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:32:28" (1/3) ... [2022-02-20 17:32:29,356 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@19f7abb1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:32:29, skipping insertion in model container [2022-02-20 17:32:29,357 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:32:29" (2/3) ... [2022-02-20 17:32:29,357 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@19f7abb1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:32:29, skipping insertion in model container [2022-02-20 17:32:29,357 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:32:29" (3/3) ... [2022-02-20 17:32:29,358 INFO L111 eAbstractionObserver]: Analyzing ICFG hard2_valuebound2.c [2022-02-20 17:32:29,361 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:32:29,365 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:32:29,398 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:32:29,402 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:32:29,402 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:32:29,415 INFO L276 IsEmpty]: Start isEmpty. Operand has 26 states, 16 states have (on average 1.625) internal successors, (26), 17 states have internal predecessors, (26), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 17:32:29,418 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 17:32:29,418 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:29,419 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:29,419 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:29,422 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:29,423 INFO L85 PathProgramCache]: Analyzing trace with hash -586848446, now seen corresponding path program 1 times [2022-02-20 17:32:29,432 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:29,432 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1983790985] [2022-02-20 17:32:29,433 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:29,433 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:29,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:29,577 INFO L290 TraceCheckUtils]: 0: Hoare triple {29#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(8, 2);call #Ultimate.allocInit(12, 3); {29#true} is VALID [2022-02-20 17:32:29,579 INFO L290 TraceCheckUtils]: 1: Hoare triple {29#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~A~0#1 >= 0 && main_~A~0#1 <= 2 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {29#true} is VALID [2022-02-20 17:32:29,580 INFO L290 TraceCheckUtils]: 2: Hoare triple {29#true} assume 0 == assume_abort_if_not_~cond#1;assume false; {30#false} is VALID [2022-02-20 17:32:29,580 INFO L290 TraceCheckUtils]: 3: Hoare triple {30#false} assume { :end_inline_assume_abort_if_not } true;main_~B~0#1 := 1;main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {30#false} is VALID [2022-02-20 17:32:29,581 INFO L290 TraceCheckUtils]: 4: Hoare triple {30#false} assume !false; {30#false} is VALID [2022-02-20 17:32:29,581 INFO L272 TraceCheckUtils]: 5: Hoare triple {30#false} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {30#false} is VALID [2022-02-20 17:32:29,581 INFO L290 TraceCheckUtils]: 6: Hoare triple {30#false} ~cond := #in~cond; {30#false} is VALID [2022-02-20 17:32:29,582 INFO L290 TraceCheckUtils]: 7: Hoare triple {30#false} assume 0 == ~cond; {30#false} is VALID [2022-02-20 17:32:29,582 INFO L290 TraceCheckUtils]: 8: Hoare triple {30#false} assume !false; {30#false} is VALID [2022-02-20 17:32:29,583 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 17:32:29,583 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:29,584 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1983790985] [2022-02-20 17:32:29,584 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1983790985] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:32:29,584 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:32:29,585 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 17:32:29,587 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [525192372] [2022-02-20 17:32:29,588 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:29,592 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 4.0) internal successors, (8), 2 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 17:32:29,594 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:29,597 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 4.0) internal successors, (8), 2 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:32:29,622 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:29,622 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 17:32:29,623 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:29,649 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 17:32:29,650 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:32:29,652 INFO L87 Difference]: Start difference. First operand has 26 states, 16 states have (on average 1.625) internal successors, (26), 17 states have internal predecessors, (26), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand has 2 states, 2 states have (on average 4.0) internal successors, (8), 2 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:32:29,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:29,737 INFO L93 Difference]: Finished difference Result 49 states and 83 transitions. [2022-02-20 17:32:29,737 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 17:32:29,738 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 4.0) internal successors, (8), 2 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 17:32:29,738 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:29,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 4.0) internal successors, (8), 2 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:32:29,749 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 83 transitions. [2022-02-20 17:32:29,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 4.0) internal successors, (8), 2 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:32:29,761 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 83 transitions. [2022-02-20 17:32:29,762 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 83 transitions. [2022-02-20 17:32:29,860 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:29,867 INFO L225 Difference]: With dead ends: 49 [2022-02-20 17:32:29,868 INFO L226 Difference]: Without dead ends: 22 [2022-02-20 17:32:29,870 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 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:32:29,873 INFO L933 BasicCegarLoop]: 34 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, 34 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:32:29,874 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:32:29,886 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2022-02-20 17:32:29,898 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 22. [2022-02-20 17:32:29,898 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:29,899 INFO L82 GeneralOperation]: Start isEquivalent. First operand 22 states. Second operand has 22 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:32:29,900 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand has 22 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:32:29,900 INFO L87 Difference]: Start difference. First operand 22 states. Second operand has 22 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:32:29,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:29,904 INFO L93 Difference]: Finished difference Result 22 states and 30 transitions. [2022-02-20 17:32:29,905 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 30 transitions. [2022-02-20 17:32:29,905 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:29,905 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:29,906 INFO L74 IsIncluded]: Start isIncluded. First operand has 22 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 22 states. [2022-02-20 17:32:29,906 INFO L87 Difference]: Start difference. First operand has 22 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 22 states. [2022-02-20 17:32:29,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:29,908 INFO L93 Difference]: Finished difference Result 22 states and 30 transitions. [2022-02-20 17:32:29,908 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 30 transitions. [2022-02-20 17:32:29,909 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:29,909 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:29,909 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:29,909 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:29,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:32:29,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 30 transitions. [2022-02-20 17:32:29,915 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 30 transitions. Word has length 9 [2022-02-20 17:32:29,915 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:29,915 INFO L470 AbstractCegarLoop]: Abstraction has 22 states and 30 transitions. [2022-02-20 17:32:29,916 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 4.0) internal successors, (8), 2 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:32:29,916 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 30 transitions. [2022-02-20 17:32:29,917 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 17:32:29,917 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:29,917 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:29,917 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 17:32:29,918 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:29,920 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:29,920 INFO L85 PathProgramCache]: Analyzing trace with hash 1188158916, now seen corresponding path program 1 times [2022-02-20 17:32:29,921 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:29,921 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [726409993] [2022-02-20 17:32:29,923 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:29,923 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:29,939 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:29,973 INFO L290 TraceCheckUtils]: 0: Hoare triple {177#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(8, 2);call #Ultimate.allocInit(12, 3); {177#true} is VALID [2022-02-20 17:32:29,973 INFO L290 TraceCheckUtils]: 1: Hoare triple {177#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~A~0#1 >= 0 && main_~A~0#1 <= 2 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {177#true} is VALID [2022-02-20 17:32:29,973 INFO L290 TraceCheckUtils]: 2: Hoare triple {177#true} assume !(0 == assume_abort_if_not_~cond#1); {177#true} is VALID [2022-02-20 17:32:29,974 INFO L290 TraceCheckUtils]: 3: Hoare triple {177#true} assume { :end_inline_assume_abort_if_not } true;main_~B~0#1 := 1;main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {179#(= |ULTIMATE.start_main_~q~0#1| 0)} is VALID [2022-02-20 17:32:29,974 INFO L290 TraceCheckUtils]: 4: Hoare triple {179#(= |ULTIMATE.start_main_~q~0#1| 0)} assume !false; {179#(= |ULTIMATE.start_main_~q~0#1| 0)} is VALID [2022-02-20 17:32:29,975 INFO L272 TraceCheckUtils]: 5: Hoare triple {179#(= |ULTIMATE.start_main_~q~0#1| 0)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {180#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:32:29,976 INFO L290 TraceCheckUtils]: 6: Hoare triple {180#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {181#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:32:29,976 INFO L290 TraceCheckUtils]: 7: Hoare triple {181#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {178#false} is VALID [2022-02-20 17:32:29,976 INFO L290 TraceCheckUtils]: 8: Hoare triple {178#false} assume !false; {178#false} is VALID [2022-02-20 17:32:29,976 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 17:32:29,977 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:29,977 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [726409993] [2022-02-20 17:32:29,977 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [726409993] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:32:29,977 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:32:29,977 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:32:29,977 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1024593660] [2022-02-20 17:32:29,978 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:29,979 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 1.6) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 17:32:29,979 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:29,979 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 1.6) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:32:29,985 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:29,986 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:32:29,986 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:29,986 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:32:29,987 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:32:29,987 INFO L87 Difference]: Start difference. First operand 22 states and 30 transitions. Second operand has 5 states, 5 states have (on average 1.6) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:32:30,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:30,091 INFO L93 Difference]: Finished difference Result 35 states and 47 transitions. [2022-02-20 17:32:30,091 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:32:30,091 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 1.6) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 17:32:30,092 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:30,092 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 1.6) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:32:30,093 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 47 transitions. [2022-02-20 17:32:30,093 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 1.6) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:32:30,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 47 transitions. [2022-02-20 17:32:30,095 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 47 transitions. [2022-02-20 17:32:30,130 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:32:30,132 INFO L225 Difference]: With dead ends: 35 [2022-02-20 17:32:30,132 INFO L226 Difference]: Without dead ends: 33 [2022-02-20 17:32:30,132 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:32:30,133 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 12 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 21 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 98 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 21 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:32:30,133 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 98 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 21 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:32:30,134 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-02-20 17:32:30,137 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 26. [2022-02-20 17:32:30,137 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:30,137 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 26 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:32:30,137 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 26 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:32:30,138 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 26 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:32:30,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:30,140 INFO L93 Difference]: Finished difference Result 33 states and 45 transitions. [2022-02-20 17:32:30,140 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 45 transitions. [2022-02-20 17:32:30,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:30,141 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:30,141 INFO L74 IsIncluded]: Start isIncluded. First operand has 26 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 33 states. [2022-02-20 17:32:30,141 INFO L87 Difference]: Start difference. First operand has 26 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 33 states. [2022-02-20 17:32:30,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:30,143 INFO L93 Difference]: Finished difference Result 33 states and 45 transitions. [2022-02-20 17:32:30,143 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 45 transitions. [2022-02-20 17:32:30,144 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:30,144 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:30,144 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:30,144 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:30,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:32:30,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 33 transitions. [2022-02-20 17:32:30,146 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 33 transitions. Word has length 9 [2022-02-20 17:32:30,146 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:30,146 INFO L470 AbstractCegarLoop]: Abstraction has 26 states and 33 transitions. [2022-02-20 17:32:30,146 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 1.6) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:32:30,147 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 33 transitions. [2022-02-20 17:32:30,147 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2022-02-20 17:32:30,147 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:30,147 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:30,147 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 17:32:30,148 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:30,148 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:30,148 INFO L85 PathProgramCache]: Analyzing trace with hash -697944935, now seen corresponding path program 1 times [2022-02-20 17:32:30,148 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:30,148 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1859178916] [2022-02-20 17:32:30,149 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:30,149 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:30,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:30,198 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-20 17:32:30,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:30,205 INFO L290 TraceCheckUtils]: 0: Hoare triple {337#true} ~cond := #in~cond; {337#true} is VALID [2022-02-20 17:32:30,205 INFO L290 TraceCheckUtils]: 1: Hoare triple {337#true} assume !(0 == ~cond); {337#true} is VALID [2022-02-20 17:32:30,205 INFO L290 TraceCheckUtils]: 2: Hoare triple {337#true} assume true; {337#true} is VALID [2022-02-20 17:32:30,206 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {337#true} {339#(= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|)} #72#return; {339#(= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|)} is VALID [2022-02-20 17:32:30,206 INFO L290 TraceCheckUtils]: 0: Hoare triple {337#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(8, 2);call #Ultimate.allocInit(12, 3); {337#true} is VALID [2022-02-20 17:32:30,207 INFO L290 TraceCheckUtils]: 1: Hoare triple {337#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~A~0#1 >= 0 && main_~A~0#1 <= 2 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {337#true} is VALID [2022-02-20 17:32:30,207 INFO L290 TraceCheckUtils]: 2: Hoare triple {337#true} assume !(0 == assume_abort_if_not_~cond#1); {337#true} is VALID [2022-02-20 17:32:30,207 INFO L290 TraceCheckUtils]: 3: Hoare triple {337#true} assume { :end_inline_assume_abort_if_not } true;main_~B~0#1 := 1;main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {339#(= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|)} is VALID [2022-02-20 17:32:30,208 INFO L290 TraceCheckUtils]: 4: Hoare triple {339#(= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|)} assume !false; {339#(= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|)} is VALID [2022-02-20 17:32:30,208 INFO L272 TraceCheckUtils]: 5: Hoare triple {339#(= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {337#true} is VALID [2022-02-20 17:32:30,208 INFO L290 TraceCheckUtils]: 6: Hoare triple {337#true} ~cond := #in~cond; {337#true} is VALID [2022-02-20 17:32:30,208 INFO L290 TraceCheckUtils]: 7: Hoare triple {337#true} assume !(0 == ~cond); {337#true} is VALID [2022-02-20 17:32:30,209 INFO L290 TraceCheckUtils]: 8: Hoare triple {337#true} assume true; {337#true} is VALID [2022-02-20 17:32:30,209 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {337#true} {339#(= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|)} #72#return; {339#(= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|)} is VALID [2022-02-20 17:32:30,210 INFO L272 TraceCheckUtils]: 10: Hoare triple {339#(= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {344#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:32:30,210 INFO L290 TraceCheckUtils]: 11: Hoare triple {344#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {345#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:32:30,211 INFO L290 TraceCheckUtils]: 12: Hoare triple {345#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {338#false} is VALID [2022-02-20 17:32:30,211 INFO L290 TraceCheckUtils]: 13: Hoare triple {338#false} assume !false; {338#false} is VALID [2022-02-20 17:32:30,217 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 17:32:30,218 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:30,218 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1859178916] [2022-02-20 17:32:30,218 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1859178916] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:32:30,218 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:32:30,218 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:32:30,219 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1317754561] [2022-02-20 17:32:30,219 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:30,219 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 14 [2022-02-20 17:32:30,220 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:30,220 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 17:32:30,231 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:30,231 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:32:30,231 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:30,232 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:32:30,232 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:32:30,232 INFO L87 Difference]: Start difference. First operand 26 states and 33 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 17:32:30,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:30,350 INFO L93 Difference]: Finished difference Result 39 states and 50 transitions. [2022-02-20 17:32:30,350 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:32:30,350 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 14 [2022-02-20 17:32:30,351 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:30,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 17:32:30,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 47 transitions. [2022-02-20 17:32:30,352 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 17:32:30,354 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 47 transitions. [2022-02-20 17:32:30,354 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 47 transitions. [2022-02-20 17:32:30,393 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:32:30,394 INFO L225 Difference]: With dead ends: 39 [2022-02-20 17:32:30,394 INFO L226 Difference]: Without dead ends: 37 [2022-02-20 17:32:30,394 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:32:30,395 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 10 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 31 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 94 SdHoareTripleChecker+Invalid, 32 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 31 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:32:30,396 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 94 Invalid, 32 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 31 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:32:30,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-02-20 17:32:30,399 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 30. [2022-02-20 17:32:30,399 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:30,399 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 30 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:32:30,399 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 30 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:32:30,400 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 30 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:32:30,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:30,402 INFO L93 Difference]: Finished difference Result 37 states and 48 transitions. [2022-02-20 17:32:30,402 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-02-20 17:32:30,402 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:30,402 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:30,403 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-02-20 17:32:30,403 INFO L87 Difference]: Start difference. First operand has 30 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-02-20 17:32:30,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:30,404 INFO L93 Difference]: Finished difference Result 37 states and 48 transitions. [2022-02-20 17:32:30,405 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-02-20 17:32:30,405 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:30,405 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:30,405 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:30,405 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:30,406 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:32:30,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 36 transitions. [2022-02-20 17:32:30,407 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 36 transitions. Word has length 14 [2022-02-20 17:32:30,407 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:30,407 INFO L470 AbstractCegarLoop]: Abstraction has 30 states and 36 transitions. [2022-02-20 17:32:30,407 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 17:32:30,407 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 36 transitions. [2022-02-20 17:32:30,408 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 17:32:30,408 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:30,408 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:30,408 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 17:32:30,408 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:30,409 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:30,409 INFO L85 PathProgramCache]: Analyzing trace with hash 262992548, now seen corresponding path program 1 times [2022-02-20 17:32:30,409 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:30,409 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1760155326] [2022-02-20 17:32:30,409 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:30,410 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:30,432 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:30,432 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1939687296] [2022-02-20 17:32:30,432 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:30,432 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:30,433 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:30,436 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:32:30,437 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:32:30,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:30,471 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 17:32:30,484 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:30,487 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:30,660 INFO L290 TraceCheckUtils]: 0: Hoare triple {519#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(8, 2);call #Ultimate.allocInit(12, 3); {519#true} is VALID [2022-02-20 17:32:30,660 INFO L290 TraceCheckUtils]: 1: Hoare triple {519#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~A~0#1 >= 0 && main_~A~0#1 <= 2 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {519#true} is VALID [2022-02-20 17:32:30,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {519#true} assume !(0 == assume_abort_if_not_~cond#1); {519#true} is VALID [2022-02-20 17:32:30,661 INFO L290 TraceCheckUtils]: 3: Hoare triple {519#true} assume { :end_inline_assume_abort_if_not } true;main_~B~0#1 := 1;main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {533#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:30,662 INFO L290 TraceCheckUtils]: 4: Hoare triple {533#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !false; {533#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:30,662 INFO L272 TraceCheckUtils]: 5: Hoare triple {533#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {519#true} is VALID [2022-02-20 17:32:30,662 INFO L290 TraceCheckUtils]: 6: Hoare triple {519#true} ~cond := #in~cond; {519#true} is VALID [2022-02-20 17:32:30,662 INFO L290 TraceCheckUtils]: 7: Hoare triple {519#true} assume !(0 == ~cond); {519#true} is VALID [2022-02-20 17:32:30,662 INFO L290 TraceCheckUtils]: 8: Hoare triple {519#true} assume true; {519#true} is VALID [2022-02-20 17:32:30,663 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {519#true} {533#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #72#return; {533#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:30,663 INFO L272 TraceCheckUtils]: 10: Hoare triple {533#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {519#true} is VALID [2022-02-20 17:32:30,664 INFO L290 TraceCheckUtils]: 11: Hoare triple {519#true} ~cond := #in~cond; {519#true} is VALID [2022-02-20 17:32:30,664 INFO L290 TraceCheckUtils]: 12: Hoare triple {519#true} assume !(0 == ~cond); {519#true} is VALID [2022-02-20 17:32:30,666 INFO L290 TraceCheckUtils]: 13: Hoare triple {519#true} assume true; {519#true} is VALID [2022-02-20 17:32:30,667 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {519#true} {533#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #74#return; {533#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:30,668 INFO L272 TraceCheckUtils]: 15: Hoare triple {533#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {570#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:32:30,668 INFO L290 TraceCheckUtils]: 16: Hoare triple {570#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {574#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:30,668 INFO L290 TraceCheckUtils]: 17: Hoare triple {574#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {520#false} is VALID [2022-02-20 17:32:30,669 INFO L290 TraceCheckUtils]: 18: Hoare triple {520#false} assume !false; {520#false} is VALID [2022-02-20 17:32:30,669 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 17:32:30,669 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:32:30,670 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:30,670 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1760155326] [2022-02-20 17:32:30,670 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:32:30,670 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1939687296] [2022-02-20 17:32:30,671 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1939687296] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:32:30,671 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:32:30,671 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:32:30,671 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [123986735] [2022-02-20 17:32:30,671 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:30,672 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 19 [2022-02-20 17:32:30,672 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:30,673 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:32:30,691 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:30,692 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:32:30,692 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:30,692 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:32:30,693 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:32:30,693 INFO L87 Difference]: Start difference. First operand 30 states and 36 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:32:30,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:30,855 INFO L93 Difference]: Finished difference Result 58 states and 76 transitions. [2022-02-20 17:32:30,855 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:32:30,855 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 19 [2022-02-20 17:32:30,855 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:30,855 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:32:30,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 70 transitions. [2022-02-20 17:32:30,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:32:30,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 70 transitions. [2022-02-20 17:32:30,858 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 70 transitions. [2022-02-20 17:32:30,927 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:30,928 INFO L225 Difference]: With dead ends: 58 [2022-02-20 17:32:30,928 INFO L226 Difference]: Without dead ends: 44 [2022-02-20 17:32:30,928 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:32:30,929 INFO L933 BasicCegarLoop]: 32 mSDtfsCounter, 8 mSDsluCounter, 74 mSDsCounter, 0 mSdLazyCounter, 37 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 106 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 37 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:32:30,929 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 106 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 37 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:32:30,930 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-02-20 17:32:30,934 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 44. [2022-02-20 17:32:30,934 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:30,934 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 44 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 28 states have internal predecessors, (31), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:32:30,934 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 44 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 28 states have internal predecessors, (31), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:32:30,935 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 44 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 28 states have internal predecessors, (31), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:32:30,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:30,936 INFO L93 Difference]: Finished difference Result 44 states and 55 transitions. [2022-02-20 17:32:30,936 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 55 transitions. [2022-02-20 17:32:30,937 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:30,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:30,937 INFO L74 IsIncluded]: Start isIncluded. First operand has 44 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 28 states have internal predecessors, (31), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 44 states. [2022-02-20 17:32:30,937 INFO L87 Difference]: Start difference. First operand has 44 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 28 states have internal predecessors, (31), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 44 states. [2022-02-20 17:32:30,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:30,939 INFO L93 Difference]: Finished difference Result 44 states and 55 transitions. [2022-02-20 17:32:30,939 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 55 transitions. [2022-02-20 17:32:30,951 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:30,951 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:30,951 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:30,951 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:30,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 28 states have internal predecessors, (31), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:32:30,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 55 transitions. [2022-02-20 17:32:30,953 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 55 transitions. Word has length 19 [2022-02-20 17:32:30,953 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:30,954 INFO L470 AbstractCegarLoop]: Abstraction has 44 states and 55 transitions. [2022-02-20 17:32:30,954 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:32:30,955 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 55 transitions. [2022-02-20 17:32:30,955 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-02-20 17:32:30,955 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:30,955 INFO L514 BasicCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:30,979 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-02-20 17:32:31,171 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:31,171 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:31,172 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:31,172 INFO L85 PathProgramCache]: Analyzing trace with hash 1807142342, now seen corresponding path program 1 times [2022-02-20 17:32:31,172 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:31,172 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [422729791] [2022-02-20 17:32:31,172 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:31,172 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:31,182 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:31,183 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [551418853] [2022-02-20 17:32:31,183 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:31,183 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:31,183 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:31,187 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:32:31,188 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:32:31,220 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:31,222 INFO L263 TraceCheckSpWp]: Trace formula consists of 81 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 17:32:31,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:31,231 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:31,384 INFO L290 TraceCheckUtils]: 0: Hoare triple {816#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(8, 2);call #Ultimate.allocInit(12, 3); {816#true} is VALID [2022-02-20 17:32:31,385 INFO L290 TraceCheckUtils]: 1: Hoare triple {816#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~A~0#1 >= 0 && main_~A~0#1 <= 2 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {816#true} is VALID [2022-02-20 17:32:31,385 INFO L290 TraceCheckUtils]: 2: Hoare triple {816#true} assume !(0 == assume_abort_if_not_~cond#1); {816#true} is VALID [2022-02-20 17:32:31,386 INFO L290 TraceCheckUtils]: 3: Hoare triple {816#true} assume { :end_inline_assume_abort_if_not } true;main_~B~0#1 := 1;main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {830#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:31,386 INFO L290 TraceCheckUtils]: 4: Hoare triple {830#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !false; {830#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:31,386 INFO L272 TraceCheckUtils]: 5: Hoare triple {830#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {816#true} is VALID [2022-02-20 17:32:31,387 INFO L290 TraceCheckUtils]: 6: Hoare triple {816#true} ~cond := #in~cond; {816#true} is VALID [2022-02-20 17:32:31,387 INFO L290 TraceCheckUtils]: 7: Hoare triple {816#true} assume !(0 == ~cond); {816#true} is VALID [2022-02-20 17:32:31,387 INFO L290 TraceCheckUtils]: 8: Hoare triple {816#true} assume true; {816#true} is VALID [2022-02-20 17:32:31,387 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {816#true} {830#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #72#return; {830#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:31,388 INFO L272 TraceCheckUtils]: 10: Hoare triple {830#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {816#true} is VALID [2022-02-20 17:32:31,388 INFO L290 TraceCheckUtils]: 11: Hoare triple {816#true} ~cond := #in~cond; {816#true} is VALID [2022-02-20 17:32:31,388 INFO L290 TraceCheckUtils]: 12: Hoare triple {816#true} assume !(0 == ~cond); {816#true} is VALID [2022-02-20 17:32:31,388 INFO L290 TraceCheckUtils]: 13: Hoare triple {816#true} assume true; {816#true} is VALID [2022-02-20 17:32:31,389 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {816#true} {830#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #74#return; {830#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:31,389 INFO L272 TraceCheckUtils]: 15: Hoare triple {830#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {816#true} is VALID [2022-02-20 17:32:31,389 INFO L290 TraceCheckUtils]: 16: Hoare triple {816#true} ~cond := #in~cond; {816#true} is VALID [2022-02-20 17:32:31,389 INFO L290 TraceCheckUtils]: 17: Hoare triple {816#true} assume !(0 == ~cond); {816#true} is VALID [2022-02-20 17:32:31,389 INFO L290 TraceCheckUtils]: 18: Hoare triple {816#true} assume true; {816#true} is VALID [2022-02-20 17:32:31,390 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {816#true} {830#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #76#return; {830#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:31,390 INFO L290 TraceCheckUtils]: 20: Hoare triple {830#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !(main_~r~0#1 >= main_~d~0#1); {830#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:31,391 INFO L290 TraceCheckUtils]: 21: Hoare triple {830#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !false; {830#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:31,392 INFO L272 TraceCheckUtils]: 22: Hoare triple {830#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {888#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:32:31,392 INFO L290 TraceCheckUtils]: 23: Hoare triple {888#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {892#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:31,392 INFO L290 TraceCheckUtils]: 24: Hoare triple {892#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {817#false} is VALID [2022-02-20 17:32:31,392 INFO L290 TraceCheckUtils]: 25: Hoare triple {817#false} assume !false; {817#false} is VALID [2022-02-20 17:32:31,393 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 17:32:31,393 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:32:31,393 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:31,393 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [422729791] [2022-02-20 17:32:31,393 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:32:31,394 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [551418853] [2022-02-20 17:32:31,395 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [551418853] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:32:31,395 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:32:31,395 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:32:31,395 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2007091817] [2022-02-20 17:32:31,395 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:31,396 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), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 26 [2022-02-20 17:32:31,396 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:31,396 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), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:32:31,410 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:31,410 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:32:31,410 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:31,410 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:32:31,411 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:32:31,411 INFO L87 Difference]: Start difference. First operand 44 states and 55 transitions. Second operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:32:31,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:31,542 INFO L93 Difference]: Finished difference Result 57 states and 72 transitions. [2022-02-20 17:32:31,542 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:32:31,542 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), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 26 [2022-02-20 17:32:31,543 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:31,543 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), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:32:31,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-02-20 17:32:31,544 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), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:32:31,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-02-20 17:32:31,545 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-02-20 17:32:31,588 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:32:31,590 INFO L225 Difference]: With dead ends: 57 [2022-02-20 17:32:31,590 INFO L226 Difference]: Without dead ends: 50 [2022-02-20 17:32:31,591 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 22 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:32:31,593 INFO L933 BasicCegarLoop]: 23 mSDtfsCounter, 9 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 40 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 80 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 40 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:32:31,593 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 80 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:32:31,595 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-02-20 17:32:31,607 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2022-02-20 17:32:31,608 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:31,608 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 49 states, 30 states have (on average 1.2) internal successors, (36), 32 states have internal predecessors, (36), 13 states have call successors, (13), 5 states have call predecessors, (13), 5 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-02-20 17:32:31,609 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 49 states, 30 states have (on average 1.2) internal successors, (36), 32 states have internal predecessors, (36), 13 states have call successors, (13), 5 states have call predecessors, (13), 5 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-02-20 17:32:31,610 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 49 states, 30 states have (on average 1.2) internal successors, (36), 32 states have internal predecessors, (36), 13 states have call successors, (13), 5 states have call predecessors, (13), 5 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-02-20 17:32:31,615 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:31,615 INFO L93 Difference]: Finished difference Result 50 states and 62 transitions. [2022-02-20 17:32:31,616 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 62 transitions. [2022-02-20 17:32:31,616 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:31,616 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:31,616 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 30 states have (on average 1.2) internal successors, (36), 32 states have internal predecessors, (36), 13 states have call successors, (13), 5 states have call predecessors, (13), 5 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 50 states. [2022-02-20 17:32:31,617 INFO L87 Difference]: Start difference. First operand has 49 states, 30 states have (on average 1.2) internal successors, (36), 32 states have internal predecessors, (36), 13 states have call successors, (13), 5 states have call predecessors, (13), 5 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 50 states. [2022-02-20 17:32:31,619 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:31,619 INFO L93 Difference]: Finished difference Result 50 states and 62 transitions. [2022-02-20 17:32:31,620 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 62 transitions. [2022-02-20 17:32:31,621 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:31,621 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:31,621 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:31,621 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:31,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 30 states have (on average 1.2) internal successors, (36), 32 states have internal predecessors, (36), 13 states have call successors, (13), 5 states have call predecessors, (13), 5 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-02-20 17:32:31,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 61 transitions. [2022-02-20 17:32:31,623 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 61 transitions. Word has length 26 [2022-02-20 17:32:31,624 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:31,624 INFO L470 AbstractCegarLoop]: Abstraction has 49 states and 61 transitions. [2022-02-20 17:32:31,624 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), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:32:31,624 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 61 transitions. [2022-02-20 17:32:31,625 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 17:32:31,625 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:31,625 INFO L514 BasicCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:31,643 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-02-20 17:32:31,830 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:31,830 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:31,830 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:31,830 INFO L85 PathProgramCache]: Analyzing trace with hash -979933353, now seen corresponding path program 1 times [2022-02-20 17:32:31,831 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:31,831 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1272290702] [2022-02-20 17:32:31,831 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:31,831 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:31,840 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:31,840 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1375318107] [2022-02-20 17:32:31,840 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:31,840 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:31,841 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:31,841 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:32:31,845 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:32:31,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:31,876 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 17:32:31,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:31,888 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:32,046 INFO L290 TraceCheckUtils]: 0: Hoare triple {1150#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(8, 2);call #Ultimate.allocInit(12, 3); {1150#true} is VALID [2022-02-20 17:32:32,047 INFO L290 TraceCheckUtils]: 1: Hoare triple {1150#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~A~0#1 >= 0 && main_~A~0#1 <= 2 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {1150#true} is VALID [2022-02-20 17:32:32,047 INFO L290 TraceCheckUtils]: 2: Hoare triple {1150#true} assume !(0 == assume_abort_if_not_~cond#1); {1150#true} is VALID [2022-02-20 17:32:32,047 INFO L290 TraceCheckUtils]: 3: Hoare triple {1150#true} assume { :end_inline_assume_abort_if_not } true;main_~B~0#1 := 1;main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {1164#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:32,048 INFO L290 TraceCheckUtils]: 4: Hoare triple {1164#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !false; {1164#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:32,048 INFO L272 TraceCheckUtils]: 5: Hoare triple {1164#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1150#true} is VALID [2022-02-20 17:32:32,048 INFO L290 TraceCheckUtils]: 6: Hoare triple {1150#true} ~cond := #in~cond; {1150#true} is VALID [2022-02-20 17:32:32,048 INFO L290 TraceCheckUtils]: 7: Hoare triple {1150#true} assume !(0 == ~cond); {1150#true} is VALID [2022-02-20 17:32:32,048 INFO L290 TraceCheckUtils]: 8: Hoare triple {1150#true} assume true; {1150#true} is VALID [2022-02-20 17:32:32,049 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1150#true} {1164#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #72#return; {1164#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:32,049 INFO L272 TraceCheckUtils]: 10: Hoare triple {1164#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {1150#true} is VALID [2022-02-20 17:32:32,049 INFO L290 TraceCheckUtils]: 11: Hoare triple {1150#true} ~cond := #in~cond; {1150#true} is VALID [2022-02-20 17:32:32,049 INFO L290 TraceCheckUtils]: 12: Hoare triple {1150#true} assume !(0 == ~cond); {1150#true} is VALID [2022-02-20 17:32:32,049 INFO L290 TraceCheckUtils]: 13: Hoare triple {1150#true} assume true; {1150#true} is VALID [2022-02-20 17:32:32,050 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1150#true} {1164#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #74#return; {1164#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:32,050 INFO L272 TraceCheckUtils]: 15: Hoare triple {1164#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {1150#true} is VALID [2022-02-20 17:32:32,050 INFO L290 TraceCheckUtils]: 16: Hoare triple {1150#true} ~cond := #in~cond; {1150#true} is VALID [2022-02-20 17:32:32,050 INFO L290 TraceCheckUtils]: 17: Hoare triple {1150#true} assume !(0 == ~cond); {1150#true} is VALID [2022-02-20 17:32:32,051 INFO L290 TraceCheckUtils]: 18: Hoare triple {1150#true} assume true; {1150#true} is VALID [2022-02-20 17:32:32,051 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1150#true} {1164#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #76#return; {1164#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:32,052 INFO L290 TraceCheckUtils]: 20: Hoare triple {1164#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {1216#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:32,052 INFO L290 TraceCheckUtils]: 21: Hoare triple {1216#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !false; {1216#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:32,052 INFO L272 TraceCheckUtils]: 22: Hoare triple {1216#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1150#true} is VALID [2022-02-20 17:32:32,052 INFO L290 TraceCheckUtils]: 23: Hoare triple {1150#true} ~cond := #in~cond; {1150#true} is VALID [2022-02-20 17:32:32,053 INFO L290 TraceCheckUtils]: 24: Hoare triple {1150#true} assume !(0 == ~cond); {1150#true} is VALID [2022-02-20 17:32:32,053 INFO L290 TraceCheckUtils]: 25: Hoare triple {1150#true} assume true; {1150#true} is VALID [2022-02-20 17:32:32,054 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1150#true} {1216#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #72#return; {1216#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:32,054 INFO L272 TraceCheckUtils]: 27: Hoare triple {1216#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {1150#true} is VALID [2022-02-20 17:32:32,054 INFO L290 TraceCheckUtils]: 28: Hoare triple {1150#true} ~cond := #in~cond; {1150#true} is VALID [2022-02-20 17:32:32,055 INFO L290 TraceCheckUtils]: 29: Hoare triple {1150#true} assume !(0 == ~cond); {1150#true} is VALID [2022-02-20 17:32:32,055 INFO L290 TraceCheckUtils]: 30: Hoare triple {1150#true} assume true; {1150#true} is VALID [2022-02-20 17:32:32,055 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1150#true} {1216#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #74#return; {1216#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:32,056 INFO L272 TraceCheckUtils]: 32: Hoare triple {1216#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {1253#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:32:32,056 INFO L290 TraceCheckUtils]: 33: Hoare triple {1253#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1257#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:32,057 INFO L290 TraceCheckUtils]: 34: Hoare triple {1257#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1151#false} is VALID [2022-02-20 17:32:32,057 INFO L290 TraceCheckUtils]: 35: Hoare triple {1151#false} assume !false; {1151#false} is VALID [2022-02-20 17:32:32,057 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-02-20 17:32:32,057 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:32:32,220 INFO L290 TraceCheckUtils]: 35: Hoare triple {1151#false} assume !false; {1151#false} is VALID [2022-02-20 17:32:32,222 INFO L290 TraceCheckUtils]: 34: Hoare triple {1257#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1151#false} is VALID [2022-02-20 17:32:32,222 INFO L290 TraceCheckUtils]: 33: Hoare triple {1253#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1257#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:32,232 INFO L272 TraceCheckUtils]: 32: Hoare triple {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {1253#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:32:32,232 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1150#true} {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} #74#return; {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:32:32,233 INFO L290 TraceCheckUtils]: 30: Hoare triple {1150#true} assume true; {1150#true} is VALID [2022-02-20 17:32:32,233 INFO L290 TraceCheckUtils]: 29: Hoare triple {1150#true} assume !(0 == ~cond); {1150#true} is VALID [2022-02-20 17:32:32,233 INFO L290 TraceCheckUtils]: 28: Hoare triple {1150#true} ~cond := #in~cond; {1150#true} is VALID [2022-02-20 17:32:32,233 INFO L272 TraceCheckUtils]: 27: Hoare triple {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {1150#true} is VALID [2022-02-20 17:32:32,234 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1150#true} {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} #72#return; {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:32:32,234 INFO L290 TraceCheckUtils]: 25: Hoare triple {1150#true} assume true; {1150#true} is VALID [2022-02-20 17:32:32,234 INFO L290 TraceCheckUtils]: 24: Hoare triple {1150#true} assume !(0 == ~cond); {1150#true} is VALID [2022-02-20 17:32:32,234 INFO L290 TraceCheckUtils]: 23: Hoare triple {1150#true} ~cond := #in~cond; {1150#true} is VALID [2022-02-20 17:32:32,234 INFO L272 TraceCheckUtils]: 22: Hoare triple {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1150#true} is VALID [2022-02-20 17:32:32,235 INFO L290 TraceCheckUtils]: 21: Hoare triple {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} assume !false; {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:32:32,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:32:32,236 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1150#true} {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} #76#return; {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:32:32,236 INFO L290 TraceCheckUtils]: 18: Hoare triple {1150#true} assume true; {1150#true} is VALID [2022-02-20 17:32:32,237 INFO L290 TraceCheckUtils]: 17: Hoare triple {1150#true} assume !(0 == ~cond); {1150#true} is VALID [2022-02-20 17:32:32,237 INFO L290 TraceCheckUtils]: 16: Hoare triple {1150#true} ~cond := #in~cond; {1150#true} is VALID [2022-02-20 17:32:32,237 INFO L272 TraceCheckUtils]: 15: Hoare triple {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {1150#true} is VALID [2022-02-20 17:32:32,237 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1150#true} {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} #74#return; {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:32:32,238 INFO L290 TraceCheckUtils]: 13: Hoare triple {1150#true} assume true; {1150#true} is VALID [2022-02-20 17:32:32,238 INFO L290 TraceCheckUtils]: 12: Hoare triple {1150#true} assume !(0 == ~cond); {1150#true} is VALID [2022-02-20 17:32:32,238 INFO L290 TraceCheckUtils]: 11: Hoare triple {1150#true} ~cond := #in~cond; {1150#true} is VALID [2022-02-20 17:32:32,238 INFO L272 TraceCheckUtils]: 10: Hoare triple {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {1150#true} is VALID [2022-02-20 17:32:32,238 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1150#true} {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} #72#return; {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:32:32,239 INFO L290 TraceCheckUtils]: 8: Hoare triple {1150#true} assume true; {1150#true} is VALID [2022-02-20 17:32:32,239 INFO L290 TraceCheckUtils]: 7: Hoare triple {1150#true} assume !(0 == ~cond); {1150#true} is VALID [2022-02-20 17:32:32,239 INFO L290 TraceCheckUtils]: 6: Hoare triple {1150#true} ~cond := #in~cond; {1150#true} is VALID [2022-02-20 17:32:32,239 INFO L272 TraceCheckUtils]: 5: Hoare triple {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1150#true} is VALID [2022-02-20 17:32:32,239 INFO L290 TraceCheckUtils]: 4: Hoare triple {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} assume !false; {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:32:32,240 INFO L290 TraceCheckUtils]: 3: Hoare triple {1150#true} assume { :end_inline_assume_abort_if_not } true;main_~B~0#1 := 1;main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {1273#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:32:32,240 INFO L290 TraceCheckUtils]: 2: Hoare triple {1150#true} assume !(0 == assume_abort_if_not_~cond#1); {1150#true} is VALID [2022-02-20 17:32:32,240 INFO L290 TraceCheckUtils]: 1: Hoare triple {1150#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~A~0#1 >= 0 && main_~A~0#1 <= 2 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {1150#true} is VALID [2022-02-20 17:32:32,240 INFO L290 TraceCheckUtils]: 0: Hoare triple {1150#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(8, 2);call #Ultimate.allocInit(12, 3); {1150#true} is VALID [2022-02-20 17:32:32,240 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-02-20 17:32:32,241 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:32,241 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1272290702] [2022-02-20 17:32:32,241 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:32:32,241 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1375318107] [2022-02-20 17:32:32,241 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1375318107] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:32:32,241 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:32:32,241 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-02-20 17:32:32,241 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [861130054] [2022-02-20 17:32:32,242 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:32,242 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 36 [2022-02-20 17:32:32,242 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:32,242 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:32:32,256 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:32,256 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:32:32,256 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:32,257 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:32:32,257 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-02-20 17:32:32,257 INFO L87 Difference]: Start difference. First operand 49 states and 61 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:32:36,173 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.09s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-02-20 17:32:36,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:36,612 INFO L93 Difference]: Finished difference Result 61 states and 76 transitions. [2022-02-20 17:32:36,612 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:32:36,612 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 36 [2022-02-20 17:32:36,612 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:36,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:32:36,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-02-20 17:32:36,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:32:36,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-02-20 17:32:36,614 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-02-20 17:32:36,658 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:36,659 INFO L225 Difference]: With dead ends: 61 [2022-02-20 17:32:36,659 INFO L226 Difference]: Without dead ends: 59 [2022-02-20 17:32:36,659 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 63 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-02-20 17:32:36,660 INFO L933 BasicCegarLoop]: 28 mSDtfsCounter, 8 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 37 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 90 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 37 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-02-20 17:32:36,660 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 90 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 37 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-02-20 17:32:36,660 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-02-20 17:32:36,666 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 56. [2022-02-20 17:32:36,666 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:36,667 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 56 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 37 states have internal predecessors, (40), 15 states have call successors, (15), 6 states have call predecessors, (15), 6 states have return successors, (14), 12 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:32:36,667 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 56 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 37 states have internal predecessors, (40), 15 states have call successors, (15), 6 states have call predecessors, (15), 6 states have return successors, (14), 12 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:32:36,667 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 56 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 37 states have internal predecessors, (40), 15 states have call successors, (15), 6 states have call predecessors, (15), 6 states have return successors, (14), 12 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:32:36,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:36,669 INFO L93 Difference]: Finished difference Result 59 states and 74 transitions. [2022-02-20 17:32:36,669 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 74 transitions. [2022-02-20 17:32:36,669 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:36,669 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:36,670 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 37 states have internal predecessors, (40), 15 states have call successors, (15), 6 states have call predecessors, (15), 6 states have return successors, (14), 12 states have call predecessors, (14), 14 states have call successors, (14) Second operand 59 states. [2022-02-20 17:32:36,670 INFO L87 Difference]: Start difference. First operand has 56 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 37 states have internal predecessors, (40), 15 states have call successors, (15), 6 states have call predecessors, (15), 6 states have return successors, (14), 12 states have call predecessors, (14), 14 states have call successors, (14) Second operand 59 states. [2022-02-20 17:32:36,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:36,672 INFO L93 Difference]: Finished difference Result 59 states and 74 transitions. [2022-02-20 17:32:36,672 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 74 transitions. [2022-02-20 17:32:36,672 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:36,672 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:36,672 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:36,672 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:36,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 37 states have internal predecessors, (40), 15 states have call successors, (15), 6 states have call predecessors, (15), 6 states have return successors, (14), 12 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:32:36,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 69 transitions. [2022-02-20 17:32:36,674 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 69 transitions. Word has length 36 [2022-02-20 17:32:36,674 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:36,674 INFO L470 AbstractCegarLoop]: Abstraction has 56 states and 69 transitions. [2022-02-20 17:32:36,675 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:32:36,675 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 69 transitions. [2022-02-20 17:32:36,675 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-02-20 17:32:36,675 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:36,676 INFO L514 BasicCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:36,695 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:32:36,891 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:36,891 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:36,892 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:36,892 INFO L85 PathProgramCache]: Analyzing trace with hash 1034157389, now seen corresponding path program 1 times [2022-02-20 17:32:36,892 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:36,892 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [30225837] [2022-02-20 17:32:36,892 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:36,892 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:36,906 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:36,907 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1397273366] [2022-02-20 17:32:36,907 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:36,907 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:36,907 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:36,908 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:32:36,909 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:32:36,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:36,953 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 25 conjunts are in the unsatisfiable core [2022-02-20 17:32:36,969 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:36,970 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:37,425 INFO L290 TraceCheckUtils]: 0: Hoare triple {1654#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(8, 2);call #Ultimate.allocInit(12, 3); {1654#true} is VALID [2022-02-20 17:32:37,426 INFO L290 TraceCheckUtils]: 1: Hoare triple {1654#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~A~0#1 >= 0 && main_~A~0#1 <= 2 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {1654#true} is VALID [2022-02-20 17:32:37,426 INFO L290 TraceCheckUtils]: 2: Hoare triple {1654#true} assume !(0 == assume_abort_if_not_~cond#1); {1654#true} is VALID [2022-02-20 17:32:37,427 INFO L290 TraceCheckUtils]: 3: Hoare triple {1654#true} assume { :end_inline_assume_abort_if_not } true;main_~B~0#1 := 1;main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {1668#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:37,428 INFO L290 TraceCheckUtils]: 4: Hoare triple {1668#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !false; {1668#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:37,428 INFO L272 TraceCheckUtils]: 5: Hoare triple {1668#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1654#true} is VALID [2022-02-20 17:32:37,428 INFO L290 TraceCheckUtils]: 6: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-02-20 17:32:37,428 INFO L290 TraceCheckUtils]: 7: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-02-20 17:32:37,428 INFO L290 TraceCheckUtils]: 8: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-02-20 17:32:37,429 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1654#true} {1668#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #72#return; {1668#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:37,429 INFO L272 TraceCheckUtils]: 10: Hoare triple {1668#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {1654#true} is VALID [2022-02-20 17:32:37,429 INFO L290 TraceCheckUtils]: 11: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-02-20 17:32:37,429 INFO L290 TraceCheckUtils]: 12: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-02-20 17:32:37,430 INFO L290 TraceCheckUtils]: 13: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-02-20 17:32:37,430 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1654#true} {1668#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #74#return; {1668#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:37,430 INFO L272 TraceCheckUtils]: 15: Hoare triple {1668#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {1654#true} is VALID [2022-02-20 17:32:37,430 INFO L290 TraceCheckUtils]: 16: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-02-20 17:32:37,431 INFO L290 TraceCheckUtils]: 17: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-02-20 17:32:37,431 INFO L290 TraceCheckUtils]: 18: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-02-20 17:32:37,431 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1654#true} {1668#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #76#return; {1668#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:37,432 INFO L290 TraceCheckUtils]: 20: Hoare triple {1668#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:37,432 INFO L290 TraceCheckUtils]: 21: Hoare triple {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !false; {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:37,433 INFO L272 TraceCheckUtils]: 22: Hoare triple {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1654#true} is VALID [2022-02-20 17:32:37,433 INFO L290 TraceCheckUtils]: 23: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-02-20 17:32:37,433 INFO L290 TraceCheckUtils]: 24: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-02-20 17:32:37,433 INFO L290 TraceCheckUtils]: 25: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-02-20 17:32:37,434 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1654#true} {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #72#return; {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:37,434 INFO L272 TraceCheckUtils]: 27: Hoare triple {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {1654#true} is VALID [2022-02-20 17:32:37,434 INFO L290 TraceCheckUtils]: 28: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-02-20 17:32:37,434 INFO L290 TraceCheckUtils]: 29: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-02-20 17:32:37,435 INFO L290 TraceCheckUtils]: 30: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-02-20 17:32:37,435 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1654#true} {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #74#return; {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:37,436 INFO L272 TraceCheckUtils]: 32: Hoare triple {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {1654#true} is VALID [2022-02-20 17:32:37,436 INFO L290 TraceCheckUtils]: 33: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-02-20 17:32:37,436 INFO L290 TraceCheckUtils]: 34: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-02-20 17:32:37,436 INFO L290 TraceCheckUtils]: 35: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-02-20 17:32:37,439 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1654#true} {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #76#return; {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:37,439 INFO L290 TraceCheckUtils]: 37: Hoare triple {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !(main_~r~0#1 >= main_~d~0#1); {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:37,440 INFO L290 TraceCheckUtils]: 38: Hoare triple {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !false; {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:37,440 INFO L272 TraceCheckUtils]: 39: Hoare triple {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {1654#true} is VALID [2022-02-20 17:32:37,440 INFO L290 TraceCheckUtils]: 40: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-02-20 17:32:37,440 INFO L290 TraceCheckUtils]: 41: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-02-20 17:32:37,440 INFO L290 TraceCheckUtils]: 42: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-02-20 17:32:37,441 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1654#true} {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #78#return; {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:37,441 INFO L272 TraceCheckUtils]: 44: Hoare triple {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {1654#true} is VALID [2022-02-20 17:32:37,441 INFO L290 TraceCheckUtils]: 45: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-02-20 17:32:37,441 INFO L290 TraceCheckUtils]: 46: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-02-20 17:32:37,442 INFO L290 TraceCheckUtils]: 47: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-02-20 17:32:37,445 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {1654#true} {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #80#return; {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:37,446 INFO L290 TraceCheckUtils]: 49: Hoare triple {1720#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !!(1 != main_~p~0#1);main_~d~0#1 := (if main_~d~0#1 < 0 && 0 != main_~d~0#1 % 2 then 1 + main_~d~0#1 / 2 else main_~d~0#1 / 2);main_~p~0#1 := (if main_~p~0#1 < 0 && 0 != main_~p~0#1 % 2 then 1 + main_~p~0#1 / 2 else main_~p~0#1 / 2); {1668#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:37,446 INFO L290 TraceCheckUtils]: 50: Hoare triple {1668#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume main_~r~0#1 >= main_~d~0#1;main_~r~0#1 := main_~r~0#1 - main_~d~0#1;main_~q~0#1 := main_~q~0#1 + main_~p~0#1; {1811#(and (= |ULTIMATE.start_main_~q~0#1| 1) (= (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) |ULTIMATE.start_main_~B~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:37,447 INFO L290 TraceCheckUtils]: 51: Hoare triple {1811#(and (= |ULTIMATE.start_main_~q~0#1| 1) (= (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) |ULTIMATE.start_main_~B~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !false; {1811#(and (= |ULTIMATE.start_main_~q~0#1| 1) (= (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) |ULTIMATE.start_main_~B~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:37,448 INFO L272 TraceCheckUtils]: 52: Hoare triple {1811#(and (= |ULTIMATE.start_main_~q~0#1| 1) (= (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) |ULTIMATE.start_main_~B~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {1818#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:32:37,448 INFO L290 TraceCheckUtils]: 53: Hoare triple {1818#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1822#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:37,448 INFO L290 TraceCheckUtils]: 54: Hoare triple {1822#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1655#false} is VALID [2022-02-20 17:32:37,449 INFO L290 TraceCheckUtils]: 55: Hoare triple {1655#false} assume !false; {1655#false} is VALID [2022-02-20 17:32:37,449 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-02-20 17:32:37,449 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:32:42,733 INFO L290 TraceCheckUtils]: 55: Hoare triple {1655#false} assume !false; {1655#false} is VALID [2022-02-20 17:32:42,733 INFO L290 TraceCheckUtils]: 54: Hoare triple {1822#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1655#false} is VALID [2022-02-20 17:32:42,734 INFO L290 TraceCheckUtils]: 53: Hoare triple {1818#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1822#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:42,734 INFO L272 TraceCheckUtils]: 52: Hoare triple {1838#(= |ULTIMATE.start_main_~A~0#1| (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {1818#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:32:42,735 INFO L290 TraceCheckUtils]: 51: Hoare triple {1838#(= |ULTIMATE.start_main_~A~0#1| (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|))} assume !false; {1838#(= |ULTIMATE.start_main_~A~0#1| (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:32:42,742 INFO L290 TraceCheckUtils]: 50: Hoare triple {1845#(= (+ |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|)) (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)} assume main_~r~0#1 >= main_~d~0#1;main_~r~0#1 := main_~r~0#1 - main_~d~0#1;main_~q~0#1 := main_~q~0#1 + main_~p~0#1; {1838#(= |ULTIMATE.start_main_~A~0#1| (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:32:42,758 INFO L290 TraceCheckUtils]: 49: Hoare triple {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} assume !!(1 != main_~p~0#1);main_~d~0#1 := (if main_~d~0#1 < 0 && 0 != main_~d~0#1 % 2 then 1 + main_~d~0#1 / 2 else main_~d~0#1 / 2);main_~p~0#1 := (if main_~p~0#1 < 0 && 0 != main_~p~0#1 % 2 then 1 + main_~p~0#1 / 2 else main_~p~0#1 / 2); {1845#(= (+ |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|)) (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:32:42,759 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {1654#true} {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} #80#return; {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} is VALID [2022-02-20 17:32:42,759 INFO L290 TraceCheckUtils]: 47: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-02-20 17:32:42,759 INFO L290 TraceCheckUtils]: 46: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-02-20 17:32:42,759 INFO L290 TraceCheckUtils]: 45: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-02-20 17:32:42,759 INFO L272 TraceCheckUtils]: 44: Hoare triple {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {1654#true} is VALID [2022-02-20 17:32:42,760 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1654#true} {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} #78#return; {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} is VALID [2022-02-20 17:32:42,760 INFO L290 TraceCheckUtils]: 42: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-02-20 17:32:42,760 INFO L290 TraceCheckUtils]: 41: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-02-20 17:32:42,760 INFO L290 TraceCheckUtils]: 40: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-02-20 17:32:42,760 INFO L272 TraceCheckUtils]: 39: Hoare triple {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {1654#true} is VALID [2022-02-20 17:32:42,761 INFO L290 TraceCheckUtils]: 38: Hoare triple {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} assume !false; {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} is VALID [2022-02-20 17:32:42,763 INFO L290 TraceCheckUtils]: 37: Hoare triple {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} assume !(main_~r~0#1 >= main_~d~0#1); {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} is VALID [2022-02-20 17:32:42,763 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1654#true} {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} #76#return; {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} is VALID [2022-02-20 17:32:42,764 INFO L290 TraceCheckUtils]: 35: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-02-20 17:32:42,764 INFO L290 TraceCheckUtils]: 34: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-02-20 17:32:42,764 INFO L290 TraceCheckUtils]: 33: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-02-20 17:32:42,764 INFO L272 TraceCheckUtils]: 32: Hoare triple {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {1654#true} is VALID [2022-02-20 17:32:42,765 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1654#true} {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} #74#return; {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} is VALID [2022-02-20 17:32:42,765 INFO L290 TraceCheckUtils]: 30: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-02-20 17:32:42,765 INFO L290 TraceCheckUtils]: 29: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-02-20 17:32:42,765 INFO L290 TraceCheckUtils]: 28: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-02-20 17:32:42,765 INFO L272 TraceCheckUtils]: 27: Hoare triple {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {1654#true} is VALID [2022-02-20 17:32:42,766 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1654#true} {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} #72#return; {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} is VALID [2022-02-20 17:32:42,766 INFO L290 TraceCheckUtils]: 25: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-02-20 17:32:42,766 INFO L290 TraceCheckUtils]: 24: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-02-20 17:32:42,766 INFO L290 TraceCheckUtils]: 23: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-02-20 17:32:42,766 INFO L272 TraceCheckUtils]: 22: Hoare triple {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1654#true} is VALID [2022-02-20 17:32:42,767 INFO L290 TraceCheckUtils]: 21: Hoare triple {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} assume !false; {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} is VALID [2022-02-20 17:32:42,773 INFO L290 TraceCheckUtils]: 20: Hoare triple {1845#(= (+ |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|)) (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {1849#(and (or (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} is VALID [2022-02-20 17:32:42,774 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1654#true} {1845#(= (+ |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|)) (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)} #76#return; {1845#(= (+ |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|)) (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:32:42,774 INFO L290 TraceCheckUtils]: 18: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-02-20 17:32:42,774 INFO L290 TraceCheckUtils]: 17: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-02-20 17:32:42,774 INFO L290 TraceCheckUtils]: 16: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-02-20 17:32:42,775 INFO L272 TraceCheckUtils]: 15: Hoare triple {1845#(= (+ |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|)) (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {1654#true} is VALID [2022-02-20 17:32:42,776 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1654#true} {1845#(= (+ |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|)) (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)} #74#return; {1845#(= (+ |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|)) (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:32:42,776 INFO L290 TraceCheckUtils]: 13: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-02-20 17:32:42,776 INFO L290 TraceCheckUtils]: 12: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-02-20 17:32:42,776 INFO L290 TraceCheckUtils]: 11: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-02-20 17:32:42,776 INFO L272 TraceCheckUtils]: 10: Hoare triple {1845#(= (+ |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|)) (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {1654#true} is VALID [2022-02-20 17:32:42,779 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1654#true} {1845#(= (+ |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|)) (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)} #72#return; {1845#(= (+ |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|)) (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:32:42,779 INFO L290 TraceCheckUtils]: 8: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-02-20 17:32:42,779 INFO L290 TraceCheckUtils]: 7: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-02-20 17:32:42,779 INFO L290 TraceCheckUtils]: 6: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-02-20 17:32:42,779 INFO L272 TraceCheckUtils]: 5: Hoare triple {1845#(= (+ |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|)) (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1654#true} is VALID [2022-02-20 17:32:42,780 INFO L290 TraceCheckUtils]: 4: Hoare triple {1845#(= (+ |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|)) (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)} assume !false; {1845#(= (+ |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|)) (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:32:42,780 INFO L290 TraceCheckUtils]: 3: Hoare triple {1654#true} assume { :end_inline_assume_abort_if_not } true;main_~B~0#1 := 1;main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {1845#(= (+ |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|)) (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:32:42,780 INFO L290 TraceCheckUtils]: 2: Hoare triple {1654#true} assume !(0 == assume_abort_if_not_~cond#1); {1654#true} is VALID [2022-02-20 17:32:42,780 INFO L290 TraceCheckUtils]: 1: Hoare triple {1654#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~A~0#1 >= 0 && main_~A~0#1 <= 2 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {1654#true} is VALID [2022-02-20 17:32:42,780 INFO L290 TraceCheckUtils]: 0: Hoare triple {1654#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(8, 2);call #Ultimate.allocInit(12, 3); {1654#true} is VALID [2022-02-20 17:32:42,781 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-02-20 17:32:42,781 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:42,781 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [30225837] [2022-02-20 17:32:42,781 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:32:42,781 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1397273366] [2022-02-20 17:32:42,781 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1397273366] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:32:42,781 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:32:42,781 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-02-20 17:32:42,781 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [904626495] [2022-02-20 17:32:42,781 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:32:42,782 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) Word has length 56 [2022-02-20 17:32:42,782 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:42,782 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) [2022-02-20 17:32:42,869 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:32:42,869 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 17:32:42,869 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:42,870 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 17:32:42,870 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-02-20 17:32:42,870 INFO L87 Difference]: Start difference. First operand 56 states and 69 transitions. Second operand has 10 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) [2022-02-20 17:32:48,204 WARN L228 SmtUtils]: Spent 5.07s on a formula simplification. DAG size of input: 54 DAG size of output: 52 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-02-20 17:32:50,302 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-02-20 17:32:55,103 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.97s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-02-20 17:32:57,117 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-02-20 17:32:59,150 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-02-20 17:33:01,189 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-02-20 17:33:04,453 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-02-20 17:33:06,407 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.75s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-02-20 17:33:08,429 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-02-20 17:33:10,435 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-02-20 17:33:12,451 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-02-20 17:33:17,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:17,350 INFO L93 Difference]: Finished difference Result 146 states and 202 transitions. [2022-02-20 17:33:17,350 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 17:33:17,350 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) Word has length 56 [2022-02-20 17:33:17,351 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:33:17,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) [2022-02-20 17:33:17,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 133 transitions. [2022-02-20 17:33:17,353 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) [2022-02-20 17:33:17,355 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 133 transitions. [2022-02-20 17:33:17,355 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 133 transitions. [2022-02-20 17:33:17,544 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 133 edges. 133 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:33:17,547 INFO L225 Difference]: With dead ends: 146 [2022-02-20 17:33:17,547 INFO L226 Difference]: Without dead ends: 117 [2022-02-20 17:33:17,547 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 114 GetRequests, 99 SyntacticMatches, 3 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 5.3s TimeCoverageRelationStatistics Valid=50, Invalid=132, Unknown=0, NotChecked=0, Total=182 [2022-02-20 17:33:17,548 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 36 mSDsluCounter, 172 mSDsCounter, 0 mSdLazyCounter, 218 mSolverCounterSat, 72 mSolverCounterUnsat, 8 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 20.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 210 SdHoareTripleChecker+Invalid, 298 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 72 IncrementalHoareTripleChecker+Valid, 218 IncrementalHoareTripleChecker+Invalid, 8 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 20.5s IncrementalHoareTripleChecker+Time [2022-02-20 17:33:17,548 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [42 Valid, 210 Invalid, 298 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [72 Valid, 218 Invalid, 8 Unknown, 0 Unchecked, 20.5s Time] [2022-02-20 17:33:17,548 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states. [2022-02-20 17:33:17,579 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 105. [2022-02-20 17:33:17,579 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:33:17,579 INFO L82 GeneralOperation]: Start isEquivalent. First operand 117 states. Second operand has 105 states, 64 states have (on average 1.234375) internal successors, (79), 68 states have internal predecessors, (79), 30 states have call successors, (30), 10 states have call predecessors, (30), 10 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) [2022-02-20 17:33:17,580 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand has 105 states, 64 states have (on average 1.234375) internal successors, (79), 68 states have internal predecessors, (79), 30 states have call successors, (30), 10 states have call predecessors, (30), 10 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) [2022-02-20 17:33:17,580 INFO L87 Difference]: Start difference. First operand 117 states. Second operand has 105 states, 64 states have (on average 1.234375) internal successors, (79), 68 states have internal predecessors, (79), 30 states have call successors, (30), 10 states have call predecessors, (30), 10 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) [2022-02-20 17:33:17,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:17,584 INFO L93 Difference]: Finished difference Result 117 states and 158 transitions. [2022-02-20 17:33:17,584 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 158 transitions. [2022-02-20 17:33:17,584 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:33:17,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:33:17,585 INFO L74 IsIncluded]: Start isIncluded. First operand has 105 states, 64 states have (on average 1.234375) internal successors, (79), 68 states have internal predecessors, (79), 30 states have call successors, (30), 10 states have call predecessors, (30), 10 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) Second operand 117 states. [2022-02-20 17:33:17,585 INFO L87 Difference]: Start difference. First operand has 105 states, 64 states have (on average 1.234375) internal successors, (79), 68 states have internal predecessors, (79), 30 states have call successors, (30), 10 states have call predecessors, (30), 10 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) Second operand 117 states. [2022-02-20 17:33:17,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:17,589 INFO L93 Difference]: Finished difference Result 117 states and 158 transitions. [2022-02-20 17:33:17,589 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 158 transitions. [2022-02-20 17:33:17,589 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:33:17,589 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:33:17,590 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:33:17,590 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:33:17,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 105 states, 64 states have (on average 1.234375) internal successors, (79), 68 states have internal predecessors, (79), 30 states have call successors, (30), 10 states have call predecessors, (30), 10 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) [2022-02-20 17:33:17,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 138 transitions. [2022-02-20 17:33:17,593 INFO L78 Accepts]: Start accepts. Automaton has 105 states and 138 transitions. Word has length 56 [2022-02-20 17:33:17,593 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:33:17,593 INFO L470 AbstractCegarLoop]: Abstraction has 105 states and 138 transitions. [2022-02-20 17:33:17,594 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 4 states have call predecessors, (16), 4 states have call successors, (16) [2022-02-20 17:33:17,594 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 138 transitions. [2022-02-20 17:33:17,595 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-02-20 17:33:17,595 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:33:17,595 INFO L514 BasicCegarLoop]: trace histogram [11, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:33:17,611 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-02-20 17:33:17,799 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:33:17,800 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:33:17,800 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:33:17,800 INFO L85 PathProgramCache]: Analyzing trace with hash -1199454569, now seen corresponding path program 1 times [2022-02-20 17:33:17,800 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:33:17,800 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [351135065] [2022-02-20 17:33:17,800 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:33:17,800 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:33:17,814 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:33:17,814 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [508846341] [2022-02-20 17:33:17,814 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:33:17,814 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:33:17,814 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:33:17,815 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:33:17,833 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-02-20 17:33:17,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:33:17,867 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 35 conjunts are in the unsatisfiable core [2022-02-20 17:33:17,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:33:17,887 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:33:18,492 INFO L290 TraceCheckUtils]: 0: Hoare triple {2598#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(8, 2);call #Ultimate.allocInit(12, 3); {2598#true} is VALID [2022-02-20 17:33:18,492 INFO L290 TraceCheckUtils]: 1: Hoare triple {2598#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~A~0#1 >= 0 && main_~A~0#1 <= 2 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {2598#true} is VALID [2022-02-20 17:33:18,493 INFO L290 TraceCheckUtils]: 2: Hoare triple {2598#true} assume !(0 == assume_abort_if_not_~cond#1); {2598#true} is VALID [2022-02-20 17:33:18,493 INFO L290 TraceCheckUtils]: 3: Hoare triple {2598#true} assume { :end_inline_assume_abort_if_not } true;main_~B~0#1 := 1;main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {2612#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:18,494 INFO L290 TraceCheckUtils]: 4: Hoare triple {2612#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !false; {2612#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:18,494 INFO L272 TraceCheckUtils]: 5: Hoare triple {2612#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:18,494 INFO L290 TraceCheckUtils]: 6: Hoare triple {2598#true} ~cond := #in~cond; {2598#true} is VALID [2022-02-20 17:33:18,494 INFO L290 TraceCheckUtils]: 7: Hoare triple {2598#true} assume !(0 == ~cond); {2598#true} is VALID [2022-02-20 17:33:18,494 INFO L290 TraceCheckUtils]: 8: Hoare triple {2598#true} assume true; {2598#true} is VALID [2022-02-20 17:33:18,494 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2598#true} {2612#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #72#return; {2612#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:18,494 INFO L272 TraceCheckUtils]: 10: Hoare triple {2612#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:18,495 INFO L290 TraceCheckUtils]: 11: Hoare triple {2598#true} ~cond := #in~cond; {2598#true} is VALID [2022-02-20 17:33:18,495 INFO L290 TraceCheckUtils]: 12: Hoare triple {2598#true} assume !(0 == ~cond); {2598#true} is VALID [2022-02-20 17:33:18,495 INFO L290 TraceCheckUtils]: 13: Hoare triple {2598#true} assume true; {2598#true} is VALID [2022-02-20 17:33:18,495 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {2598#true} {2612#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #74#return; {2612#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:18,495 INFO L272 TraceCheckUtils]: 15: Hoare triple {2612#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:18,495 INFO L290 TraceCheckUtils]: 16: Hoare triple {2598#true} ~cond := #in~cond; {2598#true} is VALID [2022-02-20 17:33:18,495 INFO L290 TraceCheckUtils]: 17: Hoare triple {2598#true} assume !(0 == ~cond); {2598#true} is VALID [2022-02-20 17:33:18,495 INFO L290 TraceCheckUtils]: 18: Hoare triple {2598#true} assume true; {2598#true} is VALID [2022-02-20 17:33:18,496 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {2598#true} {2612#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #76#return; {2612#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:18,496 INFO L290 TraceCheckUtils]: 20: Hoare triple {2612#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:18,497 INFO L290 TraceCheckUtils]: 21: Hoare triple {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !false; {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:18,497 INFO L272 TraceCheckUtils]: 22: Hoare triple {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:18,497 INFO L290 TraceCheckUtils]: 23: Hoare triple {2598#true} ~cond := #in~cond; {2598#true} is VALID [2022-02-20 17:33:18,497 INFO L290 TraceCheckUtils]: 24: Hoare triple {2598#true} assume !(0 == ~cond); {2598#true} is VALID [2022-02-20 17:33:18,497 INFO L290 TraceCheckUtils]: 25: Hoare triple {2598#true} assume true; {2598#true} is VALID [2022-02-20 17:33:18,498 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2598#true} {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #72#return; {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:18,498 INFO L272 TraceCheckUtils]: 27: Hoare triple {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:18,498 INFO L290 TraceCheckUtils]: 28: Hoare triple {2598#true} ~cond := #in~cond; {2598#true} is VALID [2022-02-20 17:33:18,498 INFO L290 TraceCheckUtils]: 29: Hoare triple {2598#true} assume !(0 == ~cond); {2598#true} is VALID [2022-02-20 17:33:18,498 INFO L290 TraceCheckUtils]: 30: Hoare triple {2598#true} assume true; {2598#true} is VALID [2022-02-20 17:33:18,499 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2598#true} {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #74#return; {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:18,499 INFO L272 TraceCheckUtils]: 32: Hoare triple {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:18,499 INFO L290 TraceCheckUtils]: 33: Hoare triple {2598#true} ~cond := #in~cond; {2598#true} is VALID [2022-02-20 17:33:18,499 INFO L290 TraceCheckUtils]: 34: Hoare triple {2598#true} assume !(0 == ~cond); {2598#true} is VALID [2022-02-20 17:33:18,499 INFO L290 TraceCheckUtils]: 35: Hoare triple {2598#true} assume true; {2598#true} is VALID [2022-02-20 17:33:18,500 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2598#true} {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #76#return; {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:18,500 INFO L290 TraceCheckUtils]: 37: Hoare triple {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !(main_~r~0#1 >= main_~d~0#1); {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:18,501 INFO L290 TraceCheckUtils]: 38: Hoare triple {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !false; {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:18,501 INFO L272 TraceCheckUtils]: 39: Hoare triple {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:18,501 INFO L290 TraceCheckUtils]: 40: Hoare triple {2598#true} ~cond := #in~cond; {2598#true} is VALID [2022-02-20 17:33:18,501 INFO L290 TraceCheckUtils]: 41: Hoare triple {2598#true} assume !(0 == ~cond); {2598#true} is VALID [2022-02-20 17:33:18,501 INFO L290 TraceCheckUtils]: 42: Hoare triple {2598#true} assume true; {2598#true} is VALID [2022-02-20 17:33:18,502 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2598#true} {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #78#return; {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:18,502 INFO L272 TraceCheckUtils]: 44: Hoare triple {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:18,502 INFO L290 TraceCheckUtils]: 45: Hoare triple {2598#true} ~cond := #in~cond; {2598#true} is VALID [2022-02-20 17:33:18,502 INFO L290 TraceCheckUtils]: 46: Hoare triple {2598#true} assume !(0 == ~cond); {2598#true} is VALID [2022-02-20 17:33:18,502 INFO L290 TraceCheckUtils]: 47: Hoare triple {2598#true} assume true; {2598#true} is VALID [2022-02-20 17:33:18,503 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {2598#true} {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #80#return; {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:18,504 INFO L290 TraceCheckUtils]: 49: Hoare triple {2664#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !!(1 != main_~p~0#1);main_~d~0#1 := (if main_~d~0#1 < 0 && 0 != main_~d~0#1 % 2 then 1 + main_~d~0#1 / 2 else main_~d~0#1 / 2);main_~p~0#1 := (if main_~p~0#1 < 0 && 0 != main_~p~0#1 % 2 then 1 + main_~p~0#1 / 2 else main_~p~0#1 / 2); {2612#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:18,504 INFO L290 TraceCheckUtils]: 50: Hoare triple {2612#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (<= 0 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume main_~r~0#1 >= main_~d~0#1;main_~r~0#1 := main_~r~0#1 - main_~d~0#1;main_~q~0#1 := main_~q~0#1 + main_~p~0#1; {2755#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:18,505 INFO L290 TraceCheckUtils]: 51: Hoare triple {2755#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !false; {2755#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:18,505 INFO L272 TraceCheckUtils]: 52: Hoare triple {2755#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:18,505 INFO L290 TraceCheckUtils]: 53: Hoare triple {2598#true} ~cond := #in~cond; {2765#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:33:18,505 INFO L290 TraceCheckUtils]: 54: Hoare triple {2765#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2769#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:33:18,505 INFO L290 TraceCheckUtils]: 55: Hoare triple {2769#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2769#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:33:18,506 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2769#(not (= |__VERIFIER_assert_#in~cond| 0))} {2755#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #78#return; {2776#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= |ULTIMATE.start_main_~A~0#1| (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|)) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:18,506 INFO L272 TraceCheckUtils]: 57: Hoare triple {2776#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= |ULTIMATE.start_main_~A~0#1| (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|)) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:18,507 INFO L290 TraceCheckUtils]: 58: Hoare triple {2598#true} ~cond := #in~cond; {2765#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:33:18,507 INFO L290 TraceCheckUtils]: 59: Hoare triple {2765#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2769#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:33:18,507 INFO L290 TraceCheckUtils]: 60: Hoare triple {2769#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2769#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:33:18,508 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {2769#(not (= |__VERIFIER_assert_#in~cond| 0))} {2776#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= |ULTIMATE.start_main_~A~0#1| (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|)) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #80#return; {2792#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= |ULTIMATE.start_main_~d~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~p~0#1|)) (= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))} is VALID [2022-02-20 17:33:18,509 INFO L290 TraceCheckUtils]: 62: Hoare triple {2792#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= |ULTIMATE.start_main_~d~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~p~0#1|)) (= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))} assume !(1 != main_~p~0#1); {2796#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= |ULTIMATE.start_main_~d~0#1| 1) (= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))} is VALID [2022-02-20 17:33:18,509 INFO L272 TraceCheckUtils]: 63: Hoare triple {2796#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= |ULTIMATE.start_main_~d~0#1| 1) (= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))} call __VERIFIER_assert((if main_~A~0#1 == main_~d~0#1 * main_~q~0#1 + main_~r~0#1 then 1 else 0)); {2800#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:33:18,510 INFO L290 TraceCheckUtils]: 64: Hoare triple {2800#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2804#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:33:18,510 INFO L290 TraceCheckUtils]: 65: Hoare triple {2804#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2599#false} is VALID [2022-02-20 17:33:18,510 INFO L290 TraceCheckUtils]: 66: Hoare triple {2599#false} assume !false; {2599#false} is VALID [2022-02-20 17:33:18,511 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 66 proven. 11 refuted. 0 times theorem prover too weak. 132 trivial. 0 not checked. [2022-02-20 17:33:18,511 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:33:29,495 INFO L290 TraceCheckUtils]: 66: Hoare triple {2599#false} assume !false; {2599#false} is VALID [2022-02-20 17:33:29,496 INFO L290 TraceCheckUtils]: 65: Hoare triple {2804#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2599#false} is VALID [2022-02-20 17:33:29,496 INFO L290 TraceCheckUtils]: 64: Hoare triple {2800#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2804#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:33:29,497 INFO L272 TraceCheckUtils]: 63: Hoare triple {2820#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} call __VERIFIER_assert((if main_~A~0#1 == main_~d~0#1 * main_~q~0#1 + main_~r~0#1 then 1 else 0)); {2800#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:33:29,497 INFO L290 TraceCheckUtils]: 62: Hoare triple {2824#(or (not (= |ULTIMATE.start_main_~p~0#1| 1)) (= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))} assume !(1 != main_~p~0#1); {2820#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:33:29,498 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {2769#(not (= |__VERIFIER_assert_#in~cond| 0))} {2828#(or (not (= |ULTIMATE.start_main_~p~0#1| 1)) (not (= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)) (= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))} #80#return; {2824#(or (not (= |ULTIMATE.start_main_~p~0#1| 1)) (= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))} is VALID [2022-02-20 17:33:29,498 INFO L290 TraceCheckUtils]: 60: Hoare triple {2769#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2769#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:33:29,499 INFO L290 TraceCheckUtils]: 59: Hoare triple {2838#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2769#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:33:29,499 INFO L290 TraceCheckUtils]: 58: Hoare triple {2598#true} ~cond := #in~cond; {2838#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:33:29,499 INFO L272 TraceCheckUtils]: 57: Hoare triple {2828#(or (not (= |ULTIMATE.start_main_~p~0#1| 1)) (not (= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)) (= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:29,501 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2769#(not (= |__VERIFIER_assert_#in~cond| 0))} {2598#true} #78#return; {2828#(or (not (= |ULTIMATE.start_main_~p~0#1| 1)) (not (= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)) (= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))} is VALID [2022-02-20 17:33:29,502 INFO L290 TraceCheckUtils]: 55: Hoare triple {2769#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2769#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:33:29,502 INFO L290 TraceCheckUtils]: 54: Hoare triple {2838#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2769#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:33:29,503 INFO L290 TraceCheckUtils]: 53: Hoare triple {2598#true} ~cond := #in~cond; {2838#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:33:29,503 INFO L272 TraceCheckUtils]: 52: Hoare triple {2598#true} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:29,503 INFO L290 TraceCheckUtils]: 51: Hoare triple {2598#true} assume !false; {2598#true} is VALID [2022-02-20 17:33:29,503 INFO L290 TraceCheckUtils]: 50: Hoare triple {2598#true} assume main_~r~0#1 >= main_~d~0#1;main_~r~0#1 := main_~r~0#1 - main_~d~0#1;main_~q~0#1 := main_~q~0#1 + main_~p~0#1; {2598#true} is VALID [2022-02-20 17:33:29,503 INFO L290 TraceCheckUtils]: 49: Hoare triple {2598#true} assume !!(1 != main_~p~0#1);main_~d~0#1 := (if main_~d~0#1 < 0 && 0 != main_~d~0#1 % 2 then 1 + main_~d~0#1 / 2 else main_~d~0#1 / 2);main_~p~0#1 := (if main_~p~0#1 < 0 && 0 != main_~p~0#1 % 2 then 1 + main_~p~0#1 / 2 else main_~p~0#1 / 2); {2598#true} is VALID [2022-02-20 17:33:29,503 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {2598#true} {2598#true} #80#return; {2598#true} is VALID [2022-02-20 17:33:29,503 INFO L290 TraceCheckUtils]: 47: Hoare triple {2598#true} assume true; {2598#true} is VALID [2022-02-20 17:33:29,504 INFO L290 TraceCheckUtils]: 46: Hoare triple {2598#true} assume !(0 == ~cond); {2598#true} is VALID [2022-02-20 17:33:29,504 INFO L290 TraceCheckUtils]: 45: Hoare triple {2598#true} ~cond := #in~cond; {2598#true} is VALID [2022-02-20 17:33:29,504 INFO L272 TraceCheckUtils]: 44: Hoare triple {2598#true} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:29,504 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2598#true} {2598#true} #78#return; {2598#true} is VALID [2022-02-20 17:33:29,504 INFO L290 TraceCheckUtils]: 42: Hoare triple {2598#true} assume true; {2598#true} is VALID [2022-02-20 17:33:29,504 INFO L290 TraceCheckUtils]: 41: Hoare triple {2598#true} assume !(0 == ~cond); {2598#true} is VALID [2022-02-20 17:33:29,504 INFO L290 TraceCheckUtils]: 40: Hoare triple {2598#true} ~cond := #in~cond; {2598#true} is VALID [2022-02-20 17:33:29,504 INFO L272 TraceCheckUtils]: 39: Hoare triple {2598#true} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:29,505 INFO L290 TraceCheckUtils]: 38: Hoare triple {2598#true} assume !false; {2598#true} is VALID [2022-02-20 17:33:29,505 INFO L290 TraceCheckUtils]: 37: Hoare triple {2598#true} assume !(main_~r~0#1 >= main_~d~0#1); {2598#true} is VALID [2022-02-20 17:33:29,505 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2598#true} {2598#true} #76#return; {2598#true} is VALID [2022-02-20 17:33:29,505 INFO L290 TraceCheckUtils]: 35: Hoare triple {2598#true} assume true; {2598#true} is VALID [2022-02-20 17:33:29,505 INFO L290 TraceCheckUtils]: 34: Hoare triple {2598#true} assume !(0 == ~cond); {2598#true} is VALID [2022-02-20 17:33:29,505 INFO L290 TraceCheckUtils]: 33: Hoare triple {2598#true} ~cond := #in~cond; {2598#true} is VALID [2022-02-20 17:33:29,505 INFO L272 TraceCheckUtils]: 32: Hoare triple {2598#true} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:29,505 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2598#true} {2598#true} #74#return; {2598#true} is VALID [2022-02-20 17:33:29,506 INFO L290 TraceCheckUtils]: 30: Hoare triple {2598#true} assume true; {2598#true} is VALID [2022-02-20 17:33:29,506 INFO L290 TraceCheckUtils]: 29: Hoare triple {2598#true} assume !(0 == ~cond); {2598#true} is VALID [2022-02-20 17:33:29,506 INFO L290 TraceCheckUtils]: 28: Hoare triple {2598#true} ~cond := #in~cond; {2598#true} is VALID [2022-02-20 17:33:29,506 INFO L272 TraceCheckUtils]: 27: Hoare triple {2598#true} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:29,506 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2598#true} {2598#true} #72#return; {2598#true} is VALID [2022-02-20 17:33:29,506 INFO L290 TraceCheckUtils]: 25: Hoare triple {2598#true} assume true; {2598#true} is VALID [2022-02-20 17:33:29,506 INFO L290 TraceCheckUtils]: 24: Hoare triple {2598#true} assume !(0 == ~cond); {2598#true} is VALID [2022-02-20 17:33:29,506 INFO L290 TraceCheckUtils]: 23: Hoare triple {2598#true} ~cond := #in~cond; {2598#true} is VALID [2022-02-20 17:33:29,507 INFO L272 TraceCheckUtils]: 22: Hoare triple {2598#true} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:29,507 INFO L290 TraceCheckUtils]: 21: Hoare triple {2598#true} assume !false; {2598#true} is VALID [2022-02-20 17:33:29,507 INFO L290 TraceCheckUtils]: 20: Hoare triple {2598#true} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {2598#true} is VALID [2022-02-20 17:33:29,507 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {2598#true} {2598#true} #76#return; {2598#true} is VALID [2022-02-20 17:33:29,507 INFO L290 TraceCheckUtils]: 18: Hoare triple {2598#true} assume true; {2598#true} is VALID [2022-02-20 17:33:29,507 INFO L290 TraceCheckUtils]: 17: Hoare triple {2598#true} assume !(0 == ~cond); {2598#true} is VALID [2022-02-20 17:33:29,507 INFO L290 TraceCheckUtils]: 16: Hoare triple {2598#true} ~cond := #in~cond; {2598#true} is VALID [2022-02-20 17:33:29,507 INFO L272 TraceCheckUtils]: 15: Hoare triple {2598#true} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:29,507 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {2598#true} {2598#true} #74#return; {2598#true} is VALID [2022-02-20 17:33:29,508 INFO L290 TraceCheckUtils]: 13: Hoare triple {2598#true} assume true; {2598#true} is VALID [2022-02-20 17:33:29,508 INFO L290 TraceCheckUtils]: 12: Hoare triple {2598#true} assume !(0 == ~cond); {2598#true} is VALID [2022-02-20 17:33:29,508 INFO L290 TraceCheckUtils]: 11: Hoare triple {2598#true} ~cond := #in~cond; {2598#true} is VALID [2022-02-20 17:33:29,508 INFO L272 TraceCheckUtils]: 10: Hoare triple {2598#true} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:29,508 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2598#true} {2598#true} #72#return; {2598#true} is VALID [2022-02-20 17:33:29,508 INFO L290 TraceCheckUtils]: 8: Hoare triple {2598#true} assume true; {2598#true} is VALID [2022-02-20 17:33:29,508 INFO L290 TraceCheckUtils]: 7: Hoare triple {2598#true} assume !(0 == ~cond); {2598#true} is VALID [2022-02-20 17:33:29,508 INFO L290 TraceCheckUtils]: 6: Hoare triple {2598#true} ~cond := #in~cond; {2598#true} is VALID [2022-02-20 17:33:29,509 INFO L272 TraceCheckUtils]: 5: Hoare triple {2598#true} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2598#true} is VALID [2022-02-20 17:33:29,509 INFO L290 TraceCheckUtils]: 4: Hoare triple {2598#true} assume !false; {2598#true} is VALID [2022-02-20 17:33:29,509 INFO L290 TraceCheckUtils]: 3: Hoare triple {2598#true} assume { :end_inline_assume_abort_if_not } true;main_~B~0#1 := 1;main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {2598#true} is VALID [2022-02-20 17:33:29,509 INFO L290 TraceCheckUtils]: 2: Hoare triple {2598#true} assume !(0 == assume_abort_if_not_~cond#1); {2598#true} is VALID [2022-02-20 17:33:29,509 INFO L290 TraceCheckUtils]: 1: Hoare triple {2598#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~A~0#1 >= 0 && main_~A~0#1 <= 2 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {2598#true} is VALID [2022-02-20 17:33:29,509 INFO L290 TraceCheckUtils]: 0: Hoare triple {2598#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(8, 2);call #Ultimate.allocInit(12, 3); {2598#true} is VALID [2022-02-20 17:33:29,510 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 68 proven. 2 refuted. 0 times theorem prover too weak. 139 trivial. 0 not checked. [2022-02-20 17:33:29,510 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:33:29,510 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [351135065] [2022-02-20 17:33:29,510 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:33:29,510 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [508846341] [2022-02-20 17:33:29,510 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [508846341] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:33:29,510 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:33:29,510 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-02-20 17:33:29,510 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2135665355] [2022-02-20 17:33:29,511 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:33:29,511 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 11 states have internal predecessors, (32), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) Word has length 67 [2022-02-20 17:33:29,512 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:33:29,512 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 16 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 11 states have internal predecessors, (32), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-02-20 17:33:29,572 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:33:29,573 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-20 17:33:29,573 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:33:29,573 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-20 17:33:29,573 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=189, Unknown=0, NotChecked=0, Total=240 [2022-02-20 17:33:29,574 INFO L87 Difference]: Start difference. First operand 105 states and 138 transitions. Second operand has 16 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 11 states have internal predecessors, (32), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-02-20 17:33:30,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:30,580 INFO L93 Difference]: Finished difference Result 161 states and 211 transitions. [2022-02-20 17:33:30,580 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 17:33:30,580 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 11 states have internal predecessors, (32), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) Word has length 67 [2022-02-20 17:33:30,581 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:33:30,581 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 11 states have internal predecessors, (32), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-02-20 17:33:30,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 106 transitions. [2022-02-20 17:33:30,584 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 11 states have internal predecessors, (32), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-02-20 17:33:30,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 106 transitions. [2022-02-20 17:33:30,586 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 106 transitions. [2022-02-20 17:33:30,678 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:33:30,679 INFO L225 Difference]: With dead ends: 161 [2022-02-20 17:33:30,679 INFO L226 Difference]: Without dead ends: 107 [2022-02-20 17:33:30,680 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 116 SyntacticMatches, 2 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=76, Invalid=304, Unknown=0, NotChecked=0, Total=380 [2022-02-20 17:33:30,680 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 32 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 297 mSolverCounterSat, 63 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 360 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 63 IncrementalHoareTripleChecker+Valid, 297 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 17:33:30,681 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [45 Valid, 181 Invalid, 360 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [63 Valid, 297 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 17:33:30,681 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2022-02-20 17:33:30,704 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 93. [2022-02-20 17:33:30,704 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:33:30,704 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand has 93 states, 58 states have (on average 1.1724137931034482) internal successors, (68), 61 states have internal predecessors, (68), 23 states have call successors, (23), 11 states have call predecessors, (23), 11 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:33:30,705 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand has 93 states, 58 states have (on average 1.1724137931034482) internal successors, (68), 61 states have internal predecessors, (68), 23 states have call successors, (23), 11 states have call predecessors, (23), 11 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:33:30,705 INFO L87 Difference]: Start difference. First operand 107 states. Second operand has 93 states, 58 states have (on average 1.1724137931034482) internal successors, (68), 61 states have internal predecessors, (68), 23 states have call successors, (23), 11 states have call predecessors, (23), 11 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:33:30,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:30,708 INFO L93 Difference]: Finished difference Result 107 states and 134 transitions. [2022-02-20 17:33:30,708 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 134 transitions. [2022-02-20 17:33:30,708 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:33:30,708 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:33:30,708 INFO L74 IsIncluded]: Start isIncluded. First operand has 93 states, 58 states have (on average 1.1724137931034482) internal successors, (68), 61 states have internal predecessors, (68), 23 states have call successors, (23), 11 states have call predecessors, (23), 11 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) Second operand 107 states. [2022-02-20 17:33:30,709 INFO L87 Difference]: Start difference. First operand has 93 states, 58 states have (on average 1.1724137931034482) internal successors, (68), 61 states have internal predecessors, (68), 23 states have call successors, (23), 11 states have call predecessors, (23), 11 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) Second operand 107 states. [2022-02-20 17:33:30,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:30,712 INFO L93 Difference]: Finished difference Result 107 states and 134 transitions. [2022-02-20 17:33:30,712 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 134 transitions. [2022-02-20 17:33:30,712 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:33:30,712 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:33:30,712 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:33:30,712 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:33:30,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 93 states, 58 states have (on average 1.1724137931034482) internal successors, (68), 61 states have internal predecessors, (68), 23 states have call successors, (23), 11 states have call predecessors, (23), 11 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:33:30,715 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 113 transitions. [2022-02-20 17:33:30,715 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 113 transitions. Word has length 67 [2022-02-20 17:33:30,715 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:33:30,715 INFO L470 AbstractCegarLoop]: Abstraction has 93 states and 113 transitions. [2022-02-20 17:33:30,715 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 11 states have internal predecessors, (32), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-02-20 17:33:30,715 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 113 transitions. [2022-02-20 17:33:30,716 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2022-02-20 17:33:30,716 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:33:30,716 INFO L514 BasicCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:33:30,734 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-02-20 17:33:30,931 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:33:30,931 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:33:30,932 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:33:30,932 INFO L85 PathProgramCache]: Analyzing trace with hash 1842513023, now seen corresponding path program 1 times [2022-02-20 17:33:30,932 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:33:30,932 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [847050516] [2022-02-20 17:33:30,932 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:33:30,932 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:33:30,944 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:33:30,945 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1624690431] [2022-02-20 17:33:30,945 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:33:30,945 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:33:30,945 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:33:30,947 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:33:30,948 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-02-20 17:33:30,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:33:30,988 INFO L263 TraceCheckSpWp]: Trace formula consists of 176 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 17:33:30,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:33:31,000 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:33:32,102 INFO L290 TraceCheckUtils]: 0: Hoare triple {3592#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(8, 2);call #Ultimate.allocInit(12, 3); {3592#true} is VALID [2022-02-20 17:33:32,102 INFO L290 TraceCheckUtils]: 1: Hoare triple {3592#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~A~0#1 >= 0 && main_~A~0#1 <= 2 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {3592#true} is VALID [2022-02-20 17:33:32,102 INFO L290 TraceCheckUtils]: 2: Hoare triple {3592#true} assume !(0 == assume_abort_if_not_~cond#1); {3592#true} is VALID [2022-02-20 17:33:32,103 INFO L290 TraceCheckUtils]: 3: Hoare triple {3592#true} assume { :end_inline_assume_abort_if_not } true;main_~B~0#1 := 1;main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {3606#(<= 1 |ULTIMATE.start_main_~p~0#1|)} is VALID [2022-02-20 17:33:32,104 INFO L290 TraceCheckUtils]: 4: Hoare triple {3606#(<= 1 |ULTIMATE.start_main_~p~0#1|)} assume !false; {3606#(<= 1 |ULTIMATE.start_main_~p~0#1|)} is VALID [2022-02-20 17:33:32,104 INFO L272 TraceCheckUtils]: 5: Hoare triple {3606#(<= 1 |ULTIMATE.start_main_~p~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {3592#true} is VALID [2022-02-20 17:33:32,104 INFO L290 TraceCheckUtils]: 6: Hoare triple {3592#true} ~cond := #in~cond; {3592#true} is VALID [2022-02-20 17:33:32,104 INFO L290 TraceCheckUtils]: 7: Hoare triple {3592#true} assume !(0 == ~cond); {3592#true} is VALID [2022-02-20 17:33:32,104 INFO L290 TraceCheckUtils]: 8: Hoare triple {3592#true} assume true; {3592#true} is VALID [2022-02-20 17:33:32,105 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {3592#true} {3606#(<= 1 |ULTIMATE.start_main_~p~0#1|)} #72#return; {3606#(<= 1 |ULTIMATE.start_main_~p~0#1|)} is VALID [2022-02-20 17:33:32,105 INFO L272 TraceCheckUtils]: 10: Hoare triple {3606#(<= 1 |ULTIMATE.start_main_~p~0#1|)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {3592#true} is VALID [2022-02-20 17:33:32,105 INFO L290 TraceCheckUtils]: 11: Hoare triple {3592#true} ~cond := #in~cond; {3592#true} is VALID [2022-02-20 17:33:32,105 INFO L290 TraceCheckUtils]: 12: Hoare triple {3592#true} assume !(0 == ~cond); {3592#true} is VALID [2022-02-20 17:33:32,105 INFO L290 TraceCheckUtils]: 13: Hoare triple {3592#true} assume true; {3592#true} is VALID [2022-02-20 17:33:32,105 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {3592#true} {3606#(<= 1 |ULTIMATE.start_main_~p~0#1|)} #74#return; {3606#(<= 1 |ULTIMATE.start_main_~p~0#1|)} is VALID [2022-02-20 17:33:32,105 INFO L272 TraceCheckUtils]: 15: Hoare triple {3606#(<= 1 |ULTIMATE.start_main_~p~0#1|)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {3592#true} is VALID [2022-02-20 17:33:32,105 INFO L290 TraceCheckUtils]: 16: Hoare triple {3592#true} ~cond := #in~cond; {3592#true} is VALID [2022-02-20 17:33:32,105 INFO L290 TraceCheckUtils]: 17: Hoare triple {3592#true} assume !(0 == ~cond); {3592#true} is VALID [2022-02-20 17:33:32,106 INFO L290 TraceCheckUtils]: 18: Hoare triple {3592#true} assume true; {3592#true} is VALID [2022-02-20 17:33:32,106 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {3592#true} {3606#(<= 1 |ULTIMATE.start_main_~p~0#1|)} #76#return; {3606#(<= 1 |ULTIMATE.start_main_~p~0#1|)} is VALID [2022-02-20 17:33:32,107 INFO L290 TraceCheckUtils]: 20: Hoare triple {3606#(<= 1 |ULTIMATE.start_main_~p~0#1|)} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {3658#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} is VALID [2022-02-20 17:33:32,107 INFO L290 TraceCheckUtils]: 21: Hoare triple {3658#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} assume !false; {3658#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} is VALID [2022-02-20 17:33:32,107 INFO L272 TraceCheckUtils]: 22: Hoare triple {3658#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {3592#true} is VALID [2022-02-20 17:33:32,107 INFO L290 TraceCheckUtils]: 23: Hoare triple {3592#true} ~cond := #in~cond; {3592#true} is VALID [2022-02-20 17:33:32,107 INFO L290 TraceCheckUtils]: 24: Hoare triple {3592#true} assume !(0 == ~cond); {3592#true} is VALID [2022-02-20 17:33:32,107 INFO L290 TraceCheckUtils]: 25: Hoare triple {3592#true} assume true; {3592#true} is VALID [2022-02-20 17:33:32,108 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3592#true} {3658#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} #72#return; {3658#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} is VALID [2022-02-20 17:33:32,108 INFO L272 TraceCheckUtils]: 27: Hoare triple {3658#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {3592#true} is VALID [2022-02-20 17:33:32,108 INFO L290 TraceCheckUtils]: 28: Hoare triple {3592#true} ~cond := #in~cond; {3592#true} is VALID [2022-02-20 17:33:32,108 INFO L290 TraceCheckUtils]: 29: Hoare triple {3592#true} assume !(0 == ~cond); {3592#true} is VALID [2022-02-20 17:33:32,108 INFO L290 TraceCheckUtils]: 30: Hoare triple {3592#true} assume true; {3592#true} is VALID [2022-02-20 17:33:32,109 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3592#true} {3658#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} #74#return; {3658#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} is VALID [2022-02-20 17:33:32,109 INFO L272 TraceCheckUtils]: 32: Hoare triple {3658#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {3592#true} is VALID [2022-02-20 17:33:32,109 INFO L290 TraceCheckUtils]: 33: Hoare triple {3592#true} ~cond := #in~cond; {3592#true} is VALID [2022-02-20 17:33:32,109 INFO L290 TraceCheckUtils]: 34: Hoare triple {3592#true} assume !(0 == ~cond); {3592#true} is VALID [2022-02-20 17:33:32,109 INFO L290 TraceCheckUtils]: 35: Hoare triple {3592#true} assume true; {3592#true} is VALID [2022-02-20 17:33:32,109 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3592#true} {3658#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} #76#return; {3658#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} is VALID [2022-02-20 17:33:32,110 INFO L290 TraceCheckUtils]: 37: Hoare triple {3658#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:32,110 INFO L290 TraceCheckUtils]: 38: Hoare triple {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} assume !false; {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:32,111 INFO L272 TraceCheckUtils]: 39: Hoare triple {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {3592#true} is VALID [2022-02-20 17:33:32,111 INFO L290 TraceCheckUtils]: 40: Hoare triple {3592#true} ~cond := #in~cond; {3592#true} is VALID [2022-02-20 17:33:32,111 INFO L290 TraceCheckUtils]: 41: Hoare triple {3592#true} assume !(0 == ~cond); {3592#true} is VALID [2022-02-20 17:33:32,111 INFO L290 TraceCheckUtils]: 42: Hoare triple {3592#true} assume true; {3592#true} is VALID [2022-02-20 17:33:32,111 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3592#true} {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} #72#return; {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:32,111 INFO L272 TraceCheckUtils]: 44: Hoare triple {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {3592#true} is VALID [2022-02-20 17:33:32,111 INFO L290 TraceCheckUtils]: 45: Hoare triple {3592#true} ~cond := #in~cond; {3592#true} is VALID [2022-02-20 17:33:32,111 INFO L290 TraceCheckUtils]: 46: Hoare triple {3592#true} assume !(0 == ~cond); {3592#true} is VALID [2022-02-20 17:33:32,111 INFO L290 TraceCheckUtils]: 47: Hoare triple {3592#true} assume true; {3592#true} is VALID [2022-02-20 17:33:32,112 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3592#true} {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} #74#return; {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:32,112 INFO L272 TraceCheckUtils]: 49: Hoare triple {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {3592#true} is VALID [2022-02-20 17:33:32,112 INFO L290 TraceCheckUtils]: 50: Hoare triple {3592#true} ~cond := #in~cond; {3592#true} is VALID [2022-02-20 17:33:32,112 INFO L290 TraceCheckUtils]: 51: Hoare triple {3592#true} assume !(0 == ~cond); {3592#true} is VALID [2022-02-20 17:33:32,112 INFO L290 TraceCheckUtils]: 52: Hoare triple {3592#true} assume true; {3592#true} is VALID [2022-02-20 17:33:32,112 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {3592#true} {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} #76#return; {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:32,113 INFO L290 TraceCheckUtils]: 54: Hoare triple {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} assume !(main_~r~0#1 >= main_~d~0#1); {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:32,113 INFO L290 TraceCheckUtils]: 55: Hoare triple {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} assume !false; {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:32,113 INFO L272 TraceCheckUtils]: 56: Hoare triple {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {3592#true} is VALID [2022-02-20 17:33:32,113 INFO L290 TraceCheckUtils]: 57: Hoare triple {3592#true} ~cond := #in~cond; {3592#true} is VALID [2022-02-20 17:33:32,113 INFO L290 TraceCheckUtils]: 58: Hoare triple {3592#true} assume !(0 == ~cond); {3592#true} is VALID [2022-02-20 17:33:32,113 INFO L290 TraceCheckUtils]: 59: Hoare triple {3592#true} assume true; {3592#true} is VALID [2022-02-20 17:33:32,114 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3592#true} {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} #78#return; {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:32,114 INFO L272 TraceCheckUtils]: 61: Hoare triple {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {3592#true} is VALID [2022-02-20 17:33:32,114 INFO L290 TraceCheckUtils]: 62: Hoare triple {3592#true} ~cond := #in~cond; {3592#true} is VALID [2022-02-20 17:33:32,114 INFO L290 TraceCheckUtils]: 63: Hoare triple {3592#true} assume !(0 == ~cond); {3592#true} is VALID [2022-02-20 17:33:32,114 INFO L290 TraceCheckUtils]: 64: Hoare triple {3592#true} assume true; {3592#true} is VALID [2022-02-20 17:33:32,114 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {3592#true} {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} #80#return; {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:32,114 INFO L290 TraceCheckUtils]: 66: Hoare triple {3710#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} assume !(1 != main_~p~0#1); {3593#false} is VALID [2022-02-20 17:33:32,115 INFO L272 TraceCheckUtils]: 67: Hoare triple {3593#false} call __VERIFIER_assert((if main_~A~0#1 == main_~d~0#1 * main_~q~0#1 + main_~r~0#1 then 1 else 0)); {3593#false} is VALID [2022-02-20 17:33:32,115 INFO L290 TraceCheckUtils]: 68: Hoare triple {3593#false} ~cond := #in~cond; {3593#false} is VALID [2022-02-20 17:33:32,115 INFO L290 TraceCheckUtils]: 69: Hoare triple {3593#false} assume !(0 == ~cond); {3593#false} is VALID [2022-02-20 17:33:32,115 INFO L290 TraceCheckUtils]: 70: Hoare triple {3593#false} assume true; {3593#false} is VALID [2022-02-20 17:33:32,115 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {3593#false} {3593#false} #82#return; {3593#false} is VALID [2022-02-20 17:33:32,115 INFO L272 TraceCheckUtils]: 72: Hoare triple {3593#false} call __VERIFIER_assert((if main_~B~0#1 == main_~d~0#1 then 1 else 0)); {3593#false} is VALID [2022-02-20 17:33:32,115 INFO L290 TraceCheckUtils]: 73: Hoare triple {3593#false} ~cond := #in~cond; {3593#false} is VALID [2022-02-20 17:33:32,115 INFO L290 TraceCheckUtils]: 74: Hoare triple {3593#false} assume 0 == ~cond; {3593#false} is VALID [2022-02-20 17:33:32,115 INFO L290 TraceCheckUtils]: 75: Hoare triple {3593#false} assume !false; {3593#false} is VALID [2022-02-20 17:33:32,116 INFO L134 CoverageAnalysis]: Checked inductivity of 303 backedges. 81 proven. 0 refuted. 0 times theorem prover too weak. 222 trivial. 0 not checked. [2022-02-20 17:33:32,116 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:33:32,116 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:33:32,116 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [847050516] [2022-02-20 17:33:32,116 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:33:32,116 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1624690431] [2022-02-20 17:33:32,116 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1624690431] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:33:32,116 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:33:32,116 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:33:32,117 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [580499360] [2022-02-20 17:33:32,117 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:33:32,117 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 76 [2022-02-20 17:33:32,117 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:33:32,117 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-02-20 17:33:32,150 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:33:32,150 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:33:32,150 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:33:32,150 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:33:32,150 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:33:32,151 INFO L87 Difference]: Start difference. First operand 93 states and 113 transitions. Second operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-02-20 17:33:32,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:32,298 INFO L93 Difference]: Finished difference Result 107 states and 128 transitions. [2022-02-20 17:33:32,298 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:33:32,298 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 76 [2022-02-20 17:33:32,298 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:33:32,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-02-20 17:33:32,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 70 transitions. [2022-02-20 17:33:32,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-02-20 17:33:32,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 70 transitions. [2022-02-20 17:33:32,301 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 70 transitions. [2022-02-20 17:33:32,354 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:33:32,355 INFO L225 Difference]: With dead ends: 107 [2022-02-20 17:33:32,355 INFO L226 Difference]: Without dead ends: 95 [2022-02-20 17:33:32,356 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 72 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:33:32,356 INFO L933 BasicCegarLoop]: 44 mSDtfsCounter, 14 mSDsluCounter, 27 mSDsCounter, 0 mSdLazyCounter, 33 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 71 SdHoareTripleChecker+Invalid, 45 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 33 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:33:32,356 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 71 Invalid, 45 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 33 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:33:32,356 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-02-20 17:33:32,386 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 95. [2022-02-20 17:33:32,386 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:33:32,386 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand has 95 states, 60 states have (on average 1.15) internal successors, (69), 61 states have internal predecessors, (69), 23 states have call successors, (23), 11 states have call predecessors, (23), 11 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:33:32,386 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand has 95 states, 60 states have (on average 1.15) internal successors, (69), 61 states have internal predecessors, (69), 23 states have call successors, (23), 11 states have call predecessors, (23), 11 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:33:32,387 INFO L87 Difference]: Start difference. First operand 95 states. Second operand has 95 states, 60 states have (on average 1.15) internal successors, (69), 61 states have internal predecessors, (69), 23 states have call successors, (23), 11 states have call predecessors, (23), 11 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:33:32,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:32,389 INFO L93 Difference]: Finished difference Result 95 states and 114 transitions. [2022-02-20 17:33:32,389 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 114 transitions. [2022-02-20 17:33:32,389 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:33:32,389 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:33:32,390 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 60 states have (on average 1.15) internal successors, (69), 61 states have internal predecessors, (69), 23 states have call successors, (23), 11 states have call predecessors, (23), 11 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) Second operand 95 states. [2022-02-20 17:33:32,390 INFO L87 Difference]: Start difference. First operand has 95 states, 60 states have (on average 1.15) internal successors, (69), 61 states have internal predecessors, (69), 23 states have call successors, (23), 11 states have call predecessors, (23), 11 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) Second operand 95 states. [2022-02-20 17:33:32,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:32,395 INFO L93 Difference]: Finished difference Result 95 states and 114 transitions. [2022-02-20 17:33:32,395 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 114 transitions. [2022-02-20 17:33:32,395 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:33:32,395 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:33:32,396 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:33:32,396 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:33:32,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 60 states have (on average 1.15) internal successors, (69), 61 states have internal predecessors, (69), 23 states have call successors, (23), 11 states have call predecessors, (23), 11 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:33:32,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 114 transitions. [2022-02-20 17:33:32,400 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 114 transitions. Word has length 76 [2022-02-20 17:33:32,401 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:33:32,401 INFO L470 AbstractCegarLoop]: Abstraction has 95 states and 114 transitions. [2022-02-20 17:33:32,401 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-02-20 17:33:32,401 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 114 transitions. [2022-02-20 17:33:32,402 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-02-20 17:33:32,402 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:33:32,402 INFO L514 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:33:32,418 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-02-20 17:33:32,602 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:33:32,603 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:33:32,603 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:33:32,603 INFO L85 PathProgramCache]: Analyzing trace with hash 1412721000, now seen corresponding path program 1 times [2022-02-20 17:33:32,603 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:33:32,604 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1169899962] [2022-02-20 17:33:32,604 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:33:32,604 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:33:32,614 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:33:32,615 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [216960661] [2022-02-20 17:33:32,615 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:33:32,615 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:33:32,615 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:33:32,616 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:33:32,617 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-02-20 17:33:32,657 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:33:32,658 INFO L263 TraceCheckSpWp]: Trace formula consists of 201 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 17:33:32,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:33:32,670 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:33:34,321 INFO L290 TraceCheckUtils]: 0: Hoare triple {4294#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(8, 2);call #Ultimate.allocInit(12, 3); {4294#true} is VALID [2022-02-20 17:33:34,321 INFO L290 TraceCheckUtils]: 1: Hoare triple {4294#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~A~0#1 >= 0 && main_~A~0#1 <= 2 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {4294#true} is VALID [2022-02-20 17:33:34,321 INFO L290 TraceCheckUtils]: 2: Hoare triple {4294#true} assume !(0 == assume_abort_if_not_~cond#1); {4294#true} is VALID [2022-02-20 17:33:34,322 INFO L290 TraceCheckUtils]: 3: Hoare triple {4294#true} assume { :end_inline_assume_abort_if_not } true;main_~B~0#1 := 1;main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {4308#(<= 1 |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:33:34,322 INFO L290 TraceCheckUtils]: 4: Hoare triple {4308#(<= 1 |ULTIMATE.start_main_~d~0#1|)} assume !false; {4308#(<= 1 |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:33:34,322 INFO L272 TraceCheckUtils]: 5: Hoare triple {4308#(<= 1 |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {4294#true} is VALID [2022-02-20 17:33:34,323 INFO L290 TraceCheckUtils]: 6: Hoare triple {4294#true} ~cond := #in~cond; {4294#true} is VALID [2022-02-20 17:33:34,323 INFO L290 TraceCheckUtils]: 7: Hoare triple {4294#true} assume !(0 == ~cond); {4294#true} is VALID [2022-02-20 17:33:34,323 INFO L290 TraceCheckUtils]: 8: Hoare triple {4294#true} assume true; {4294#true} is VALID [2022-02-20 17:33:34,323 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4294#true} {4308#(<= 1 |ULTIMATE.start_main_~d~0#1|)} #72#return; {4308#(<= 1 |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:33:34,323 INFO L272 TraceCheckUtils]: 10: Hoare triple {4308#(<= 1 |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {4294#true} is VALID [2022-02-20 17:33:34,324 INFO L290 TraceCheckUtils]: 11: Hoare triple {4294#true} ~cond := #in~cond; {4294#true} is VALID [2022-02-20 17:33:34,324 INFO L290 TraceCheckUtils]: 12: Hoare triple {4294#true} assume !(0 == ~cond); {4294#true} is VALID [2022-02-20 17:33:34,324 INFO L290 TraceCheckUtils]: 13: Hoare triple {4294#true} assume true; {4294#true} is VALID [2022-02-20 17:33:34,324 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {4294#true} {4308#(<= 1 |ULTIMATE.start_main_~d~0#1|)} #74#return; {4308#(<= 1 |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:33:34,324 INFO L272 TraceCheckUtils]: 15: Hoare triple {4308#(<= 1 |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {4294#true} is VALID [2022-02-20 17:33:34,325 INFO L290 TraceCheckUtils]: 16: Hoare triple {4294#true} ~cond := #in~cond; {4294#true} is VALID [2022-02-20 17:33:34,325 INFO L290 TraceCheckUtils]: 17: Hoare triple {4294#true} assume !(0 == ~cond); {4294#true} is VALID [2022-02-20 17:33:34,325 INFO L290 TraceCheckUtils]: 18: Hoare triple {4294#true} assume true; {4294#true} is VALID [2022-02-20 17:33:34,325 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4294#true} {4308#(<= 1 |ULTIMATE.start_main_~d~0#1|)} #76#return; {4308#(<= 1 |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:33:34,326 INFO L290 TraceCheckUtils]: 20: Hoare triple {4308#(<= 1 |ULTIMATE.start_main_~d~0#1|)} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {4360#(<= 1 (div |ULTIMATE.start_main_~d~0#1| 2))} is VALID [2022-02-20 17:33:34,326 INFO L290 TraceCheckUtils]: 21: Hoare triple {4360#(<= 1 (div |ULTIMATE.start_main_~d~0#1| 2))} assume !false; {4360#(<= 1 (div |ULTIMATE.start_main_~d~0#1| 2))} is VALID [2022-02-20 17:33:34,327 INFO L272 TraceCheckUtils]: 22: Hoare triple {4360#(<= 1 (div |ULTIMATE.start_main_~d~0#1| 2))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {4294#true} is VALID [2022-02-20 17:33:34,327 INFO L290 TraceCheckUtils]: 23: Hoare triple {4294#true} ~cond := #in~cond; {4294#true} is VALID [2022-02-20 17:33:34,327 INFO L290 TraceCheckUtils]: 24: Hoare triple {4294#true} assume !(0 == ~cond); {4294#true} is VALID [2022-02-20 17:33:34,327 INFO L290 TraceCheckUtils]: 25: Hoare triple {4294#true} assume true; {4294#true} is VALID [2022-02-20 17:33:34,327 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4294#true} {4360#(<= 1 (div |ULTIMATE.start_main_~d~0#1| 2))} #72#return; {4360#(<= 1 (div |ULTIMATE.start_main_~d~0#1| 2))} is VALID [2022-02-20 17:33:34,328 INFO L272 TraceCheckUtils]: 27: Hoare triple {4360#(<= 1 (div |ULTIMATE.start_main_~d~0#1| 2))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {4294#true} is VALID [2022-02-20 17:33:34,328 INFO L290 TraceCheckUtils]: 28: Hoare triple {4294#true} ~cond := #in~cond; {4294#true} is VALID [2022-02-20 17:33:34,328 INFO L290 TraceCheckUtils]: 29: Hoare triple {4294#true} assume !(0 == ~cond); {4294#true} is VALID [2022-02-20 17:33:34,328 INFO L290 TraceCheckUtils]: 30: Hoare triple {4294#true} assume true; {4294#true} is VALID [2022-02-20 17:33:34,329 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4294#true} {4360#(<= 1 (div |ULTIMATE.start_main_~d~0#1| 2))} #74#return; {4360#(<= 1 (div |ULTIMATE.start_main_~d~0#1| 2))} is VALID [2022-02-20 17:33:34,329 INFO L272 TraceCheckUtils]: 32: Hoare triple {4360#(<= 1 (div |ULTIMATE.start_main_~d~0#1| 2))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {4294#true} is VALID [2022-02-20 17:33:34,329 INFO L290 TraceCheckUtils]: 33: Hoare triple {4294#true} ~cond := #in~cond; {4294#true} is VALID [2022-02-20 17:33:34,329 INFO L290 TraceCheckUtils]: 34: Hoare triple {4294#true} assume !(0 == ~cond); {4294#true} is VALID [2022-02-20 17:33:34,329 INFO L290 TraceCheckUtils]: 35: Hoare triple {4294#true} assume true; {4294#true} is VALID [2022-02-20 17:33:34,330 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4294#true} {4360#(<= 1 (div |ULTIMATE.start_main_~d~0#1| 2))} #76#return; {4360#(<= 1 (div |ULTIMATE.start_main_~d~0#1| 2))} is VALID [2022-02-20 17:33:34,331 INFO L290 TraceCheckUtils]: 37: Hoare triple {4360#(<= 1 (div |ULTIMATE.start_main_~d~0#1| 2))} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:34,331 INFO L290 TraceCheckUtils]: 38: Hoare triple {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} assume !false; {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:34,331 INFO L272 TraceCheckUtils]: 39: Hoare triple {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {4294#true} is VALID [2022-02-20 17:33:34,331 INFO L290 TraceCheckUtils]: 40: Hoare triple {4294#true} ~cond := #in~cond; {4294#true} is VALID [2022-02-20 17:33:34,331 INFO L290 TraceCheckUtils]: 41: Hoare triple {4294#true} assume !(0 == ~cond); {4294#true} is VALID [2022-02-20 17:33:34,332 INFO L290 TraceCheckUtils]: 42: Hoare triple {4294#true} assume true; {4294#true} is VALID [2022-02-20 17:33:34,332 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4294#true} {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} #72#return; {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:34,332 INFO L272 TraceCheckUtils]: 44: Hoare triple {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {4294#true} is VALID [2022-02-20 17:33:34,332 INFO L290 TraceCheckUtils]: 45: Hoare triple {4294#true} ~cond := #in~cond; {4294#true} is VALID [2022-02-20 17:33:34,332 INFO L290 TraceCheckUtils]: 46: Hoare triple {4294#true} assume !(0 == ~cond); {4294#true} is VALID [2022-02-20 17:33:34,333 INFO L290 TraceCheckUtils]: 47: Hoare triple {4294#true} assume true; {4294#true} is VALID [2022-02-20 17:33:34,333 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {4294#true} {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} #74#return; {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:34,333 INFO L272 TraceCheckUtils]: 49: Hoare triple {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {4294#true} is VALID [2022-02-20 17:33:34,333 INFO L290 TraceCheckUtils]: 50: Hoare triple {4294#true} ~cond := #in~cond; {4294#true} is VALID [2022-02-20 17:33:34,333 INFO L290 TraceCheckUtils]: 51: Hoare triple {4294#true} assume !(0 == ~cond); {4294#true} is VALID [2022-02-20 17:33:34,333 INFO L290 TraceCheckUtils]: 52: Hoare triple {4294#true} assume true; {4294#true} is VALID [2022-02-20 17:33:34,334 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {4294#true} {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} #76#return; {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:34,334 INFO L290 TraceCheckUtils]: 54: Hoare triple {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} assume !(main_~r~0#1 >= main_~d~0#1); {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:34,335 INFO L290 TraceCheckUtils]: 55: Hoare triple {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} assume !false; {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:34,335 INFO L272 TraceCheckUtils]: 56: Hoare triple {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {4294#true} is VALID [2022-02-20 17:33:34,335 INFO L290 TraceCheckUtils]: 57: Hoare triple {4294#true} ~cond := #in~cond; {4294#true} is VALID [2022-02-20 17:33:34,335 INFO L290 TraceCheckUtils]: 58: Hoare triple {4294#true} assume !(0 == ~cond); {4294#true} is VALID [2022-02-20 17:33:34,335 INFO L290 TraceCheckUtils]: 59: Hoare triple {4294#true} assume true; {4294#true} is VALID [2022-02-20 17:33:34,336 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {4294#true} {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} #78#return; {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:34,336 INFO L272 TraceCheckUtils]: 61: Hoare triple {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {4294#true} is VALID [2022-02-20 17:33:34,336 INFO L290 TraceCheckUtils]: 62: Hoare triple {4294#true} ~cond := #in~cond; {4294#true} is VALID [2022-02-20 17:33:34,336 INFO L290 TraceCheckUtils]: 63: Hoare triple {4294#true} assume !(0 == ~cond); {4294#true} is VALID [2022-02-20 17:33:34,336 INFO L290 TraceCheckUtils]: 64: Hoare triple {4294#true} assume true; {4294#true} is VALID [2022-02-20 17:33:34,337 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {4294#true} {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} #80#return; {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:34,338 INFO L290 TraceCheckUtils]: 66: Hoare triple {4412#(and (<= 1 (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} assume !!(1 != main_~p~0#1);main_~d~0#1 := (if main_~d~0#1 < 0 && 0 != main_~d~0#1 % 2 then 1 + main_~d~0#1 / 2 else main_~d~0#1 / 2);main_~p~0#1 := (if main_~p~0#1 < 0 && 0 != main_~p~0#1 % 2 then 1 + main_~p~0#1 / 2 else main_~p~0#1 / 2); {4500#(and (<= 1 (div |ULTIMATE.start_main_~r~0#1| 2)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:34,338 INFO L290 TraceCheckUtils]: 67: Hoare triple {4500#(and (<= 1 (div |ULTIMATE.start_main_~r~0#1| 2)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} assume !(main_~r~0#1 >= main_~d~0#1); {4295#false} is VALID [2022-02-20 17:33:34,338 INFO L290 TraceCheckUtils]: 68: Hoare triple {4295#false} assume !false; {4295#false} is VALID [2022-02-20 17:33:34,338 INFO L272 TraceCheckUtils]: 69: Hoare triple {4295#false} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {4295#false} is VALID [2022-02-20 17:33:34,339 INFO L290 TraceCheckUtils]: 70: Hoare triple {4295#false} ~cond := #in~cond; {4295#false} is VALID [2022-02-20 17:33:34,339 INFO L290 TraceCheckUtils]: 71: Hoare triple {4295#false} assume !(0 == ~cond); {4295#false} is VALID [2022-02-20 17:33:34,339 INFO L290 TraceCheckUtils]: 72: Hoare triple {4295#false} assume true; {4295#false} is VALID [2022-02-20 17:33:34,339 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {4295#false} {4295#false} #78#return; {4295#false} is VALID [2022-02-20 17:33:34,339 INFO L272 TraceCheckUtils]: 74: Hoare triple {4295#false} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {4295#false} is VALID [2022-02-20 17:33:34,339 INFO L290 TraceCheckUtils]: 75: Hoare triple {4295#false} ~cond := #in~cond; {4295#false} is VALID [2022-02-20 17:33:34,339 INFO L290 TraceCheckUtils]: 76: Hoare triple {4295#false} assume !(0 == ~cond); {4295#false} is VALID [2022-02-20 17:33:34,339 INFO L290 TraceCheckUtils]: 77: Hoare triple {4295#false} assume true; {4295#false} is VALID [2022-02-20 17:33:34,340 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {4295#false} {4295#false} #80#return; {4295#false} is VALID [2022-02-20 17:33:34,340 INFO L290 TraceCheckUtils]: 79: Hoare triple {4295#false} assume !!(1 != main_~p~0#1);main_~d~0#1 := (if main_~d~0#1 < 0 && 0 != main_~d~0#1 % 2 then 1 + main_~d~0#1 / 2 else main_~d~0#1 / 2);main_~p~0#1 := (if main_~p~0#1 < 0 && 0 != main_~p~0#1 % 2 then 1 + main_~p~0#1 / 2 else main_~p~0#1 / 2); {4295#false} is VALID [2022-02-20 17:33:34,340 INFO L290 TraceCheckUtils]: 80: Hoare triple {4295#false} assume main_~r~0#1 >= main_~d~0#1;main_~r~0#1 := main_~r~0#1 - main_~d~0#1;main_~q~0#1 := main_~q~0#1 + main_~p~0#1; {4295#false} is VALID [2022-02-20 17:33:34,340 INFO L290 TraceCheckUtils]: 81: Hoare triple {4295#false} assume !false; {4295#false} is VALID [2022-02-20 17:33:34,340 INFO L272 TraceCheckUtils]: 82: Hoare triple {4295#false} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {4295#false} is VALID [2022-02-20 17:33:34,340 INFO L290 TraceCheckUtils]: 83: Hoare triple {4295#false} ~cond := #in~cond; {4295#false} is VALID [2022-02-20 17:33:34,340 INFO L290 TraceCheckUtils]: 84: Hoare triple {4295#false} assume 0 == ~cond; {4295#false} is VALID [2022-02-20 17:33:34,340 INFO L290 TraceCheckUtils]: 85: Hoare triple {4295#false} assume !false; {4295#false} is VALID [2022-02-20 17:33:34,341 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 132 proven. 0 refuted. 0 times theorem prover too weak. 230 trivial. 0 not checked. [2022-02-20 17:33:34,341 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:33:34,341 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:33:34,341 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1169899962] [2022-02-20 17:33:34,341 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:33:34,341 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [216960661] [2022-02-20 17:33:34,341 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [216960661] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:33:34,341 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:33:34,342 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 17:33:34,342 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [402175377] [2022-02-20 17:33:34,342 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:33:34,342 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-02-20 17:33:34,342 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:33:34,343 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.0) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-02-20 17:33:34,385 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:33:34,385 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 17:33:34,385 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:33:34,385 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 17:33:34,386 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:33:34,386 INFO L87 Difference]: Start difference. First operand 95 states and 114 transitions. Second operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-02-20 17:33:34,714 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:34,714 INFO L93 Difference]: Finished difference Result 131 states and 159 transitions. [2022-02-20 17:33:34,714 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:33:34,714 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-02-20 17:33:34,715 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:33:34,715 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-02-20 17:33:34,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 89 transitions. [2022-02-20 17:33:34,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-02-20 17:33:34,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 89 transitions. [2022-02-20 17:33:34,720 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 89 transitions. [2022-02-20 17:33:34,793 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:33:34,794 INFO L225 Difference]: With dead ends: 131 [2022-02-20 17:33:34,794 INFO L226 Difference]: Without dead ends: 97 [2022-02-20 17:33:34,794 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 81 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 17:33:34,795 INFO L933 BasicCegarLoop]: 46 mSDtfsCounter, 7 mSDsluCounter, 81 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 127 SdHoareTripleChecker+Invalid, 61 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:33:34,795 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 127 Invalid, 61 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:33:34,795 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2022-02-20 17:33:34,838 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 86. [2022-02-20 17:33:34,838 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:33:34,840 INFO L82 GeneralOperation]: Start isEquivalent. First operand 97 states. Second operand has 86 states, 55 states have (on average 1.1090909090909091) internal successors, (61), 56 states have internal predecessors, (61), 19 states have call successors, (19), 11 states have call predecessors, (19), 11 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:33:34,840 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand has 86 states, 55 states have (on average 1.1090909090909091) internal successors, (61), 56 states have internal predecessors, (61), 19 states have call successors, (19), 11 states have call predecessors, (19), 11 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:33:34,840 INFO L87 Difference]: Start difference. First operand 97 states. Second operand has 86 states, 55 states have (on average 1.1090909090909091) internal successors, (61), 56 states have internal predecessors, (61), 19 states have call successors, (19), 11 states have call predecessors, (19), 11 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:33:34,843 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:34,843 INFO L93 Difference]: Finished difference Result 97 states and 117 transitions. [2022-02-20 17:33:34,843 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 117 transitions. [2022-02-20 17:33:34,843 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:33:34,843 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:33:34,844 INFO L74 IsIncluded]: Start isIncluded. First operand has 86 states, 55 states have (on average 1.1090909090909091) internal successors, (61), 56 states have internal predecessors, (61), 19 states have call successors, (19), 11 states have call predecessors, (19), 11 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) Second operand 97 states. [2022-02-20 17:33:34,844 INFO L87 Difference]: Start difference. First operand has 86 states, 55 states have (on average 1.1090909090909091) internal successors, (61), 56 states have internal predecessors, (61), 19 states have call successors, (19), 11 states have call predecessors, (19), 11 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) Second operand 97 states. [2022-02-20 17:33:34,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:34,849 INFO L93 Difference]: Finished difference Result 97 states and 117 transitions. [2022-02-20 17:33:34,849 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 117 transitions. [2022-02-20 17:33:34,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:33:34,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:33:34,849 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:33:34,850 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:33:34,850 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 86 states, 55 states have (on average 1.1090909090909091) internal successors, (61), 56 states have internal predecessors, (61), 19 states have call successors, (19), 11 states have call predecessors, (19), 11 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:33:34,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 98 transitions. [2022-02-20 17:33:34,852 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 98 transitions. Word has length 86 [2022-02-20 17:33:34,852 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:33:34,852 INFO L470 AbstractCegarLoop]: Abstraction has 86 states and 98 transitions. [2022-02-20 17:33:34,852 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-02-20 17:33:34,852 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 98 transitions. [2022-02-20 17:33:34,854 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-02-20 17:33:34,854 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:33:34,854 INFO L514 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:33:34,870 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-02-20 17:33:35,057 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:33:35,058 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:33:35,058 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:33:35,058 INFO L85 PathProgramCache]: Analyzing trace with hash -1193302554, now seen corresponding path program 2 times [2022-02-20 17:33:35,058 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:33:35,058 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [286711187] [2022-02-20 17:33:35,058 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:33:35,058 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:33:35,075 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:33:35,076 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [977699546] [2022-02-20 17:33:35,076 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 17:33:35,076 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:33:35,076 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:33:35,081 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:33:35,082 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-02-20 17:33:35,134 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 17:33:35,134 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 17:33:35,135 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-20 17:33:35,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:33:35,154 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:33:35,665 INFO L290 TraceCheckUtils]: 0: Hoare triple {5054#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(8, 2);call #Ultimate.allocInit(12, 3); {5054#true} is VALID [2022-02-20 17:33:35,665 INFO L290 TraceCheckUtils]: 1: Hoare triple {5054#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~A~0#1 >= 0 && main_~A~0#1 <= 2 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {5062#(or (and (or (not (<= |ULTIMATE.start_main_~A~0#1| 2)) (not (<= 0 |ULTIMATE.start_main_~A~0#1|))) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)) (and (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 1) (<= |ULTIMATE.start_main_~A~0#1| 2) (<= 0 |ULTIMATE.start_main_~A~0#1|)))} is VALID [2022-02-20 17:33:35,666 INFO L290 TraceCheckUtils]: 2: Hoare triple {5062#(or (and (or (not (<= |ULTIMATE.start_main_~A~0#1| 2)) (not (<= 0 |ULTIMATE.start_main_~A~0#1|))) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)) (and (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 1) (<= |ULTIMATE.start_main_~A~0#1| 2) (<= 0 |ULTIMATE.start_main_~A~0#1|)))} assume !(0 == assume_abort_if_not_~cond#1); {5066#(and (<= |ULTIMATE.start_main_~A~0#1| 2) (<= 0 |ULTIMATE.start_main_~A~0#1|))} is VALID [2022-02-20 17:33:35,666 INFO L290 TraceCheckUtils]: 3: Hoare triple {5066#(and (<= |ULTIMATE.start_main_~A~0#1| 2) (<= 0 |ULTIMATE.start_main_~A~0#1|))} assume { :end_inline_assume_abort_if_not } true;main_~B~0#1 := 1;main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {5070#(and (= |ULTIMATE.start_main_~d~0#1| 1) (<= |ULTIMATE.start_main_~r~0#1| 2))} is VALID [2022-02-20 17:33:35,667 INFO L290 TraceCheckUtils]: 4: Hoare triple {5070#(and (= |ULTIMATE.start_main_~d~0#1| 1) (<= |ULTIMATE.start_main_~r~0#1| 2))} assume !false; {5070#(and (= |ULTIMATE.start_main_~d~0#1| 1) (<= |ULTIMATE.start_main_~r~0#1| 2))} is VALID [2022-02-20 17:33:35,667 INFO L272 TraceCheckUtils]: 5: Hoare triple {5070#(and (= |ULTIMATE.start_main_~d~0#1| 1) (<= |ULTIMATE.start_main_~r~0#1| 2))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {5054#true} is VALID [2022-02-20 17:33:35,667 INFO L290 TraceCheckUtils]: 6: Hoare triple {5054#true} ~cond := #in~cond; {5054#true} is VALID [2022-02-20 17:33:35,667 INFO L290 TraceCheckUtils]: 7: Hoare triple {5054#true} assume !(0 == ~cond); {5054#true} is VALID [2022-02-20 17:33:35,667 INFO L290 TraceCheckUtils]: 8: Hoare triple {5054#true} assume true; {5054#true} is VALID [2022-02-20 17:33:35,667 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {5054#true} {5070#(and (= |ULTIMATE.start_main_~d~0#1| 1) (<= |ULTIMATE.start_main_~r~0#1| 2))} #72#return; {5070#(and (= |ULTIMATE.start_main_~d~0#1| 1) (<= |ULTIMATE.start_main_~r~0#1| 2))} is VALID [2022-02-20 17:33:35,667 INFO L272 TraceCheckUtils]: 10: Hoare triple {5070#(and (= |ULTIMATE.start_main_~d~0#1| 1) (<= |ULTIMATE.start_main_~r~0#1| 2))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {5054#true} is VALID [2022-02-20 17:33:35,668 INFO L290 TraceCheckUtils]: 11: Hoare triple {5054#true} ~cond := #in~cond; {5054#true} is VALID [2022-02-20 17:33:35,668 INFO L290 TraceCheckUtils]: 12: Hoare triple {5054#true} assume !(0 == ~cond); {5054#true} is VALID [2022-02-20 17:33:35,668 INFO L290 TraceCheckUtils]: 13: Hoare triple {5054#true} assume true; {5054#true} is VALID [2022-02-20 17:33:35,668 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {5054#true} {5070#(and (= |ULTIMATE.start_main_~d~0#1| 1) (<= |ULTIMATE.start_main_~r~0#1| 2))} #74#return; {5070#(and (= |ULTIMATE.start_main_~d~0#1| 1) (<= |ULTIMATE.start_main_~r~0#1| 2))} is VALID [2022-02-20 17:33:35,668 INFO L272 TraceCheckUtils]: 15: Hoare triple {5070#(and (= |ULTIMATE.start_main_~d~0#1| 1) (<= |ULTIMATE.start_main_~r~0#1| 2))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {5054#true} is VALID [2022-02-20 17:33:35,668 INFO L290 TraceCheckUtils]: 16: Hoare triple {5054#true} ~cond := #in~cond; {5054#true} is VALID [2022-02-20 17:33:35,668 INFO L290 TraceCheckUtils]: 17: Hoare triple {5054#true} assume !(0 == ~cond); {5054#true} is VALID [2022-02-20 17:33:35,668 INFO L290 TraceCheckUtils]: 18: Hoare triple {5054#true} assume true; {5054#true} is VALID [2022-02-20 17:33:35,669 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5054#true} {5070#(and (= |ULTIMATE.start_main_~d~0#1| 1) (<= |ULTIMATE.start_main_~r~0#1| 2))} #76#return; {5070#(and (= |ULTIMATE.start_main_~d~0#1| 1) (<= |ULTIMATE.start_main_~r~0#1| 2))} is VALID [2022-02-20 17:33:35,669 INFO L290 TraceCheckUtils]: 20: Hoare triple {5070#(and (= |ULTIMATE.start_main_~d~0#1| 1) (<= |ULTIMATE.start_main_~r~0#1| 2))} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {5122#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:35,669 INFO L290 TraceCheckUtils]: 21: Hoare triple {5122#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= 2 |ULTIMATE.start_main_~d~0#1|))} assume !false; {5122#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:35,669 INFO L272 TraceCheckUtils]: 22: Hoare triple {5122#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= 2 |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {5054#true} is VALID [2022-02-20 17:33:35,669 INFO L290 TraceCheckUtils]: 23: Hoare triple {5054#true} ~cond := #in~cond; {5054#true} is VALID [2022-02-20 17:33:35,670 INFO L290 TraceCheckUtils]: 24: Hoare triple {5054#true} assume !(0 == ~cond); {5054#true} is VALID [2022-02-20 17:33:35,670 INFO L290 TraceCheckUtils]: 25: Hoare triple {5054#true} assume true; {5054#true} is VALID [2022-02-20 17:33:35,670 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5054#true} {5122#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= 2 |ULTIMATE.start_main_~d~0#1|))} #72#return; {5122#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:35,670 INFO L272 TraceCheckUtils]: 27: Hoare triple {5122#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= 2 |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {5054#true} is VALID [2022-02-20 17:33:35,670 INFO L290 TraceCheckUtils]: 28: Hoare triple {5054#true} ~cond := #in~cond; {5054#true} is VALID [2022-02-20 17:33:35,670 INFO L290 TraceCheckUtils]: 29: Hoare triple {5054#true} assume !(0 == ~cond); {5054#true} is VALID [2022-02-20 17:33:35,670 INFO L290 TraceCheckUtils]: 30: Hoare triple {5054#true} assume true; {5054#true} is VALID [2022-02-20 17:33:35,671 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {5054#true} {5122#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= 2 |ULTIMATE.start_main_~d~0#1|))} #74#return; {5122#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:35,671 INFO L272 TraceCheckUtils]: 32: Hoare triple {5122#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= 2 |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {5054#true} is VALID [2022-02-20 17:33:35,671 INFO L290 TraceCheckUtils]: 33: Hoare triple {5054#true} ~cond := #in~cond; {5054#true} is VALID [2022-02-20 17:33:35,671 INFO L290 TraceCheckUtils]: 34: Hoare triple {5054#true} assume !(0 == ~cond); {5054#true} is VALID [2022-02-20 17:33:35,671 INFO L290 TraceCheckUtils]: 35: Hoare triple {5054#true} assume true; {5054#true} is VALID [2022-02-20 17:33:35,671 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5054#true} {5122#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= 2 |ULTIMATE.start_main_~d~0#1|))} #76#return; {5122#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:35,672 INFO L290 TraceCheckUtils]: 37: Hoare triple {5122#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= 2 |ULTIMATE.start_main_~d~0#1|))} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} is VALID [2022-02-20 17:33:35,672 INFO L290 TraceCheckUtils]: 38: Hoare triple {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} assume !false; {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} is VALID [2022-02-20 17:33:35,672 INFO L272 TraceCheckUtils]: 39: Hoare triple {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {5054#true} is VALID [2022-02-20 17:33:35,672 INFO L290 TraceCheckUtils]: 40: Hoare triple {5054#true} ~cond := #in~cond; {5054#true} is VALID [2022-02-20 17:33:35,672 INFO L290 TraceCheckUtils]: 41: Hoare triple {5054#true} assume !(0 == ~cond); {5054#true} is VALID [2022-02-20 17:33:35,672 INFO L290 TraceCheckUtils]: 42: Hoare triple {5054#true} assume true; {5054#true} is VALID [2022-02-20 17:33:35,673 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {5054#true} {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} #72#return; {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} is VALID [2022-02-20 17:33:35,673 INFO L272 TraceCheckUtils]: 44: Hoare triple {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {5054#true} is VALID [2022-02-20 17:33:35,673 INFO L290 TraceCheckUtils]: 45: Hoare triple {5054#true} ~cond := #in~cond; {5054#true} is VALID [2022-02-20 17:33:35,673 INFO L290 TraceCheckUtils]: 46: Hoare triple {5054#true} assume !(0 == ~cond); {5054#true} is VALID [2022-02-20 17:33:35,673 INFO L290 TraceCheckUtils]: 47: Hoare triple {5054#true} assume true; {5054#true} is VALID [2022-02-20 17:33:35,673 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5054#true} {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} #74#return; {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} is VALID [2022-02-20 17:33:35,673 INFO L272 TraceCheckUtils]: 49: Hoare triple {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {5054#true} is VALID [2022-02-20 17:33:35,673 INFO L290 TraceCheckUtils]: 50: Hoare triple {5054#true} ~cond := #in~cond; {5054#true} is VALID [2022-02-20 17:33:35,673 INFO L290 TraceCheckUtils]: 51: Hoare triple {5054#true} assume !(0 == ~cond); {5054#true} is VALID [2022-02-20 17:33:35,673 INFO L290 TraceCheckUtils]: 52: Hoare triple {5054#true} assume true; {5054#true} is VALID [2022-02-20 17:33:35,674 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {5054#true} {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} #76#return; {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} is VALID [2022-02-20 17:33:35,674 INFO L290 TraceCheckUtils]: 54: Hoare triple {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} assume !(main_~r~0#1 >= main_~d~0#1); {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} is VALID [2022-02-20 17:33:35,674 INFO L290 TraceCheckUtils]: 55: Hoare triple {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} assume !false; {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} is VALID [2022-02-20 17:33:35,674 INFO L272 TraceCheckUtils]: 56: Hoare triple {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {5054#true} is VALID [2022-02-20 17:33:35,675 INFO L290 TraceCheckUtils]: 57: Hoare triple {5054#true} ~cond := #in~cond; {5054#true} is VALID [2022-02-20 17:33:35,675 INFO L290 TraceCheckUtils]: 58: Hoare triple {5054#true} assume !(0 == ~cond); {5054#true} is VALID [2022-02-20 17:33:35,675 INFO L290 TraceCheckUtils]: 59: Hoare triple {5054#true} assume true; {5054#true} is VALID [2022-02-20 17:33:35,675 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {5054#true} {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} #78#return; {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} is VALID [2022-02-20 17:33:35,675 INFO L272 TraceCheckUtils]: 61: Hoare triple {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {5054#true} is VALID [2022-02-20 17:33:35,675 INFO L290 TraceCheckUtils]: 62: Hoare triple {5054#true} ~cond := #in~cond; {5054#true} is VALID [2022-02-20 17:33:35,675 INFO L290 TraceCheckUtils]: 63: Hoare triple {5054#true} assume !(0 == ~cond); {5054#true} is VALID [2022-02-20 17:33:35,675 INFO L290 TraceCheckUtils]: 64: Hoare triple {5054#true} assume true; {5054#true} is VALID [2022-02-20 17:33:35,676 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {5054#true} {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} #80#return; {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} is VALID [2022-02-20 17:33:35,676 INFO L290 TraceCheckUtils]: 66: Hoare triple {5174#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (= |ULTIMATE.start_main_~d~0#1| 4))} assume !!(1 != main_~p~0#1);main_~d~0#1 := (if main_~d~0#1 < 0 && 0 != main_~d~0#1 % 2 then 1 + main_~d~0#1 / 2 else main_~d~0#1 / 2);main_~p~0#1 := (if main_~p~0#1 < 0 && 0 != main_~p~0#1 % 2 then 1 + main_~p~0#1 / 2 else main_~p~0#1 / 2); {5262#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (<= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:35,677 INFO L290 TraceCheckUtils]: 67: Hoare triple {5262#(and (<= |ULTIMATE.start_main_~r~0#1| 2) (<= 2 |ULTIMATE.start_main_~d~0#1|))} assume main_~r~0#1 >= main_~d~0#1;main_~r~0#1 := main_~r~0#1 - main_~d~0#1;main_~q~0#1 := main_~q~0#1 + main_~p~0#1; {5266#(and (<= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) 2) (<= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:35,677 INFO L290 TraceCheckUtils]: 68: Hoare triple {5266#(and (<= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) 2) (<= 2 |ULTIMATE.start_main_~d~0#1|))} assume !false; {5266#(and (<= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) 2) (<= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:35,677 INFO L272 TraceCheckUtils]: 69: Hoare triple {5266#(and (<= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) 2) (<= 2 |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {5054#true} is VALID [2022-02-20 17:33:35,677 INFO L290 TraceCheckUtils]: 70: Hoare triple {5054#true} ~cond := #in~cond; {5054#true} is VALID [2022-02-20 17:33:35,677 INFO L290 TraceCheckUtils]: 71: Hoare triple {5054#true} assume !(0 == ~cond); {5054#true} is VALID [2022-02-20 17:33:35,677 INFO L290 TraceCheckUtils]: 72: Hoare triple {5054#true} assume true; {5054#true} is VALID [2022-02-20 17:33:35,687 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {5054#true} {5266#(and (<= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) 2) (<= 2 |ULTIMATE.start_main_~d~0#1|))} #78#return; {5266#(and (<= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) 2) (<= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:35,688 INFO L272 TraceCheckUtils]: 74: Hoare triple {5266#(and (<= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) 2) (<= 2 |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {5054#true} is VALID [2022-02-20 17:33:35,688 INFO L290 TraceCheckUtils]: 75: Hoare triple {5054#true} ~cond := #in~cond; {5054#true} is VALID [2022-02-20 17:33:35,688 INFO L290 TraceCheckUtils]: 76: Hoare triple {5054#true} assume !(0 == ~cond); {5054#true} is VALID [2022-02-20 17:33:35,688 INFO L290 TraceCheckUtils]: 77: Hoare triple {5054#true} assume true; {5054#true} is VALID [2022-02-20 17:33:35,688 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {5054#true} {5266#(and (<= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) 2) (<= 2 |ULTIMATE.start_main_~d~0#1|))} #80#return; {5266#(and (<= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) 2) (<= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:35,689 INFO L290 TraceCheckUtils]: 79: Hoare triple {5266#(and (<= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) 2) (<= 2 |ULTIMATE.start_main_~d~0#1|))} assume !!(1 != main_~p~0#1);main_~d~0#1 := (if main_~d~0#1 < 0 && 0 != main_~d~0#1 % 2 then 1 + main_~d~0#1 / 2 else main_~d~0#1 / 2);main_~p~0#1 := (if main_~p~0#1 < 0 && 0 != main_~p~0#1 % 2 then 1 + main_~p~0#1 / 2 else main_~p~0#1 / 2); {5303#(and (< 0 |ULTIMATE.start_main_~d~0#1|) (<= |ULTIMATE.start_main_~r~0#1| 0))} is VALID [2022-02-20 17:33:35,690 INFO L290 TraceCheckUtils]: 80: Hoare triple {5303#(and (< 0 |ULTIMATE.start_main_~d~0#1|) (<= |ULTIMATE.start_main_~r~0#1| 0))} assume main_~r~0#1 >= main_~d~0#1;main_~r~0#1 := main_~r~0#1 - main_~d~0#1;main_~q~0#1 := main_~q~0#1 + main_~p~0#1; {5055#false} is VALID [2022-02-20 17:33:35,690 INFO L290 TraceCheckUtils]: 81: Hoare triple {5055#false} assume !false; {5055#false} is VALID [2022-02-20 17:33:35,690 INFO L272 TraceCheckUtils]: 82: Hoare triple {5055#false} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {5055#false} is VALID [2022-02-20 17:33:35,690 INFO L290 TraceCheckUtils]: 83: Hoare triple {5055#false} ~cond := #in~cond; {5055#false} is VALID [2022-02-20 17:33:35,690 INFO L290 TraceCheckUtils]: 84: Hoare triple {5055#false} assume 0 == ~cond; {5055#false} is VALID [2022-02-20 17:33:35,690 INFO L290 TraceCheckUtils]: 85: Hoare triple {5055#false} assume !false; {5055#false} is VALID [2022-02-20 17:33:35,690 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 30 proven. 20 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-02-20 17:33:35,690 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:33:37,185 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:33:37,185 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [286711187] [2022-02-20 17:33:37,185 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:33:37,185 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [977699546] [2022-02-20 17:33:37,185 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [977699546] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 17:33:37,185 INFO L191 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:33:37,185 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-02-20 17:33:37,185 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [738057644] [2022-02-20 17:33:37,185 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-02-20 17:33:37,186 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-02-20 17:33:37,186 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:33:37,186 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-02-20 17:33:37,231 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:33:37,232 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 17:33:37,232 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:33:37,232 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 17:33:37,232 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=142, Unknown=0, NotChecked=0, Total=182 [2022-02-20 17:33:37,232 INFO L87 Difference]: Start difference. First operand 86 states and 98 transitions. Second operand has 10 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-02-20 17:33:37,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:37,904 INFO L93 Difference]: Finished difference Result 149 states and 176 transitions. [2022-02-20 17:33:37,904 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 17:33:37,905 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-02-20 17:33:37,905 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:33:37,905 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-02-20 17:33:37,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-02-20 17:33:37,906 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-02-20 17:33:37,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-02-20 17:33:37,907 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2022-02-20 17:33:37,994 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:33:38,000 INFO L225 Difference]: With dead ends: 149 [2022-02-20 17:33:38,000 INFO L226 Difference]: Without dead ends: 93 [2022-02-20 17:33:38,003 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 94 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=92, Invalid=288, Unknown=0, NotChecked=0, Total=380 [2022-02-20 17:33:38,003 INFO L933 BasicCegarLoop]: 50 mSDtfsCounter, 44 mSDsluCounter, 173 mSDsCounter, 0 mSdLazyCounter, 104 mSolverCounterSat, 78 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 223 SdHoareTripleChecker+Invalid, 182 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 78 IncrementalHoareTripleChecker+Valid, 104 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 17:33:38,003 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 223 Invalid, 182 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [78 Valid, 104 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 17:33:38,004 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2022-02-20 17:33:38,064 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 87. [2022-02-20 17:33:38,064 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:33:38,064 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand has 87 states, 56 states have (on average 1.0892857142857142) internal successors, (61), 57 states have internal predecessors, (61), 19 states have call successors, (19), 11 states have call predecessors, (19), 11 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:33:38,065 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand has 87 states, 56 states have (on average 1.0892857142857142) internal successors, (61), 57 states have internal predecessors, (61), 19 states have call successors, (19), 11 states have call predecessors, (19), 11 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:33:38,065 INFO L87 Difference]: Start difference. First operand 93 states. Second operand has 87 states, 56 states have (on average 1.0892857142857142) internal successors, (61), 57 states have internal predecessors, (61), 19 states have call successors, (19), 11 states have call predecessors, (19), 11 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:33:38,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:38,067 INFO L93 Difference]: Finished difference Result 93 states and 108 transitions. [2022-02-20 17:33:38,068 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 108 transitions. [2022-02-20 17:33:38,068 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:33:38,068 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:33:38,068 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 56 states have (on average 1.0892857142857142) internal successors, (61), 57 states have internal predecessors, (61), 19 states have call successors, (19), 11 states have call predecessors, (19), 11 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) Second operand 93 states. [2022-02-20 17:33:38,069 INFO L87 Difference]: Start difference. First operand has 87 states, 56 states have (on average 1.0892857142857142) internal successors, (61), 57 states have internal predecessors, (61), 19 states have call successors, (19), 11 states have call predecessors, (19), 11 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) Second operand 93 states. [2022-02-20 17:33:38,084 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:38,084 INFO L93 Difference]: Finished difference Result 93 states and 108 transitions. [2022-02-20 17:33:38,084 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 108 transitions. [2022-02-20 17:33:38,084 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:33:38,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:33:38,085 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:33:38,085 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:33:38,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 56 states have (on average 1.0892857142857142) internal successors, (61), 57 states have internal predecessors, (61), 19 states have call successors, (19), 11 states have call predecessors, (19), 11 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:33:38,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 98 transitions. [2022-02-20 17:33:38,086 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 98 transitions. Word has length 86 [2022-02-20 17:33:38,086 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:33:38,087 INFO L470 AbstractCegarLoop]: Abstraction has 87 states and 98 transitions. [2022-02-20 17:33:38,087 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-02-20 17:33:38,087 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 98 transitions. [2022-02-20 17:33:38,087 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-02-20 17:33:38,087 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:33:38,088 INFO L514 BasicCegarLoop]: trace histogram [15, 14, 14, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:33:38,104 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-02-20 17:33:38,304 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-02-20 17:33:38,304 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:33:38,304 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:33:38,304 INFO L85 PathProgramCache]: Analyzing trace with hash 1373298297, now seen corresponding path program 2 times [2022-02-20 17:33:38,304 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:33:38,304 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [941365575] [2022-02-20 17:33:38,305 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:33:38,305 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:33:38,313 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:33:38,313 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [31218841] [2022-02-20 17:33:38,313 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 17:33:38,313 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:33:38,314 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:33:38,314 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:33:38,315 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-02-20 17:33:38,355 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 17:33:38,355 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 17:33:38,356 INFO L263 TraceCheckSpWp]: Trace formula consists of 210 conjuncts, 27 conjunts are in the unsatisfiable core [2022-02-20 17:33:38,368 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:33:38,369 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:33:38,884 INFO L290 TraceCheckUtils]: 0: Hoare triple {5913#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(8, 2);call #Ultimate.allocInit(12, 3); {5913#true} is VALID [2022-02-20 17:33:38,885 INFO L290 TraceCheckUtils]: 1: Hoare triple {5913#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~A~0#1 >= 0 && main_~A~0#1 <= 2 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {5913#true} is VALID [2022-02-20 17:33:38,885 INFO L290 TraceCheckUtils]: 2: Hoare triple {5913#true} assume !(0 == assume_abort_if_not_~cond#1); {5913#true} is VALID [2022-02-20 17:33:38,885 INFO L290 TraceCheckUtils]: 3: Hoare triple {5913#true} assume { :end_inline_assume_abort_if_not } true;main_~B~0#1 := 1;main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:38,885 INFO L290 TraceCheckUtils]: 4: Hoare triple {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !false; {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:38,885 INFO L272 TraceCheckUtils]: 5: Hoare triple {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {5913#true} is VALID [2022-02-20 17:33:38,885 INFO L290 TraceCheckUtils]: 6: Hoare triple {5913#true} ~cond := #in~cond; {5913#true} is VALID [2022-02-20 17:33:38,885 INFO L290 TraceCheckUtils]: 7: Hoare triple {5913#true} assume !(0 == ~cond); {5913#true} is VALID [2022-02-20 17:33:38,885 INFO L290 TraceCheckUtils]: 8: Hoare triple {5913#true} assume true; {5913#true} is VALID [2022-02-20 17:33:38,886 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {5913#true} {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #72#return; {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:38,886 INFO L272 TraceCheckUtils]: 10: Hoare triple {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {5913#true} is VALID [2022-02-20 17:33:38,886 INFO L290 TraceCheckUtils]: 11: Hoare triple {5913#true} ~cond := #in~cond; {5913#true} is VALID [2022-02-20 17:33:38,886 INFO L290 TraceCheckUtils]: 12: Hoare triple {5913#true} assume !(0 == ~cond); {5913#true} is VALID [2022-02-20 17:33:38,886 INFO L290 TraceCheckUtils]: 13: Hoare triple {5913#true} assume true; {5913#true} is VALID [2022-02-20 17:33:38,889 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {5913#true} {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #74#return; {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:38,889 INFO L272 TraceCheckUtils]: 15: Hoare triple {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {5913#true} is VALID [2022-02-20 17:33:38,889 INFO L290 TraceCheckUtils]: 16: Hoare triple {5913#true} ~cond := #in~cond; {5913#true} is VALID [2022-02-20 17:33:38,889 INFO L290 TraceCheckUtils]: 17: Hoare triple {5913#true} assume !(0 == ~cond); {5913#true} is VALID [2022-02-20 17:33:38,889 INFO L290 TraceCheckUtils]: 18: Hoare triple {5913#true} assume true; {5913#true} is VALID [2022-02-20 17:33:38,889 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5913#true} {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #76#return; {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:38,890 INFO L290 TraceCheckUtils]: 20: Hoare triple {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {5979#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:38,890 INFO L290 TraceCheckUtils]: 21: Hoare triple {5979#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !false; {5979#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:38,890 INFO L272 TraceCheckUtils]: 22: Hoare triple {5979#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {5913#true} is VALID [2022-02-20 17:33:38,890 INFO L290 TraceCheckUtils]: 23: Hoare triple {5913#true} ~cond := #in~cond; {5913#true} is VALID [2022-02-20 17:33:38,890 INFO L290 TraceCheckUtils]: 24: Hoare triple {5913#true} assume !(0 == ~cond); {5913#true} is VALID [2022-02-20 17:33:38,890 INFO L290 TraceCheckUtils]: 25: Hoare triple {5913#true} assume true; {5913#true} is VALID [2022-02-20 17:33:38,902 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5913#true} {5979#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #72#return; {5979#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:38,902 INFO L272 TraceCheckUtils]: 27: Hoare triple {5979#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {5913#true} is VALID [2022-02-20 17:33:38,902 INFO L290 TraceCheckUtils]: 28: Hoare triple {5913#true} ~cond := #in~cond; {5913#true} is VALID [2022-02-20 17:33:38,902 INFO L290 TraceCheckUtils]: 29: Hoare triple {5913#true} assume !(0 == ~cond); {5913#true} is VALID [2022-02-20 17:33:38,902 INFO L290 TraceCheckUtils]: 30: Hoare triple {5913#true} assume true; {5913#true} is VALID [2022-02-20 17:33:38,902 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {5913#true} {5979#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #74#return; {5979#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:38,902 INFO L272 TraceCheckUtils]: 32: Hoare triple {5979#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {5913#true} is VALID [2022-02-20 17:33:38,902 INFO L290 TraceCheckUtils]: 33: Hoare triple {5913#true} ~cond := #in~cond; {5913#true} is VALID [2022-02-20 17:33:38,903 INFO L290 TraceCheckUtils]: 34: Hoare triple {5913#true} assume !(0 == ~cond); {5913#true} is VALID [2022-02-20 17:33:38,903 INFO L290 TraceCheckUtils]: 35: Hoare triple {5913#true} assume true; {5913#true} is VALID [2022-02-20 17:33:38,903 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5913#true} {5979#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #76#return; {5979#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:38,903 INFO L290 TraceCheckUtils]: 37: Hoare triple {5979#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:38,904 INFO L290 TraceCheckUtils]: 38: Hoare triple {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} assume !false; {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:38,904 INFO L272 TraceCheckUtils]: 39: Hoare triple {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {5913#true} is VALID [2022-02-20 17:33:38,904 INFO L290 TraceCheckUtils]: 40: Hoare triple {5913#true} ~cond := #in~cond; {5913#true} is VALID [2022-02-20 17:33:38,904 INFO L290 TraceCheckUtils]: 41: Hoare triple {5913#true} assume !(0 == ~cond); {5913#true} is VALID [2022-02-20 17:33:38,904 INFO L290 TraceCheckUtils]: 42: Hoare triple {5913#true} assume true; {5913#true} is VALID [2022-02-20 17:33:38,904 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {5913#true} {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} #72#return; {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:38,905 INFO L272 TraceCheckUtils]: 44: Hoare triple {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {5913#true} is VALID [2022-02-20 17:33:38,905 INFO L290 TraceCheckUtils]: 45: Hoare triple {5913#true} ~cond := #in~cond; {5913#true} is VALID [2022-02-20 17:33:38,905 INFO L290 TraceCheckUtils]: 46: Hoare triple {5913#true} assume !(0 == ~cond); {5913#true} is VALID [2022-02-20 17:33:38,905 INFO L290 TraceCheckUtils]: 47: Hoare triple {5913#true} assume true; {5913#true} is VALID [2022-02-20 17:33:38,909 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5913#true} {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} #74#return; {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:38,909 INFO L272 TraceCheckUtils]: 49: Hoare triple {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {5913#true} is VALID [2022-02-20 17:33:38,909 INFO L290 TraceCheckUtils]: 50: Hoare triple {5913#true} ~cond := #in~cond; {5913#true} is VALID [2022-02-20 17:33:38,909 INFO L290 TraceCheckUtils]: 51: Hoare triple {5913#true} assume !(0 == ~cond); {5913#true} is VALID [2022-02-20 17:33:38,910 INFO L290 TraceCheckUtils]: 52: Hoare triple {5913#true} assume true; {5913#true} is VALID [2022-02-20 17:33:38,910 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {5913#true} {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} #76#return; {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:38,910 INFO L290 TraceCheckUtils]: 54: Hoare triple {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} assume !(main_~r~0#1 >= main_~d~0#1); {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:38,911 INFO L290 TraceCheckUtils]: 55: Hoare triple {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} assume !false; {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:38,911 INFO L272 TraceCheckUtils]: 56: Hoare triple {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {5913#true} is VALID [2022-02-20 17:33:38,911 INFO L290 TraceCheckUtils]: 57: Hoare triple {5913#true} ~cond := #in~cond; {5913#true} is VALID [2022-02-20 17:33:38,911 INFO L290 TraceCheckUtils]: 58: Hoare triple {5913#true} assume !(0 == ~cond); {5913#true} is VALID [2022-02-20 17:33:38,911 INFO L290 TraceCheckUtils]: 59: Hoare triple {5913#true} assume true; {5913#true} is VALID [2022-02-20 17:33:38,911 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {5913#true} {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} #78#return; {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:38,911 INFO L272 TraceCheckUtils]: 61: Hoare triple {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {5913#true} is VALID [2022-02-20 17:33:38,912 INFO L290 TraceCheckUtils]: 62: Hoare triple {5913#true} ~cond := #in~cond; {5913#true} is VALID [2022-02-20 17:33:38,912 INFO L290 TraceCheckUtils]: 63: Hoare triple {5913#true} assume !(0 == ~cond); {5913#true} is VALID [2022-02-20 17:33:38,912 INFO L290 TraceCheckUtils]: 64: Hoare triple {5913#true} assume true; {5913#true} is VALID [2022-02-20 17:33:38,912 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {5913#true} {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} #80#return; {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:38,913 INFO L290 TraceCheckUtils]: 66: Hoare triple {6031#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |ULTIMATE.start_main_~B~0#1| 1) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} assume !!(1 != main_~p~0#1);main_~d~0#1 := (if main_~d~0#1 < 0 && 0 != main_~d~0#1 % 2 then 1 + main_~d~0#1 / 2 else main_~d~0#1 / 2);main_~p~0#1 := (if main_~p~0#1 < 0 && 0 != main_~p~0#1 % 2 then 1 + main_~p~0#1 / 2 else main_~p~0#1 / 2); {6119#(and (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (div (* |ULTIMATE.start_main_~B~0#1| 4) 2)) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:33:38,913 INFO L290 TraceCheckUtils]: 67: Hoare triple {6119#(and (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (div (* |ULTIMATE.start_main_~B~0#1| 4) 2)) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~r~0#1|))} assume main_~r~0#1 >= main_~d~0#1;main_~r~0#1 := main_~r~0#1 - main_~d~0#1;main_~q~0#1 := main_~q~0#1 + main_~p~0#1; {6123#(and (= 2 |ULTIMATE.start_main_~p~0#1|) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= |ULTIMATE.start_main_~B~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (div (* |ULTIMATE.start_main_~B~0#1| 4) 2)))} is VALID [2022-02-20 17:33:38,914 INFO L290 TraceCheckUtils]: 68: Hoare triple {6123#(and (= 2 |ULTIMATE.start_main_~p~0#1|) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= |ULTIMATE.start_main_~B~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (div (* |ULTIMATE.start_main_~B~0#1| 4) 2)))} assume !false; {6123#(and (= 2 |ULTIMATE.start_main_~p~0#1|) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= |ULTIMATE.start_main_~B~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (div (* |ULTIMATE.start_main_~B~0#1| 4) 2)))} is VALID [2022-02-20 17:33:38,914 INFO L272 TraceCheckUtils]: 69: Hoare triple {6123#(and (= 2 |ULTIMATE.start_main_~p~0#1|) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= |ULTIMATE.start_main_~B~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (div (* |ULTIMATE.start_main_~B~0#1| 4) 2)))} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {5913#true} is VALID [2022-02-20 17:33:38,914 INFO L290 TraceCheckUtils]: 70: Hoare triple {5913#true} ~cond := #in~cond; {5913#true} is VALID [2022-02-20 17:33:38,914 INFO L290 TraceCheckUtils]: 71: Hoare triple {5913#true} assume !(0 == ~cond); {5913#true} is VALID [2022-02-20 17:33:38,914 INFO L290 TraceCheckUtils]: 72: Hoare triple {5913#true} assume true; {5913#true} is VALID [2022-02-20 17:33:38,914 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {5913#true} {6123#(and (= 2 |ULTIMATE.start_main_~p~0#1|) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= |ULTIMATE.start_main_~B~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (div (* |ULTIMATE.start_main_~B~0#1| 4) 2)))} #78#return; {6123#(and (= 2 |ULTIMATE.start_main_~p~0#1|) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= |ULTIMATE.start_main_~B~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (div (* |ULTIMATE.start_main_~B~0#1| 4) 2)))} is VALID [2022-02-20 17:33:38,915 INFO L272 TraceCheckUtils]: 74: Hoare triple {6123#(and (= 2 |ULTIMATE.start_main_~p~0#1|) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= |ULTIMATE.start_main_~B~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (div (* |ULTIMATE.start_main_~B~0#1| 4) 2)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {5913#true} is VALID [2022-02-20 17:33:38,915 INFO L290 TraceCheckUtils]: 75: Hoare triple {5913#true} ~cond := #in~cond; {5913#true} is VALID [2022-02-20 17:33:38,915 INFO L290 TraceCheckUtils]: 76: Hoare triple {5913#true} assume !(0 == ~cond); {5913#true} is VALID [2022-02-20 17:33:38,915 INFO L290 TraceCheckUtils]: 77: Hoare triple {5913#true} assume true; {5913#true} is VALID [2022-02-20 17:33:38,915 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {5913#true} {6123#(and (= 2 |ULTIMATE.start_main_~p~0#1|) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= |ULTIMATE.start_main_~B~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (div (* |ULTIMATE.start_main_~B~0#1| 4) 2)))} #80#return; {6123#(and (= 2 |ULTIMATE.start_main_~p~0#1|) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= |ULTIMATE.start_main_~B~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (div (* |ULTIMATE.start_main_~B~0#1| 4) 2)))} is VALID [2022-02-20 17:33:38,916 INFO L290 TraceCheckUtils]: 79: Hoare triple {6123#(and (= 2 |ULTIMATE.start_main_~p~0#1|) (<= (* 2 |ULTIMATE.start_main_~B~0#1|) (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= |ULTIMATE.start_main_~B~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (div (* |ULTIMATE.start_main_~B~0#1| 4) 2)))} assume !!(1 != main_~p~0#1);main_~d~0#1 := (if main_~d~0#1 < 0 && 0 != main_~d~0#1 % 2 then 1 + main_~d~0#1 / 2 else main_~d~0#1 / 2);main_~p~0#1 := (if main_~p~0#1 < 0 && 0 != main_~p~0#1 % 2 then 1 + main_~p~0#1 / 2 else main_~p~0#1 / 2); {6160#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~B~0#1|) (<= 0 |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:38,916 INFO L290 TraceCheckUtils]: 80: Hoare triple {6160#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~B~0#1|) (<= 0 |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !(main_~r~0#1 >= main_~d~0#1); {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:38,917 INFO L290 TraceCheckUtils]: 81: Hoare triple {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !false; {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:38,917 INFO L272 TraceCheckUtils]: 82: Hoare triple {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {5913#true} is VALID [2022-02-20 17:33:38,917 INFO L290 TraceCheckUtils]: 83: Hoare triple {5913#true} ~cond := #in~cond; {5913#true} is VALID [2022-02-20 17:33:38,917 INFO L290 TraceCheckUtils]: 84: Hoare triple {5913#true} assume !(0 == ~cond); {5913#true} is VALID [2022-02-20 17:33:38,917 INFO L290 TraceCheckUtils]: 85: Hoare triple {5913#true} assume true; {5913#true} is VALID [2022-02-20 17:33:38,917 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {5913#true} {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #78#return; {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:33:38,918 INFO L272 TraceCheckUtils]: 87: Hoare triple {5927#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {6185#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:33:38,922 INFO L290 TraceCheckUtils]: 88: Hoare triple {6185#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6189#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:33:38,922 INFO L290 TraceCheckUtils]: 89: Hoare triple {6189#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5914#false} is VALID [2022-02-20 17:33:38,922 INFO L290 TraceCheckUtils]: 90: Hoare triple {5914#false} assume !false; {5914#false} is VALID [2022-02-20 17:33:38,923 INFO L134 CoverageAnalysis]: Checked inductivity of 418 backedges. 28 proven. 26 refuted. 0 times theorem prover too weak. 364 trivial. 0 not checked. [2022-02-20 17:33:38,923 INFO L328 TraceCheckSpWp]: Computing backward predicates...