./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/nla-digbench-scaling/hard2_unwindbound100.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/nla-digbench-scaling/hard2_unwindbound100.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 83ea03e3a970ed9a04e84a7095cded72c8faa028a8061c6de69ab7c540d420f5 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:32:09,785 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:32:09,788 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:32:09,807 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:32:09,807 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:32:09,808 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:32:09,809 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:32:09,810 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:32:09,813 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:32:09,813 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:32:09,814 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:32:09,815 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:32:09,815 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:32:09,815 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:32:09,816 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:32:09,817 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:32:09,818 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:32:09,820 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:32:09,824 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:32:09,827 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:32:09,829 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:32:09,830 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:32:09,831 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:32:09,832 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:32:09,835 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:32:09,836 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:32:09,836 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:32:09,837 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:32:09,837 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:32:09,838 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:32:09,838 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:32:09,839 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:32:09,840 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:32:09,841 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:32:09,841 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:32:09,841 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:32:09,842 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:32:09,842 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:32:09,842 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:32:09,843 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:32:09,843 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:32:09,845 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:09,866 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:32:09,868 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:32:09,869 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:32:09,869 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:32:09,870 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:32:09,870 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:32:09,871 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:32:09,871 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:32:09,871 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:32:09,871 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:32:09,872 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:32:09,872 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 17:32:09,872 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:32:09,872 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:32:09,873 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:32:09,873 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:32:09,873 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:32:09,873 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:32:09,873 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:32:09,873 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:32:09,873 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:32:09,874 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:32:09,874 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:32:09,874 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:32:09,874 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:32:09,874 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:32:09,874 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:32:09,875 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:32:09,875 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 17:32:09,876 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 17:32:09,876 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:32:09,876 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:32:09,876 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:32:09,876 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 -> 83ea03e3a970ed9a04e84a7095cded72c8faa028a8061c6de69ab7c540d420f5 [2022-02-20 17:32:10,048 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:32:10,062 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:32:10,064 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:32:10,065 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:32:10,065 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:32:10,066 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/nla-digbench-scaling/hard2_unwindbound100.c [2022-02-20 17:32:10,122 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/14fdf88db/993be2063a8b4199b4ffddaf8b134fc3/FLAG2408d488c [2022-02-20 17:32:10,471 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:32:10,472 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/hard2_unwindbound100.c [2022-02-20 17:32:10,479 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/14fdf88db/993be2063a8b4199b4ffddaf8b134fc3/FLAG2408d488c [2022-02-20 17:32:10,905 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/14fdf88db/993be2063a8b4199b4ffddaf8b134fc3 [2022-02-20 17:32:10,907 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:32:10,908 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:32:10,911 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:32:10,911 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:32:10,913 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:32:10,915 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:32:10" (1/1) ... [2022-02-20 17:32:10,915 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@49f89607 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:32:10, skipping insertion in model container [2022-02-20 17:32:10,916 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:32:10" (1/1) ... [2022-02-20 17:32:10,923 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:32:10,934 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:32:11,068 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_unwindbound100.c[526,539] [2022-02-20 17:32:11,094 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:32:11,104 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:32:11,114 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_unwindbound100.c[526,539] [2022-02-20 17:32:11,129 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:32:11,141 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:32:11,142 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:32:11 WrapperNode [2022-02-20 17:32:11,142 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:32:11,143 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:32:11,143 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:32:11,143 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:32:11,149 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:11" (1/1) ... [2022-02-20 17:32:11,154 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:11" (1/1) ... [2022-02-20 17:32:11,175 INFO L137 Inliner]: procedures = 14, calls = 14, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 61 [2022-02-20 17:32:11,176 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:32:11,177 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:32:11,177 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:32:11,177 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:32:11,182 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:11" (1/1) ... [2022-02-20 17:32:11,182 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:11" (1/1) ... [2022-02-20 17:32:11,195 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:11" (1/1) ... [2022-02-20 17:32:11,196 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:11" (1/1) ... [2022-02-20 17:32:11,198 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:11" (1/1) ... [2022-02-20 17:32:11,205 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:11" (1/1) ... [2022-02-20 17:32:11,207 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:11" (1/1) ... [2022-02-20 17:32:11,208 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:32:11,209 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:32:11,209 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:32:11,209 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:32:11,210 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:32:11" (1/1) ... [2022-02-20 17:32:11,218 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:32:11,225 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:11,234 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:11,260 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:11,278 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:32:11,278 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 17:32:11,278 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:32:11,278 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:32:11,278 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:32:11,279 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:32:11,318 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:32:11,319 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:32:11,498 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:32:11,503 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:32:11,503 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 17:32:11,504 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:32:11 BoogieIcfgContainer [2022-02-20 17:32:11,523 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:32:11,524 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:32:11,524 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:32:11,527 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:32:11,527 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:32:10" (1/3) ... [2022-02-20 17:32:11,528 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2e333a22 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:32:11, skipping insertion in model container [2022-02-20 17:32:11,528 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:32:11" (2/3) ... [2022-02-20 17:32:11,528 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2e333a22 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:32:11, skipping insertion in model container [2022-02-20 17:32:11,528 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:32:11" (3/3) ... [2022-02-20 17:32:11,529 INFO L111 eAbstractionObserver]: Analyzing ICFG hard2_unwindbound100.c [2022-02-20 17:32:11,532 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:32:11,532 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:32:11,594 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:32:11,598 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:11,598 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:32:11,610 INFO L276 IsEmpty]: Start isEmpty. Operand has 26 states, 16 states have (on average 1.5625) internal successors, (25), 17 states have internal predecessors, (25), 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:11,613 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2022-02-20 17:32:11,613 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:11,614 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:11,615 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:11,621 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:11,621 INFO L85 PathProgramCache]: Analyzing trace with hash 643118537, now seen corresponding path program 1 times [2022-02-20 17:32:11,627 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:11,628 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2100851561] [2022-02-20 17:32:11,629 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:11,629 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:11,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:11,764 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);~counter~0 := 0; {29#true} is VALID [2022-02-20 17:32:11,765 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_#t~post5#1, main_#t~post6#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;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; {29#true} is VALID [2022-02-20 17:32:11,766 INFO L290 TraceCheckUtils]: 2: Hoare triple {29#true} assume !true; {30#false} is VALID [2022-02-20 17:32:11,766 INFO L290 TraceCheckUtils]: 3: Hoare triple {30#false} assume !true; {30#false} is VALID [2022-02-20 17:32:11,766 INFO L272 TraceCheckUtils]: 4: Hoare triple {30#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)); {30#false} is VALID [2022-02-20 17:32:11,767 INFO L290 TraceCheckUtils]: 5: Hoare triple {30#false} ~cond := #in~cond; {30#false} is VALID [2022-02-20 17:32:11,767 INFO L290 TraceCheckUtils]: 6: Hoare triple {30#false} assume 0 == ~cond; {30#false} is VALID [2022-02-20 17:32:11,767 INFO L290 TraceCheckUtils]: 7: Hoare triple {30#false} assume !false; {30#false} is VALID [2022-02-20 17:32:11,768 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:11,768 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:11,769 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2100851561] [2022-02-20 17:32:11,769 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2100851561] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:32:11,769 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:32:11,770 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 17:32:11,772 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [802831021] [2022-02-20 17:32:11,773 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:11,777 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 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 8 [2022-02-20 17:32:11,778 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:11,780 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 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:11,796 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:11,797 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 17:32:11,797 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:11,817 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 17:32:11,818 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:32:11,820 INFO L87 Difference]: Start difference. First operand has 26 states, 16 states have (on average 1.5625) internal successors, (25), 17 states have internal predecessors, (25), 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 3.5) internal successors, (7), 2 states have internal predecessors, (7), 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:11,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:11,887 INFO L93 Difference]: Finished difference Result 50 states and 83 transitions. [2022-02-20 17:32:11,887 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 17:32:11,887 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 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 8 [2022-02-20 17:32:11,887 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:11,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 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:11,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 83 transitions. [2022-02-20 17:32:11,894 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 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:11,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 83 transitions. [2022-02-20 17:32:11,898 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 83 transitions. [2022-02-20 17:32:11,992 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:11,998 INFO L225 Difference]: With dead ends: 50 [2022-02-20 17:32:11,998 INFO L226 Difference]: Without dead ends: 22 [2022-02-20 17:32:12,000 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:12,003 INFO L933 BasicCegarLoop]: 36 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, 36 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:12,004 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 36 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:12,013 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2022-02-20 17:32:12,021 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 22. [2022-02-20 17:32:12,021 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:12,022 INFO L82 GeneralOperation]: Start isEquivalent. First operand 22 states. Second operand has 22 states, 13 states have (on average 1.4615384615384615) internal successors, (19), 14 states have internal predecessors, (19), 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:12,023 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand has 22 states, 13 states have (on average 1.4615384615384615) internal successors, (19), 14 states have internal predecessors, (19), 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:12,023 INFO L87 Difference]: Start difference. First operand 22 states. Second operand has 22 states, 13 states have (on average 1.4615384615384615) internal successors, (19), 14 states have internal predecessors, (19), 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:12,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:12,026 INFO L93 Difference]: Finished difference Result 22 states and 32 transitions. [2022-02-20 17:32:12,026 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 32 transitions. [2022-02-20 17:32:12,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:12,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:12,027 INFO L74 IsIncluded]: Start isIncluded. First operand has 22 states, 13 states have (on average 1.4615384615384615) internal successors, (19), 14 states have internal predecessors, (19), 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:12,028 INFO L87 Difference]: Start difference. First operand has 22 states, 13 states have (on average 1.4615384615384615) internal successors, (19), 14 states have internal predecessors, (19), 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:12,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:12,030 INFO L93 Difference]: Finished difference Result 22 states and 32 transitions. [2022-02-20 17:32:12,030 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 32 transitions. [2022-02-20 17:32:12,031 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:12,031 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:12,031 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:12,031 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:12,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 13 states have (on average 1.4615384615384615) internal successors, (19), 14 states have internal predecessors, (19), 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:12,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 32 transitions. [2022-02-20 17:32:12,034 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 32 transitions. Word has length 8 [2022-02-20 17:32:12,034 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:12,034 INFO L470 AbstractCegarLoop]: Abstraction has 22 states and 32 transitions. [2022-02-20 17:32:12,035 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 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:12,035 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 32 transitions. [2022-02-20 17:32:12,035 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2022-02-20 17:32:12,035 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:12,035 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:12,036 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 17:32:12,036 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:12,036 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:12,037 INFO L85 PathProgramCache]: Analyzing trace with hash 181060127, now seen corresponding path program 1 times [2022-02-20 17:32:12,037 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:12,037 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [856598630] [2022-02-20 17:32:12,037 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:12,037 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:12,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:12,103 INFO L290 TraceCheckUtils]: 0: Hoare triple {178#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);~counter~0 := 0; {178#true} is VALID [2022-02-20 17:32:12,104 INFO L290 TraceCheckUtils]: 1: Hoare triple {178#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~post6#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;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; {180#(= |ULTIMATE.start_main_~q~0#1| 0)} is VALID [2022-02-20 17:32:12,133 INFO L290 TraceCheckUtils]: 2: Hoare triple {180#(= |ULTIMATE.start_main_~q~0#1| 0)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {180#(= |ULTIMATE.start_main_~q~0#1| 0)} is VALID [2022-02-20 17:32:12,133 INFO L290 TraceCheckUtils]: 3: Hoare triple {180#(= |ULTIMATE.start_main_~q~0#1| 0)} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {180#(= |ULTIMATE.start_main_~q~0#1| 0)} is VALID [2022-02-20 17:32:12,135 INFO L272 TraceCheckUtils]: 4: Hoare triple {180#(= |ULTIMATE.start_main_~q~0#1| 0)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {181#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:32:12,135 INFO L290 TraceCheckUtils]: 5: Hoare triple {181#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {182#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:32:12,136 INFO L290 TraceCheckUtils]: 6: Hoare triple {182#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {179#false} is VALID [2022-02-20 17:32:12,136 INFO L290 TraceCheckUtils]: 7: Hoare triple {179#false} assume !false; {179#false} is VALID [2022-02-20 17:32:12,136 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:12,136 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:12,137 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [856598630] [2022-02-20 17:32:12,137 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [856598630] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:32:12,137 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:32:12,137 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:32:12,137 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1955243303] [2022-02-20 17:32:12,137 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:12,138 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 1.4) internal successors, (7), 4 states have internal predecessors, (7), 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 8 [2022-02-20 17:32:12,138 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:12,138 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 1.4) internal successors, (7), 4 states have internal predecessors, (7), 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:12,148 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:12,148 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:32:12,149 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:12,150 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:32:12,151 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:32:12,151 INFO L87 Difference]: Start difference. First operand 22 states and 32 transitions. Second operand has 5 states, 5 states have (on average 1.4) internal successors, (7), 4 states have internal predecessors, (7), 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:12,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:12,284 INFO L93 Difference]: Finished difference Result 36 states and 51 transitions. [2022-02-20 17:32:12,284 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:32:12,284 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 1.4) internal successors, (7), 4 states have internal predecessors, (7), 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 8 [2022-02-20 17:32:12,285 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:12,285 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 1.4) internal successors, (7), 4 states have internal predecessors, (7), 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:12,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-02-20 17:32:12,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 1.4) internal successors, (7), 4 states have internal predecessors, (7), 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:12,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-02-20 17:32:12,288 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 51 transitions. [2022-02-20 17:32:12,327 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:12,329 INFO L225 Difference]: With dead ends: 36 [2022-02-20 17:32:12,329 INFO L226 Difference]: Without dead ends: 34 [2022-02-20 17:32:12,329 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:12,330 INFO L933 BasicCegarLoop]: 31 mSDtfsCounter, 15 mSDsluCounter, 74 mSDsCounter, 0 mSdLazyCounter, 20 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 105 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 20 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:32:12,331 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 105 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 20 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:32:12,331 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-02-20 17:32:12,334 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 26. [2022-02-20 17:32:12,334 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:12,334 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand has 26 states, 16 states have (on average 1.375) internal successors, (22), 17 states have internal predecessors, (22), 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:12,335 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand has 26 states, 16 states have (on average 1.375) internal successors, (22), 17 states have internal predecessors, (22), 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:12,335 INFO L87 Difference]: Start difference. First operand 34 states. Second operand has 26 states, 16 states have (on average 1.375) internal successors, (22), 17 states have internal predecessors, (22), 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:12,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:12,337 INFO L93 Difference]: Finished difference Result 34 states and 49 transitions. [2022-02-20 17:32:12,337 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 49 transitions. [2022-02-20 17:32:12,338 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:12,338 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:12,338 INFO L74 IsIncluded]: Start isIncluded. First operand has 26 states, 16 states have (on average 1.375) internal successors, (22), 17 states have internal predecessors, (22), 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 34 states. [2022-02-20 17:32:12,338 INFO L87 Difference]: Start difference. First operand has 26 states, 16 states have (on average 1.375) internal successors, (22), 17 states have internal predecessors, (22), 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 34 states. [2022-02-20 17:32:12,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:12,340 INFO L93 Difference]: Finished difference Result 34 states and 49 transitions. [2022-02-20 17:32:12,341 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 49 transitions. [2022-02-20 17:32:12,341 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:12,341 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:12,341 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:12,341 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:12,342 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 16 states have (on average 1.375) internal successors, (22), 17 states have internal predecessors, (22), 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:12,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 35 transitions. [2022-02-20 17:32:12,343 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 35 transitions. Word has length 8 [2022-02-20 17:32:12,343 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:12,343 INFO L470 AbstractCegarLoop]: Abstraction has 26 states and 35 transitions. [2022-02-20 17:32:12,344 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 1.4) internal successors, (7), 4 states have internal predecessors, (7), 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:12,344 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 35 transitions. [2022-02-20 17:32:12,344 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2022-02-20 17:32:12,344 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:12,344 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:12,344 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 17:32:12,345 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:12,345 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:12,345 INFO L85 PathProgramCache]: Analyzing trace with hash -712280900, now seen corresponding path program 1 times [2022-02-20 17:32:12,345 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:12,346 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [192041170] [2022-02-20 17:32:12,346 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:12,346 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:12,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:12,372 INFO L290 TraceCheckUtils]: 0: Hoare triple {341#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);~counter~0 := 0; {343#(= ~counter~0 0)} is VALID [2022-02-20 17:32:12,372 INFO L290 TraceCheckUtils]: 1: Hoare triple {343#(= ~counter~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~post6#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;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; {343#(= ~counter~0 0)} is VALID [2022-02-20 17:32:12,373 INFO L290 TraceCheckUtils]: 2: Hoare triple {343#(= ~counter~0 0)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {344#(= |ULTIMATE.start_main_#t~post5#1| 0)} is VALID [2022-02-20 17:32:12,373 INFO L290 TraceCheckUtils]: 3: Hoare triple {344#(= |ULTIMATE.start_main_#t~post5#1| 0)} assume !(main_#t~post5#1 < 100);havoc main_#t~post5#1; {342#false} is VALID [2022-02-20 17:32:12,374 INFO L290 TraceCheckUtils]: 4: Hoare triple {342#false} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {342#false} is VALID [2022-02-20 17:32:12,374 INFO L290 TraceCheckUtils]: 5: Hoare triple {342#false} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {342#false} is VALID [2022-02-20 17:32:12,374 INFO L272 TraceCheckUtils]: 6: Hoare triple {342#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)); {342#false} is VALID [2022-02-20 17:32:12,374 INFO L290 TraceCheckUtils]: 7: Hoare triple {342#false} ~cond := #in~cond; {342#false} is VALID [2022-02-20 17:32:12,374 INFO L290 TraceCheckUtils]: 8: Hoare triple {342#false} assume 0 == ~cond; {342#false} is VALID [2022-02-20 17:32:12,375 INFO L290 TraceCheckUtils]: 9: Hoare triple {342#false} assume !false; {342#false} is VALID [2022-02-20 17:32:12,375 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:12,375 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:12,375 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [192041170] [2022-02-20 17:32:12,375 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [192041170] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:32:12,375 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:32:12,376 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 17:32:12,376 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1039740005] [2022-02-20 17:32:12,376 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:12,376 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.25) internal successors, (9), 3 states have internal predecessors, (9), 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 10 [2022-02-20 17:32:12,377 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:12,377 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 2.25) internal successors, (9), 3 states have internal predecessors, (9), 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:12,384 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:12,384 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 17:32:12,384 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:12,384 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 17:32:12,385 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 17:32:12,385 INFO L87 Difference]: Start difference. First operand 26 states and 35 transitions. Second operand has 4 states, 4 states have (on average 2.25) internal successors, (9), 3 states have internal predecessors, (9), 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:12,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:12,441 INFO L93 Difference]: Finished difference Result 42 states and 57 transitions. [2022-02-20 17:32:12,441 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 17:32:12,441 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.25) internal successors, (9), 3 states have internal predecessors, (9), 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 10 [2022-02-20 17:32:12,441 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:12,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.25) internal successors, (9), 3 states have internal predecessors, (9), 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:12,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 54 transitions. [2022-02-20 17:32:12,443 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.25) internal successors, (9), 3 states have internal predecessors, (9), 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:12,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 54 transitions. [2022-02-20 17:32:12,444 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 54 transitions. [2022-02-20 17:32:12,477 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:12,477 INFO L225 Difference]: With dead ends: 42 [2022-02-20 17:32:12,477 INFO L226 Difference]: Without dead ends: 28 [2022-02-20 17:32:12,478 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 17:32:12,479 INFO L933 BasicCegarLoop]: 30 mSDtfsCounter, 0 mSDsluCounter, 55 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 85 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:32:12,479 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 85 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:32:12,479 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-02-20 17:32:12,482 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 28. [2022-02-20 17:32:12,482 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:12,482 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand has 28 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 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:12,482 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand has 28 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 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:12,482 INFO L87 Difference]: Start difference. First operand 28 states. Second operand has 28 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 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:12,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:12,490 INFO L93 Difference]: Finished difference Result 28 states and 37 transitions. [2022-02-20 17:32:12,490 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 37 transitions. [2022-02-20 17:32:12,494 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:12,494 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:12,495 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 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 28 states. [2022-02-20 17:32:12,498 INFO L87 Difference]: Start difference. First operand has 28 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 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 28 states. [2022-02-20 17:32:12,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:12,500 INFO L93 Difference]: Finished difference Result 28 states and 37 transitions. [2022-02-20 17:32:12,500 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 37 transitions. [2022-02-20 17:32:12,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:12,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:12,501 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:12,501 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:12,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 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:12,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 37 transitions. [2022-02-20 17:32:12,508 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 37 transitions. Word has length 10 [2022-02-20 17:32:12,508 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:12,508 INFO L470 AbstractCegarLoop]: Abstraction has 28 states and 37 transitions. [2022-02-20 17:32:12,508 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 2.25) internal successors, (9), 3 states have internal predecessors, (9), 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:12,508 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 37 transitions. [2022-02-20 17:32:12,509 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 17:32:12,509 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:12,509 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:12,509 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 17:32:12,510 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:12,511 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:12,511 INFO L85 PathProgramCache]: Analyzing trace with hash 2036073049, now seen corresponding path program 1 times [2022-02-20 17:32:12,511 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:12,511 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [622997531] [2022-02-20 17:32:12,512 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:12,512 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:12,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:12,585 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 4 [2022-02-20 17:32:12,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:12,604 INFO L290 TraceCheckUtils]: 0: Hoare triple {500#true} ~cond := #in~cond; {500#true} is VALID [2022-02-20 17:32:12,604 INFO L290 TraceCheckUtils]: 1: Hoare triple {500#true} assume !(0 == ~cond); {500#true} is VALID [2022-02-20 17:32:12,604 INFO L290 TraceCheckUtils]: 2: Hoare triple {500#true} assume true; {500#true} is VALID [2022-02-20 17:32:12,605 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {500#true} {502#(= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|)} #67#return; {502#(= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|)} is VALID [2022-02-20 17:32:12,605 INFO L290 TraceCheckUtils]: 0: Hoare triple {500#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);~counter~0 := 0; {500#true} is VALID [2022-02-20 17:32:12,606 INFO L290 TraceCheckUtils]: 1: Hoare triple {500#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~post6#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;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; {502#(= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|)} is VALID [2022-02-20 17:32:12,606 INFO L290 TraceCheckUtils]: 2: Hoare triple {502#(= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {502#(= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|)} is VALID [2022-02-20 17:32:12,606 INFO L290 TraceCheckUtils]: 3: Hoare triple {502#(= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|)} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {502#(= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|)} is VALID [2022-02-20 17:32:12,607 INFO L272 TraceCheckUtils]: 4: Hoare triple {502#(= |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)); {500#true} is VALID [2022-02-20 17:32:12,607 INFO L290 TraceCheckUtils]: 5: Hoare triple {500#true} ~cond := #in~cond; {500#true} is VALID [2022-02-20 17:32:12,607 INFO L290 TraceCheckUtils]: 6: Hoare triple {500#true} assume !(0 == ~cond); {500#true} is VALID [2022-02-20 17:32:12,607 INFO L290 TraceCheckUtils]: 7: Hoare triple {500#true} assume true; {500#true} is VALID [2022-02-20 17:32:12,607 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {500#true} {502#(= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|)} #67#return; {502#(= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|)} is VALID [2022-02-20 17:32:12,608 INFO L272 TraceCheckUtils]: 9: Hoare triple {502#(= |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)); {507#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:32:12,609 INFO L290 TraceCheckUtils]: 10: Hoare triple {507#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {508#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:32:12,609 INFO L290 TraceCheckUtils]: 11: Hoare triple {508#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {501#false} is VALID [2022-02-20 17:32:12,609 INFO L290 TraceCheckUtils]: 12: Hoare triple {501#false} assume !false; {501#false} is VALID [2022-02-20 17:32:12,610 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:12,610 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:12,610 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [622997531] [2022-02-20 17:32:12,610 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [622997531] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:32:12,610 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:32:12,610 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:32:12,610 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1490417180] [2022-02-20 17:32:12,610 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:12,611 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 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 13 [2022-02-20 17:32:12,611 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:12,611 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 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:12,623 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:12,623 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:32:12,623 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:12,624 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:32:12,624 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:32:12,624 INFO L87 Difference]: Start difference. First operand 28 states and 37 transitions. Second operand has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 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:12,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:12,738 INFO L93 Difference]: Finished difference Result 42 states and 56 transitions. [2022-02-20 17:32:12,738 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:32:12,738 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 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 13 [2022-02-20 17:32:12,738 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:12,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 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:12,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-02-20 17:32:12,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 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:12,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-02-20 17:32:12,747 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 51 transitions. [2022-02-20 17:32:12,790 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:12,791 INFO L225 Difference]: With dead ends: 42 [2022-02-20 17:32:12,791 INFO L226 Difference]: Without dead ends: 40 [2022-02-20 17:32:12,791 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:12,792 INFO L933 BasicCegarLoop]: 31 mSDtfsCounter, 13 mSDsluCounter, 70 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 31 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:32:12,792 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 101 Invalid, 31 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:32:12,793 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-02-20 17:32:12,795 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 32. [2022-02-20 17:32:12,795 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:12,796 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand has 32 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 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:12,796 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand has 32 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 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:12,796 INFO L87 Difference]: Start difference. First operand 40 states. Second operand has 32 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 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:12,798 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:12,798 INFO L93 Difference]: Finished difference Result 40 states and 54 transitions. [2022-02-20 17:32:12,798 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 54 transitions. [2022-02-20 17:32:12,798 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:12,798 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:12,798 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 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 40 states. [2022-02-20 17:32:12,798 INFO L87 Difference]: Start difference. First operand has 32 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 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 40 states. [2022-02-20 17:32:12,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:12,800 INFO L93 Difference]: Finished difference Result 40 states and 54 transitions. [2022-02-20 17:32:12,800 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 54 transitions. [2022-02-20 17:32:12,800 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:12,800 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:12,800 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:12,800 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:12,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 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:12,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 40 transitions. [2022-02-20 17:32:12,802 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 40 transitions. Word has length 13 [2022-02-20 17:32:12,802 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:12,802 INFO L470 AbstractCegarLoop]: Abstraction has 32 states and 40 transitions. [2022-02-20 17:32:12,802 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 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:12,802 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 40 transitions. [2022-02-20 17:32:12,802 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 17:32:12,803 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:12,803 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:12,803 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 17:32:12,803 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:12,803 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:12,803 INFO L85 PathProgramCache]: Analyzing trace with hash 380169759, now seen corresponding path program 1 times [2022-02-20 17:32:12,803 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:12,804 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [806425270] [2022-02-20 17:32:12,804 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:12,804 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:12,813 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:12,813 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2101099479] [2022-02-20 17:32:12,813 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:12,813 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:12,813 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:12,824 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:12,825 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:12,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:12,855 INFO L263 TraceCheckSpWp]: Trace formula consists of 71 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 17:32:12,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:12,882 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:13,018 INFO L290 TraceCheckUtils]: 0: Hoare triple {695#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);~counter~0 := 0; {695#true} is VALID [2022-02-20 17:32:13,019 INFO L290 TraceCheckUtils]: 1: Hoare triple {695#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~post6#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;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; {703#(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:13,020 INFO L290 TraceCheckUtils]: 2: Hoare triple {703#(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))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {703#(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:13,020 INFO L290 TraceCheckUtils]: 3: Hoare triple {703#(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_#t~post5#1 < 100);havoc main_#t~post5#1; {703#(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:13,020 INFO L272 TraceCheckUtils]: 4: Hoare triple {703#(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)); {695#true} is VALID [2022-02-20 17:32:13,021 INFO L290 TraceCheckUtils]: 5: Hoare triple {695#true} ~cond := #in~cond; {695#true} is VALID [2022-02-20 17:32:13,021 INFO L290 TraceCheckUtils]: 6: Hoare triple {695#true} assume !(0 == ~cond); {695#true} is VALID [2022-02-20 17:32:13,021 INFO L290 TraceCheckUtils]: 7: Hoare triple {695#true} assume true; {695#true} is VALID [2022-02-20 17:32:13,022 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {695#true} {703#(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))} #67#return; {703#(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:13,022 INFO L272 TraceCheckUtils]: 9: Hoare triple {703#(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)); {695#true} is VALID [2022-02-20 17:32:13,022 INFO L290 TraceCheckUtils]: 10: Hoare triple {695#true} ~cond := #in~cond; {695#true} is VALID [2022-02-20 17:32:13,022 INFO L290 TraceCheckUtils]: 11: Hoare triple {695#true} assume !(0 == ~cond); {695#true} is VALID [2022-02-20 17:32:13,022 INFO L290 TraceCheckUtils]: 12: Hoare triple {695#true} assume true; {695#true} is VALID [2022-02-20 17:32:13,023 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {695#true} {703#(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))} #69#return; {703#(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:13,024 INFO L272 TraceCheckUtils]: 14: Hoare triple {703#(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)); {743#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:32:13,024 INFO L290 TraceCheckUtils]: 15: Hoare triple {743#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {747#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:13,025 INFO L290 TraceCheckUtils]: 16: Hoare triple {747#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {696#false} is VALID [2022-02-20 17:32:13,025 INFO L290 TraceCheckUtils]: 17: Hoare triple {696#false} assume !false; {696#false} is VALID [2022-02-20 17:32:13,025 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:13,025 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:32:13,026 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:13,026 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [806425270] [2022-02-20 17:32:13,026 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:32:13,026 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2101099479] [2022-02-20 17:32:13,026 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2101099479] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:32:13,026 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:32:13,026 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:32:13,027 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [146463] [2022-02-20 17:32:13,027 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:13,027 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 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 18 [2022-02-20 17:32:13,028 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:13,028 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 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:13,040 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:13,040 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:32:13,040 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:13,041 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:32:13,041 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:32:13,041 INFO L87 Difference]: Start difference. First operand 32 states and 40 transitions. Second operand has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 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:13,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:13,174 INFO L93 Difference]: Finished difference Result 61 states and 83 transitions. [2022-02-20 17:32:13,174 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:32:13,174 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 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 18 [2022-02-20 17:32:13,174 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:13,174 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 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:13,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 77 transitions. [2022-02-20 17:32:13,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 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:13,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 77 transitions. [2022-02-20 17:32:13,177 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 77 transitions. [2022-02-20 17:32:13,241 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:13,242 INFO L225 Difference]: With dead ends: 61 [2022-02-20 17:32:13,243 INFO L226 Difference]: Without dead ends: 46 [2022-02-20 17:32:13,243 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 14 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:13,244 INFO L933 BasicCegarLoop]: 34 mSDtfsCounter, 10 mSDsluCounter, 81 mSDsCounter, 0 mSdLazyCounter, 36 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 115 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 36 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:32:13,244 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 115 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:32:13,245 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-02-20 17:32:13,249 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-02-20 17:32:13,249 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:13,249 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 46 states, 28 states have (on average 1.2857142857142858) internal successors, (36), 30 states have internal predecessors, (36), 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:13,250 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 46 states, 28 states have (on average 1.2857142857142858) internal successors, (36), 30 states have internal predecessors, (36), 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:13,250 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 46 states, 28 states have (on average 1.2857142857142858) internal successors, (36), 30 states have internal predecessors, (36), 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:13,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:13,252 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-02-20 17:32:13,252 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 60 transitions. [2022-02-20 17:32:13,252 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:13,252 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:13,252 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 28 states have (on average 1.2857142857142858) internal successors, (36), 30 states have internal predecessors, (36), 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 46 states. [2022-02-20 17:32:13,253 INFO L87 Difference]: Start difference. First operand has 46 states, 28 states have (on average 1.2857142857142858) internal successors, (36), 30 states have internal predecessors, (36), 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 46 states. [2022-02-20 17:32:13,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:13,254 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-02-20 17:32:13,254 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 60 transitions. [2022-02-20 17:32:13,255 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:13,255 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:13,255 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:13,255 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:13,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 28 states have (on average 1.2857142857142858) internal successors, (36), 30 states have internal predecessors, (36), 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:13,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 60 transitions. [2022-02-20 17:32:13,257 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 60 transitions. Word has length 18 [2022-02-20 17:32:13,257 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:13,257 INFO L470 AbstractCegarLoop]: Abstraction has 46 states and 60 transitions. [2022-02-20 17:32:13,257 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 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:13,258 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 60 transitions. [2022-02-20 17:32:13,258 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-02-20 17:32:13,258 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:13,258 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:13,295 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 17:32:13,465 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:13,465 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:13,466 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:13,466 INFO L85 PathProgramCache]: Analyzing trace with hash -461064832, now seen corresponding path program 1 times [2022-02-20 17:32:13,466 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:13,466 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1946463845] [2022-02-20 17:32:13,466 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:13,466 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:13,480 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:13,487 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1386019462] [2022-02-20 17:32:13,487 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:13,487 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:13,487 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:13,489 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:13,490 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:13,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:13,526 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 17:32:13,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:13,533 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:13,748 INFO L290 TraceCheckUtils]: 0: Hoare triple {998#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);~counter~0 := 0; {998#true} is VALID [2022-02-20 17:32:13,749 INFO L290 TraceCheckUtils]: 1: Hoare triple {998#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~post6#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;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; {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:32:13,750 INFO L290 TraceCheckUtils]: 2: Hoare triple {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:32:13,750 INFO L290 TraceCheckUtils]: 3: Hoare triple {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:32:13,750 INFO L272 TraceCheckUtils]: 4: Hoare triple {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |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)); {998#true} is VALID [2022-02-20 17:32:13,750 INFO L290 TraceCheckUtils]: 5: Hoare triple {998#true} ~cond := #in~cond; {998#true} is VALID [2022-02-20 17:32:13,750 INFO L290 TraceCheckUtils]: 6: Hoare triple {998#true} assume !(0 == ~cond); {998#true} is VALID [2022-02-20 17:32:13,751 INFO L290 TraceCheckUtils]: 7: Hoare triple {998#true} assume true; {998#true} is VALID [2022-02-20 17:32:13,752 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {998#true} {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} #67#return; {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:32:13,752 INFO L272 TraceCheckUtils]: 9: Hoare triple {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |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)); {998#true} is VALID [2022-02-20 17:32:13,752 INFO L290 TraceCheckUtils]: 10: Hoare triple {998#true} ~cond := #in~cond; {998#true} is VALID [2022-02-20 17:32:13,752 INFO L290 TraceCheckUtils]: 11: Hoare triple {998#true} assume !(0 == ~cond); {998#true} is VALID [2022-02-20 17:32:13,754 INFO L290 TraceCheckUtils]: 12: Hoare triple {998#true} assume true; {998#true} is VALID [2022-02-20 17:32:13,755 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {998#true} {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} #69#return; {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:32:13,755 INFO L272 TraceCheckUtils]: 14: Hoare triple {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~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)); {998#true} is VALID [2022-02-20 17:32:13,757 INFO L290 TraceCheckUtils]: 15: Hoare triple {998#true} ~cond := #in~cond; {998#true} is VALID [2022-02-20 17:32:13,757 INFO L290 TraceCheckUtils]: 16: Hoare triple {998#true} assume !(0 == ~cond); {998#true} is VALID [2022-02-20 17:32:13,757 INFO L290 TraceCheckUtils]: 17: Hoare triple {998#true} assume true; {998#true} is VALID [2022-02-20 17:32:13,758 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {998#true} {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} #71#return; {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:32:13,758 INFO L290 TraceCheckUtils]: 19: Hoare triple {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} assume !(main_~r~0#1 >= main_~d~0#1); {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:32:13,759 INFO L290 TraceCheckUtils]: 20: Hoare triple {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:32:13,760 INFO L290 TraceCheckUtils]: 21: Hoare triple {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:32:13,761 INFO L272 TraceCheckUtils]: 22: Hoare triple {1006#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~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)); {1070#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:32:13,761 INFO L290 TraceCheckUtils]: 23: Hoare triple {1070#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1074#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:13,762 INFO L290 TraceCheckUtils]: 24: Hoare triple {1074#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {999#false} is VALID [2022-02-20 17:32:13,763 INFO L290 TraceCheckUtils]: 25: Hoare triple {999#false} assume !false; {999#false} is VALID [2022-02-20 17:32:13,763 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:13,763 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:32:13,764 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:13,764 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1946463845] [2022-02-20 17:32:13,764 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:32:13,766 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1386019462] [2022-02-20 17:32:13,766 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1386019462] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:32:13,766 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:32:13,766 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:32:13,767 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1365266272] [2022-02-20 17:32:13,767 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:13,767 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:13,767 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:13,768 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:13,780 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:13,780 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:32:13,780 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:13,781 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:32:13,781 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:32:13,781 INFO L87 Difference]: Start difference. First operand 46 states and 60 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:13,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:13,888 INFO L93 Difference]: Finished difference Result 60 states and 79 transitions. [2022-02-20 17:32:13,889 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:32:13,889 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:13,889 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:13,889 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:13,890 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-02-20 17:32:13,890 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:13,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-02-20 17:32:13,891 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-02-20 17:32:13,924 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:13,926 INFO L225 Difference]: With dead ends: 60 [2022-02-20 17:32:13,926 INFO L226 Difference]: Without dead ends: 52 [2022-02-20 17:32:13,926 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:13,931 INFO L933 BasicCegarLoop]: 25 mSDtfsCounter, 11 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 42 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:32:13,931 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 87 Invalid, 42 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:32:13,932 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-02-20 17:32:13,941 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 51. [2022-02-20 17:32:13,941 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:13,942 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 51 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 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:13,942 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 51 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 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:13,943 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 51 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 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:13,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:13,945 INFO L93 Difference]: Finished difference Result 52 states and 67 transitions. [2022-02-20 17:32:13,945 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 67 transitions. [2022-02-20 17:32:13,945 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:13,946 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:13,946 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 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 52 states. [2022-02-20 17:32:13,946 INFO L87 Difference]: Start difference. First operand has 51 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 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 52 states. [2022-02-20 17:32:13,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:13,949 INFO L93 Difference]: Finished difference Result 52 states and 67 transitions. [2022-02-20 17:32:13,949 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 67 transitions. [2022-02-20 17:32:13,949 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:13,949 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:13,949 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:13,949 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:13,950 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 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:13,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 66 transitions. [2022-02-20 17:32:13,952 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 66 transitions. Word has length 26 [2022-02-20 17:32:13,952 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:13,952 INFO L470 AbstractCegarLoop]: Abstraction has 51 states and 66 transitions. [2022-02-20 17:32:13,952 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:13,952 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 66 transitions. [2022-02-20 17:32:13,952 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-02-20 17:32:13,953 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:13,953 INFO L514 BasicCegarLoop]: trace histogram [5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:13,969 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 17:32:14,167 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable5 [2022-02-20 17:32:14,167 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:14,168 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:14,168 INFO L85 PathProgramCache]: Analyzing trace with hash -909290541, now seen corresponding path program 1 times [2022-02-20 17:32:14,168 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:14,168 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1434525186] [2022-02-20 17:32:14,168 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:14,168 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:14,179 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:14,179 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1774304207] [2022-02-20 17:32:14,179 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:14,179 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:14,179 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:14,180 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:14,181 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:14,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:14,210 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 17:32:14,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:14,219 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:14,326 INFO L290 TraceCheckUtils]: 0: Hoare triple {1341#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);~counter~0 := 0; {1346#(<= ~counter~0 0)} is VALID [2022-02-20 17:32:14,327 INFO L290 TraceCheckUtils]: 1: Hoare triple {1346#(<= ~counter~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~post6#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;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; {1346#(<= ~counter~0 0)} is VALID [2022-02-20 17:32:14,327 INFO L290 TraceCheckUtils]: 2: Hoare triple {1346#(<= ~counter~0 0)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:14,328 INFO L290 TraceCheckUtils]: 3: Hoare triple {1353#(<= ~counter~0 1)} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:14,328 INFO L272 TraceCheckUtils]: 4: Hoare triple {1353#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:14,328 INFO L290 TraceCheckUtils]: 5: Hoare triple {1353#(<= ~counter~0 1)} ~cond := #in~cond; {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:14,329 INFO L290 TraceCheckUtils]: 6: Hoare triple {1353#(<= ~counter~0 1)} assume !(0 == ~cond); {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:14,329 INFO L290 TraceCheckUtils]: 7: Hoare triple {1353#(<= ~counter~0 1)} assume true; {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:14,329 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1353#(<= ~counter~0 1)} {1353#(<= ~counter~0 1)} #67#return; {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:14,330 INFO L272 TraceCheckUtils]: 9: Hoare triple {1353#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:14,330 INFO L290 TraceCheckUtils]: 10: Hoare triple {1353#(<= ~counter~0 1)} ~cond := #in~cond; {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:14,330 INFO L290 TraceCheckUtils]: 11: Hoare triple {1353#(<= ~counter~0 1)} assume !(0 == ~cond); {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:14,331 INFO L290 TraceCheckUtils]: 12: Hoare triple {1353#(<= ~counter~0 1)} assume true; {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:14,331 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {1353#(<= ~counter~0 1)} {1353#(<= ~counter~0 1)} #69#return; {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:14,332 INFO L272 TraceCheckUtils]: 14: Hoare triple {1353#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:14,334 INFO L290 TraceCheckUtils]: 15: Hoare triple {1353#(<= ~counter~0 1)} ~cond := #in~cond; {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:14,334 INFO L290 TraceCheckUtils]: 16: Hoare triple {1353#(<= ~counter~0 1)} assume !(0 == ~cond); {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:14,334 INFO L290 TraceCheckUtils]: 17: Hoare triple {1353#(<= ~counter~0 1)} assume true; {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:14,335 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1353#(<= ~counter~0 1)} {1353#(<= ~counter~0 1)} #71#return; {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:14,335 INFO L290 TraceCheckUtils]: 19: Hoare triple {1353#(<= ~counter~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; {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:14,336 INFO L290 TraceCheckUtils]: 20: Hoare triple {1353#(<= ~counter~0 1)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {1408#(<= |ULTIMATE.start_main_#t~post5#1| 1)} is VALID [2022-02-20 17:32:14,337 INFO L290 TraceCheckUtils]: 21: Hoare triple {1408#(<= |ULTIMATE.start_main_#t~post5#1| 1)} assume !(main_#t~post5#1 < 100);havoc main_#t~post5#1; {1342#false} is VALID [2022-02-20 17:32:14,337 INFO L290 TraceCheckUtils]: 22: Hoare triple {1342#false} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {1342#false} is VALID [2022-02-20 17:32:14,338 INFO L290 TraceCheckUtils]: 23: Hoare triple {1342#false} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {1342#false} is VALID [2022-02-20 17:32:14,339 INFO L272 TraceCheckUtils]: 24: Hoare triple {1342#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)); {1342#false} is VALID [2022-02-20 17:32:14,339 INFO L290 TraceCheckUtils]: 25: Hoare triple {1342#false} ~cond := #in~cond; {1342#false} is VALID [2022-02-20 17:32:14,345 INFO L290 TraceCheckUtils]: 26: Hoare triple {1342#false} assume !(0 == ~cond); {1342#false} is VALID [2022-02-20 17:32:14,347 INFO L290 TraceCheckUtils]: 27: Hoare triple {1342#false} assume true; {1342#false} is VALID [2022-02-20 17:32:14,347 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1342#false} {1342#false} #73#return; {1342#false} is VALID [2022-02-20 17:32:14,348 INFO L272 TraceCheckUtils]: 29: Hoare triple {1342#false} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {1342#false} is VALID [2022-02-20 17:32:14,350 INFO L290 TraceCheckUtils]: 30: Hoare triple {1342#false} ~cond := #in~cond; {1342#false} is VALID [2022-02-20 17:32:14,350 INFO L290 TraceCheckUtils]: 31: Hoare triple {1342#false} assume 0 == ~cond; {1342#false} is VALID [2022-02-20 17:32:14,350 INFO L290 TraceCheckUtils]: 32: Hoare triple {1342#false} assume !false; {1342#false} is VALID [2022-02-20 17:32:14,350 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 18 proven. 2 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-02-20 17:32:14,350 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:32:14,456 INFO L290 TraceCheckUtils]: 32: Hoare triple {1342#false} assume !false; {1342#false} is VALID [2022-02-20 17:32:14,456 INFO L290 TraceCheckUtils]: 31: Hoare triple {1342#false} assume 0 == ~cond; {1342#false} is VALID [2022-02-20 17:32:14,456 INFO L290 TraceCheckUtils]: 30: Hoare triple {1342#false} ~cond := #in~cond; {1342#false} is VALID [2022-02-20 17:32:14,456 INFO L272 TraceCheckUtils]: 29: Hoare triple {1342#false} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {1342#false} is VALID [2022-02-20 17:32:14,456 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1341#true} {1342#false} #73#return; {1342#false} is VALID [2022-02-20 17:32:14,456 INFO L290 TraceCheckUtils]: 27: Hoare triple {1341#true} assume true; {1341#true} is VALID [2022-02-20 17:32:14,456 INFO L290 TraceCheckUtils]: 26: Hoare triple {1341#true} assume !(0 == ~cond); {1341#true} is VALID [2022-02-20 17:32:14,456 INFO L290 TraceCheckUtils]: 25: Hoare triple {1341#true} ~cond := #in~cond; {1341#true} is VALID [2022-02-20 17:32:14,456 INFO L272 TraceCheckUtils]: 24: Hoare triple {1342#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)); {1341#true} is VALID [2022-02-20 17:32:14,457 INFO L290 TraceCheckUtils]: 23: Hoare triple {1342#false} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {1342#false} is VALID [2022-02-20 17:32:14,457 INFO L290 TraceCheckUtils]: 22: Hoare triple {1342#false} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {1342#false} is VALID [2022-02-20 17:32:14,457 INFO L290 TraceCheckUtils]: 21: Hoare triple {1478#(< |ULTIMATE.start_main_#t~post5#1| 100)} assume !(main_#t~post5#1 < 100);havoc main_#t~post5#1; {1342#false} is VALID [2022-02-20 17:32:14,457 INFO L290 TraceCheckUtils]: 20: Hoare triple {1482#(< ~counter~0 100)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {1478#(< |ULTIMATE.start_main_#t~post5#1| 100)} is VALID [2022-02-20 17:32:14,458 INFO L290 TraceCheckUtils]: 19: Hoare triple {1482#(< ~counter~0 100)} 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; {1482#(< ~counter~0 100)} is VALID [2022-02-20 17:32:14,458 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1341#true} {1482#(< ~counter~0 100)} #71#return; {1482#(< ~counter~0 100)} is VALID [2022-02-20 17:32:14,458 INFO L290 TraceCheckUtils]: 17: Hoare triple {1341#true} assume true; {1341#true} is VALID [2022-02-20 17:32:14,458 INFO L290 TraceCheckUtils]: 16: Hoare triple {1341#true} assume !(0 == ~cond); {1341#true} is VALID [2022-02-20 17:32:14,458 INFO L290 TraceCheckUtils]: 15: Hoare triple {1341#true} ~cond := #in~cond; {1341#true} is VALID [2022-02-20 17:32:14,458 INFO L272 TraceCheckUtils]: 14: Hoare triple {1482#(< ~counter~0 100)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {1341#true} is VALID [2022-02-20 17:32:14,459 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {1341#true} {1482#(< ~counter~0 100)} #69#return; {1482#(< ~counter~0 100)} is VALID [2022-02-20 17:32:14,459 INFO L290 TraceCheckUtils]: 12: Hoare triple {1341#true} assume true; {1341#true} is VALID [2022-02-20 17:32:14,459 INFO L290 TraceCheckUtils]: 11: Hoare triple {1341#true} assume !(0 == ~cond); {1341#true} is VALID [2022-02-20 17:32:14,459 INFO L290 TraceCheckUtils]: 10: Hoare triple {1341#true} ~cond := #in~cond; {1341#true} is VALID [2022-02-20 17:32:14,459 INFO L272 TraceCheckUtils]: 9: Hoare triple {1482#(< ~counter~0 100)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {1341#true} is VALID [2022-02-20 17:32:14,460 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1341#true} {1482#(< ~counter~0 100)} #67#return; {1482#(< ~counter~0 100)} is VALID [2022-02-20 17:32:14,460 INFO L290 TraceCheckUtils]: 7: Hoare triple {1341#true} assume true; {1341#true} is VALID [2022-02-20 17:32:14,460 INFO L290 TraceCheckUtils]: 6: Hoare triple {1341#true} assume !(0 == ~cond); {1341#true} is VALID [2022-02-20 17:32:14,460 INFO L290 TraceCheckUtils]: 5: Hoare triple {1341#true} ~cond := #in~cond; {1341#true} is VALID [2022-02-20 17:32:14,460 INFO L272 TraceCheckUtils]: 4: Hoare triple {1482#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1341#true} is VALID [2022-02-20 17:32:14,460 INFO L290 TraceCheckUtils]: 3: Hoare triple {1482#(< ~counter~0 100)} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {1482#(< ~counter~0 100)} is VALID [2022-02-20 17:32:14,461 INFO L290 TraceCheckUtils]: 2: Hoare triple {1537#(< ~counter~0 99)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {1482#(< ~counter~0 100)} is VALID [2022-02-20 17:32:14,461 INFO L290 TraceCheckUtils]: 1: Hoare triple {1537#(< ~counter~0 99)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~post6#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;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; {1537#(< ~counter~0 99)} is VALID [2022-02-20 17:32:14,461 INFO L290 TraceCheckUtils]: 0: Hoare triple {1341#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);~counter~0 := 0; {1537#(< ~counter~0 99)} is VALID [2022-02-20 17:32:14,462 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 17:32:14,462 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:14,462 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1434525186] [2022-02-20 17:32:14,462 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:32:14,462 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1774304207] [2022-02-20 17:32:14,462 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1774304207] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:32:14,462 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:32:14,462 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5] total 8 [2022-02-20 17:32:14,462 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2056358274] [2022-02-20 17:32:14,462 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:32:14,463 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 33 [2022-02-20 17:32:14,463 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:14,463 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.375) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:32:14,490 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:14,491 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 17:32:14,491 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:14,491 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 17:32:14,491 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-02-20 17:32:14,491 INFO L87 Difference]: Start difference. First operand 51 states and 66 transitions. Second operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:32:14,772 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:14,772 INFO L93 Difference]: Finished difference Result 140 states and 173 transitions. [2022-02-20 17:32:14,772 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 17:32:14,772 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 33 [2022-02-20 17:32:14,772 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:14,772 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:32:14,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 113 transitions. [2022-02-20 17:32:14,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:32:14,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 113 transitions. [2022-02-20 17:32:14,777 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 113 transitions. [2022-02-20 17:32:14,858 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:14,861 INFO L225 Difference]: With dead ends: 140 [2022-02-20 17:32:14,861 INFO L226 Difference]: Without dead ends: 115 [2022-02-20 17:32:14,864 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 58 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:32:14,865 INFO L933 BasicCegarLoop]: 41 mSDtfsCounter, 50 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 153 SdHoareTripleChecker+Invalid, 88 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:32:14,865 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 153 Invalid, 88 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:32:14,865 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-02-20 17:32:14,902 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 108. [2022-02-20 17:32:14,902 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:14,904 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand has 108 states, 70 states have (on average 1.2142857142857142) internal successors, (85), 73 states have internal predecessors, (85), 23 states have call successors, (23), 14 states have call predecessors, (23), 14 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-02-20 17:32:14,904 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand has 108 states, 70 states have (on average 1.2142857142857142) internal successors, (85), 73 states have internal predecessors, (85), 23 states have call successors, (23), 14 states have call predecessors, (23), 14 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-02-20 17:32:14,905 INFO L87 Difference]: Start difference. First operand 115 states. Second operand has 108 states, 70 states have (on average 1.2142857142857142) internal successors, (85), 73 states have internal predecessors, (85), 23 states have call successors, (23), 14 states have call predecessors, (23), 14 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-02-20 17:32:14,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:14,908 INFO L93 Difference]: Finished difference Result 115 states and 135 transitions. [2022-02-20 17:32:14,908 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 135 transitions. [2022-02-20 17:32:14,909 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:14,909 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:14,909 INFO L74 IsIncluded]: Start isIncluded. First operand has 108 states, 70 states have (on average 1.2142857142857142) internal successors, (85), 73 states have internal predecessors, (85), 23 states have call successors, (23), 14 states have call predecessors, (23), 14 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Second operand 115 states. [2022-02-20 17:32:14,909 INFO L87 Difference]: Start difference. First operand has 108 states, 70 states have (on average 1.2142857142857142) internal successors, (85), 73 states have internal predecessors, (85), 23 states have call successors, (23), 14 states have call predecessors, (23), 14 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Second operand 115 states. [2022-02-20 17:32:14,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:14,913 INFO L93 Difference]: Finished difference Result 115 states and 135 transitions. [2022-02-20 17:32:14,913 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 135 transitions. [2022-02-20 17:32:14,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:14,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:14,913 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:14,913 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:14,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 108 states, 70 states have (on average 1.2142857142857142) internal successors, (85), 73 states have internal predecessors, (85), 23 states have call successors, (23), 14 states have call predecessors, (23), 14 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-02-20 17:32:14,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 108 states to 108 states and 129 transitions. [2022-02-20 17:32:14,917 INFO L78 Accepts]: Start accepts. Automaton has 108 states and 129 transitions. Word has length 33 [2022-02-20 17:32:14,917 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:14,917 INFO L470 AbstractCegarLoop]: Abstraction has 108 states and 129 transitions. [2022-02-20 17:32:14,918 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:32:14,918 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 129 transitions. [2022-02-20 17:32:14,918 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 17:32:14,918 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:14,918 INFO L514 BasicCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:14,936 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:15,131 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:15,132 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:15,132 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:15,132 INFO L85 PathProgramCache]: Analyzing trace with hash 252591112, now seen corresponding path program 1 times [2022-02-20 17:32:15,132 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:15,132 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2126561040] [2022-02-20 17:32:15,132 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:15,132 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:15,141 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:15,141 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1970323666] [2022-02-20 17:32:15,141 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:15,141 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:15,141 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:15,145 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:15,146 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:15,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:15,175 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 17:32:15,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:15,183 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:15,328 INFO L290 TraceCheckUtils]: 0: Hoare triple {2120#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);~counter~0 := 0; {2120#true} is VALID [2022-02-20 17:32:15,329 INFO L290 TraceCheckUtils]: 1: Hoare triple {2120#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~post6#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;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; {2128#(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:15,329 INFO L290 TraceCheckUtils]: 2: Hoare triple {2128#(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))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {2128#(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:15,330 INFO L290 TraceCheckUtils]: 3: Hoare triple {2128#(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_#t~post5#1 < 100);havoc main_#t~post5#1; {2128#(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:15,330 INFO L272 TraceCheckUtils]: 4: Hoare triple {2128#(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)); {2120#true} is VALID [2022-02-20 17:32:15,330 INFO L290 TraceCheckUtils]: 5: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:15,330 INFO L290 TraceCheckUtils]: 6: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:15,330 INFO L290 TraceCheckUtils]: 7: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:15,331 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {2120#true} {2128#(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))} #67#return; {2128#(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:15,331 INFO L272 TraceCheckUtils]: 9: Hoare triple {2128#(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)); {2120#true} is VALID [2022-02-20 17:32:15,331 INFO L290 TraceCheckUtils]: 10: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:15,331 INFO L290 TraceCheckUtils]: 11: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:15,331 INFO L290 TraceCheckUtils]: 12: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:15,333 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {2120#true} {2128#(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))} #69#return; {2128#(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:15,333 INFO L272 TraceCheckUtils]: 14: Hoare triple {2128#(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)); {2120#true} is VALID [2022-02-20 17:32:15,333 INFO L290 TraceCheckUtils]: 15: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:15,333 INFO L290 TraceCheckUtils]: 16: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:15,333 INFO L290 TraceCheckUtils]: 17: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:15,334 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2120#true} {2128#(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))} #71#return; {2128#(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:15,334 INFO L290 TraceCheckUtils]: 19: Hoare triple {2128#(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; {2183#(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:15,335 INFO L290 TraceCheckUtils]: 20: Hoare triple {2183#(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))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {2183#(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:15,335 INFO L290 TraceCheckUtils]: 21: Hoare triple {2183#(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_#t~post5#1 < 100);havoc main_#t~post5#1; {2183#(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:15,335 INFO L272 TraceCheckUtils]: 22: Hoare triple {2183#(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)); {2120#true} is VALID [2022-02-20 17:32:15,335 INFO L290 TraceCheckUtils]: 23: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:15,336 INFO L290 TraceCheckUtils]: 24: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:15,336 INFO L290 TraceCheckUtils]: 25: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:15,336 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2120#true} {2183#(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))} #67#return; {2183#(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:15,336 INFO L272 TraceCheckUtils]: 27: Hoare triple {2183#(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)); {2120#true} is VALID [2022-02-20 17:32:15,336 INFO L290 TraceCheckUtils]: 28: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:15,337 INFO L290 TraceCheckUtils]: 29: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:15,337 INFO L290 TraceCheckUtils]: 30: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:15,337 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2120#true} {2183#(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))} #69#return; {2183#(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:15,338 INFO L272 TraceCheckUtils]: 32: Hoare triple {2183#(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)); {2223#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:32:15,338 INFO L290 TraceCheckUtils]: 33: Hoare triple {2223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:15,338 INFO L290 TraceCheckUtils]: 34: Hoare triple {2227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2121#false} is VALID [2022-02-20 17:32:15,339 INFO L290 TraceCheckUtils]: 35: Hoare triple {2121#false} assume !false; {2121#false} is VALID [2022-02-20 17:32:15,339 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 5 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-02-20 17:32:15,339 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:32:15,477 INFO L290 TraceCheckUtils]: 35: Hoare triple {2121#false} assume !false; {2121#false} is VALID [2022-02-20 17:32:15,478 INFO L290 TraceCheckUtils]: 34: Hoare triple {2227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2121#false} is VALID [2022-02-20 17:32:15,478 INFO L290 TraceCheckUtils]: 33: Hoare triple {2223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:15,479 INFO L272 TraceCheckUtils]: 32: Hoare triple {2243#(= (* |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)); {2223#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:32:15,479 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2120#true} {2243#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} #69#return; {2243#(= (* |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:15,479 INFO L290 TraceCheckUtils]: 30: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:15,479 INFO L290 TraceCheckUtils]: 29: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:15,479 INFO L290 TraceCheckUtils]: 28: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:15,479 INFO L272 TraceCheckUtils]: 27: Hoare triple {2243#(= (* |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)); {2120#true} is VALID [2022-02-20 17:32:15,482 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2120#true} {2243#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} #67#return; {2243#(= (* |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:15,482 INFO L290 TraceCheckUtils]: 25: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:15,483 INFO L290 TraceCheckUtils]: 24: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:15,483 INFO L290 TraceCheckUtils]: 23: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:15,483 INFO L272 TraceCheckUtils]: 22: Hoare triple {2243#(= (* |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)); {2120#true} is VALID [2022-02-20 17:32:15,484 INFO L290 TraceCheckUtils]: 21: Hoare triple {2243#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {2243#(= (* |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:15,484 INFO L290 TraceCheckUtils]: 20: Hoare triple {2243#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {2243#(= (* |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:15,485 INFO L290 TraceCheckUtils]: 19: Hoare triple {2243#(= (* |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; {2243#(= (* |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:15,486 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2120#true} {2243#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} #71#return; {2243#(= (* |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:15,486 INFO L290 TraceCheckUtils]: 17: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:15,486 INFO L290 TraceCheckUtils]: 16: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:15,486 INFO L290 TraceCheckUtils]: 15: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:15,486 INFO L272 TraceCheckUtils]: 14: Hoare triple {2243#(= (* |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)); {2120#true} is VALID [2022-02-20 17:32:15,486 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {2120#true} {2243#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} #69#return; {2243#(= (* |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:15,486 INFO L290 TraceCheckUtils]: 12: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:15,486 INFO L290 TraceCheckUtils]: 11: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:15,487 INFO L290 TraceCheckUtils]: 10: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:15,487 INFO L272 TraceCheckUtils]: 9: Hoare triple {2243#(= (* |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)); {2120#true} is VALID [2022-02-20 17:32:15,487 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {2120#true} {2243#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} #67#return; {2243#(= (* |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:15,487 INFO L290 TraceCheckUtils]: 7: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:15,487 INFO L290 TraceCheckUtils]: 6: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:15,487 INFO L290 TraceCheckUtils]: 5: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:15,487 INFO L272 TraceCheckUtils]: 4: Hoare triple {2243#(= (* |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)); {2120#true} is VALID [2022-02-20 17:32:15,488 INFO L290 TraceCheckUtils]: 3: Hoare triple {2243#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {2243#(= (* |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:15,488 INFO L290 TraceCheckUtils]: 2: Hoare triple {2243#(= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {2243#(= (* |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:15,488 INFO L290 TraceCheckUtils]: 1: Hoare triple {2120#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~post6#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;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; {2243#(= (* |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:15,488 INFO L290 TraceCheckUtils]: 0: Hoare triple {2120#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);~counter~0 := 0; {2120#true} is VALID [2022-02-20 17:32:15,489 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-02-20 17:32:15,489 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:15,489 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2126561040] [2022-02-20 17:32:15,489 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:32:15,490 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1970323666] [2022-02-20 17:32:15,490 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1970323666] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:32:15,490 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:32:15,490 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-02-20 17:32:15,490 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1473846329] [2022-02-20 17:32:15,490 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:15,490 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, (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:15,491 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:15,491 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, (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:15,503 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:15,503 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:32:15,503 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:15,504 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:32:15,504 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-02-20 17:32:15,504 INFO L87 Difference]: Start difference. First operand 108 states and 129 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, (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:17,796 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:21,258 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.46s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-02-20 17:32:21,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:21,282 INFO L93 Difference]: Finished difference Result 125 states and 150 transitions. [2022-02-20 17:32:21,282 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:32:21,282 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, (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:21,282 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:21,282 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, (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:21,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2022-02-20 17:32:21,283 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, (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:21,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2022-02-20 17:32:21,284 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 49 transitions. [2022-02-20 17:32:21,329 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:21,331 INFO L225 Difference]: With dead ends: 125 [2022-02-20 17:32:21,332 INFO L226 Difference]: Without dead ends: 121 [2022-02-20 17:32:21,332 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:21,332 INFO L933 BasicCegarLoop]: 30 mSDtfsCounter, 11 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 98 SdHoareTripleChecker+Invalid, 37 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 35 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.6s IncrementalHoareTripleChecker+Time [2022-02-20 17:32:21,332 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 98 Invalid, 37 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 35 Invalid, 1 Unknown, 0 Unchecked, 3.6s Time] [2022-02-20 17:32:21,333 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-02-20 17:32:21,365 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 118. [2022-02-20 17:32:21,366 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:21,366 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 118 states, 77 states have (on average 1.1818181818181819) internal successors, (91), 80 states have internal predecessors, (91), 25 states have call successors, (25), 16 states have call predecessors, (25), 15 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:32:21,366 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 118 states, 77 states have (on average 1.1818181818181819) internal successors, (91), 80 states have internal predecessors, (91), 25 states have call successors, (25), 16 states have call predecessors, (25), 15 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:32:21,367 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 118 states, 77 states have (on average 1.1818181818181819) internal successors, (91), 80 states have internal predecessors, (91), 25 states have call successors, (25), 16 states have call predecessors, (25), 15 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:32:21,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:21,370 INFO L93 Difference]: Finished difference Result 121 states and 144 transitions. [2022-02-20 17:32:21,370 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 144 transitions. [2022-02-20 17:32:21,370 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:21,370 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:21,370 INFO L74 IsIncluded]: Start isIncluded. First operand has 118 states, 77 states have (on average 1.1818181818181819) internal successors, (91), 80 states have internal predecessors, (91), 25 states have call successors, (25), 16 states have call predecessors, (25), 15 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 121 states. [2022-02-20 17:32:21,371 INFO L87 Difference]: Start difference. First operand has 118 states, 77 states have (on average 1.1818181818181819) internal successors, (91), 80 states have internal predecessors, (91), 25 states have call successors, (25), 16 states have call predecessors, (25), 15 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 121 states. [2022-02-20 17:32:21,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:21,378 INFO L93 Difference]: Finished difference Result 121 states and 144 transitions. [2022-02-20 17:32:21,378 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 144 transitions. [2022-02-20 17:32:21,378 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:21,378 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:21,378 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:21,378 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:21,380 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 118 states, 77 states have (on average 1.1818181818181819) internal successors, (91), 80 states have internal predecessors, (91), 25 states have call successors, (25), 16 states have call predecessors, (25), 15 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:32:21,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 118 states to 118 states and 139 transitions. [2022-02-20 17:32:21,383 INFO L78 Accepts]: Start accepts. Automaton has 118 states and 139 transitions. Word has length 36 [2022-02-20 17:32:21,383 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:21,383 INFO L470 AbstractCegarLoop]: Abstraction has 118 states and 139 transitions. [2022-02-20 17:32:21,383 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, (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:21,384 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 139 transitions. [2022-02-20 17:32:21,385 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-02-20 17:32:21,385 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:21,386 INFO L514 BasicCegarLoop]: trace histogram [8, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:21,409 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:32:21,599 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:21,599 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:21,600 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:21,600 INFO L85 PathProgramCache]: Analyzing trace with hash 1605675221, now seen corresponding path program 1 times [2022-02-20 17:32:21,600 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:21,600 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [52901575] [2022-02-20 17:32:21,600 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:21,600 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:21,616 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:21,616 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1110364965] [2022-02-20 17:32:21,617 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:21,617 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:21,617 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:21,618 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:32:21,619 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:32:21,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:21,651 INFO L263 TraceCheckSpWp]: Trace formula consists of 132 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 17:32:21,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:21,660 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:21,850 INFO L290 TraceCheckUtils]: 0: Hoare triple {2920#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);~counter~0 := 0; {2925#(<= ~counter~0 0)} is VALID [2022-02-20 17:32:21,851 INFO L290 TraceCheckUtils]: 1: Hoare triple {2925#(<= ~counter~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~post6#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;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; {2925#(<= ~counter~0 0)} is VALID [2022-02-20 17:32:21,852 INFO L290 TraceCheckUtils]: 2: Hoare triple {2925#(<= ~counter~0 0)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:21,852 INFO L290 TraceCheckUtils]: 3: Hoare triple {2932#(<= ~counter~0 1)} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:21,852 INFO L272 TraceCheckUtils]: 4: Hoare triple {2932#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:21,853 INFO L290 TraceCheckUtils]: 5: Hoare triple {2932#(<= ~counter~0 1)} ~cond := #in~cond; {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:21,853 INFO L290 TraceCheckUtils]: 6: Hoare triple {2932#(<= ~counter~0 1)} assume !(0 == ~cond); {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:21,853 INFO L290 TraceCheckUtils]: 7: Hoare triple {2932#(<= ~counter~0 1)} assume true; {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:21,854 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {2932#(<= ~counter~0 1)} {2932#(<= ~counter~0 1)} #67#return; {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:21,854 INFO L272 TraceCheckUtils]: 9: Hoare triple {2932#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:21,855 INFO L290 TraceCheckUtils]: 10: Hoare triple {2932#(<= ~counter~0 1)} ~cond := #in~cond; {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:21,855 INFO L290 TraceCheckUtils]: 11: Hoare triple {2932#(<= ~counter~0 1)} assume !(0 == ~cond); {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:21,855 INFO L290 TraceCheckUtils]: 12: Hoare triple {2932#(<= ~counter~0 1)} assume true; {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:21,856 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {2932#(<= ~counter~0 1)} {2932#(<= ~counter~0 1)} #69#return; {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:21,856 INFO L272 TraceCheckUtils]: 14: Hoare triple {2932#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:21,857 INFO L290 TraceCheckUtils]: 15: Hoare triple {2932#(<= ~counter~0 1)} ~cond := #in~cond; {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:21,857 INFO L290 TraceCheckUtils]: 16: Hoare triple {2932#(<= ~counter~0 1)} assume !(0 == ~cond); {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:21,858 INFO L290 TraceCheckUtils]: 17: Hoare triple {2932#(<= ~counter~0 1)} assume true; {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:21,858 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2932#(<= ~counter~0 1)} {2932#(<= ~counter~0 1)} #71#return; {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:21,858 INFO L290 TraceCheckUtils]: 19: Hoare triple {2932#(<= ~counter~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; {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:21,859 INFO L290 TraceCheckUtils]: 20: Hoare triple {2932#(<= ~counter~0 1)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:21,859 INFO L290 TraceCheckUtils]: 21: Hoare triple {2987#(<= ~counter~0 2)} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:21,860 INFO L272 TraceCheckUtils]: 22: Hoare triple {2987#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:21,860 INFO L290 TraceCheckUtils]: 23: Hoare triple {2987#(<= ~counter~0 2)} ~cond := #in~cond; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:21,861 INFO L290 TraceCheckUtils]: 24: Hoare triple {2987#(<= ~counter~0 2)} assume !(0 == ~cond); {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:21,861 INFO L290 TraceCheckUtils]: 25: Hoare triple {2987#(<= ~counter~0 2)} assume true; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:21,862 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2987#(<= ~counter~0 2)} {2987#(<= ~counter~0 2)} #67#return; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:21,862 INFO L272 TraceCheckUtils]: 27: Hoare triple {2987#(<= ~counter~0 2)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:21,863 INFO L290 TraceCheckUtils]: 28: Hoare triple {2987#(<= ~counter~0 2)} ~cond := #in~cond; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:21,863 INFO L290 TraceCheckUtils]: 29: Hoare triple {2987#(<= ~counter~0 2)} assume !(0 == ~cond); {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:21,863 INFO L290 TraceCheckUtils]: 30: Hoare triple {2987#(<= ~counter~0 2)} assume true; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:21,864 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2987#(<= ~counter~0 2)} {2987#(<= ~counter~0 2)} #69#return; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:21,864 INFO L272 TraceCheckUtils]: 32: Hoare triple {2987#(<= ~counter~0 2)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:21,865 INFO L290 TraceCheckUtils]: 33: Hoare triple {2987#(<= ~counter~0 2)} ~cond := #in~cond; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:21,865 INFO L290 TraceCheckUtils]: 34: Hoare triple {2987#(<= ~counter~0 2)} assume !(0 == ~cond); {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:21,866 INFO L290 TraceCheckUtils]: 35: Hoare triple {2987#(<= ~counter~0 2)} assume true; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:21,866 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2987#(<= ~counter~0 2)} {2987#(<= ~counter~0 2)} #71#return; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:21,867 INFO L290 TraceCheckUtils]: 37: Hoare triple {2987#(<= ~counter~0 2)} assume !(main_~r~0#1 >= main_~d~0#1); {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:21,867 INFO L290 TraceCheckUtils]: 38: Hoare triple {2987#(<= ~counter~0 2)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {3042#(<= |ULTIMATE.start_main_#t~post6#1| 2)} is VALID [2022-02-20 17:32:21,867 INFO L290 TraceCheckUtils]: 39: Hoare triple {3042#(<= |ULTIMATE.start_main_#t~post6#1| 2)} assume !(main_#t~post6#1 < 100);havoc main_#t~post6#1; {2921#false} is VALID [2022-02-20 17:32:21,868 INFO L272 TraceCheckUtils]: 40: Hoare triple {2921#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)); {2921#false} is VALID [2022-02-20 17:32:21,868 INFO L290 TraceCheckUtils]: 41: Hoare triple {2921#false} ~cond := #in~cond; {2921#false} is VALID [2022-02-20 17:32:21,868 INFO L290 TraceCheckUtils]: 42: Hoare triple {2921#false} assume !(0 == ~cond); {2921#false} is VALID [2022-02-20 17:32:21,868 INFO L290 TraceCheckUtils]: 43: Hoare triple {2921#false} assume true; {2921#false} is VALID [2022-02-20 17:32:21,868 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2921#false} {2921#false} #77#return; {2921#false} is VALID [2022-02-20 17:32:21,868 INFO L272 TraceCheckUtils]: 45: Hoare triple {2921#false} call __VERIFIER_assert((if main_~B~0#1 == main_~d~0#1 then 1 else 0)); {2921#false} is VALID [2022-02-20 17:32:21,868 INFO L290 TraceCheckUtils]: 46: Hoare triple {2921#false} ~cond := #in~cond; {2921#false} is VALID [2022-02-20 17:32:21,869 INFO L290 TraceCheckUtils]: 47: Hoare triple {2921#false} assume 0 == ~cond; {2921#false} is VALID [2022-02-20 17:32:21,869 INFO L290 TraceCheckUtils]: 48: Hoare triple {2921#false} assume !false; {2921#false} is VALID [2022-02-20 17:32:21,869 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 36 proven. 42 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-02-20 17:32:21,869 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:32:22,082 INFO L290 TraceCheckUtils]: 48: Hoare triple {2921#false} assume !false; {2921#false} is VALID [2022-02-20 17:32:22,082 INFO L290 TraceCheckUtils]: 47: Hoare triple {2921#false} assume 0 == ~cond; {2921#false} is VALID [2022-02-20 17:32:22,082 INFO L290 TraceCheckUtils]: 46: Hoare triple {2921#false} ~cond := #in~cond; {2921#false} is VALID [2022-02-20 17:32:22,082 INFO L272 TraceCheckUtils]: 45: Hoare triple {2921#false} call __VERIFIER_assert((if main_~B~0#1 == main_~d~0#1 then 1 else 0)); {2921#false} is VALID [2022-02-20 17:32:22,083 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2920#true} {2921#false} #77#return; {2921#false} is VALID [2022-02-20 17:32:22,083 INFO L290 TraceCheckUtils]: 43: Hoare triple {2920#true} assume true; {2920#true} is VALID [2022-02-20 17:32:22,083 INFO L290 TraceCheckUtils]: 42: Hoare triple {2920#true} assume !(0 == ~cond); {2920#true} is VALID [2022-02-20 17:32:22,083 INFO L290 TraceCheckUtils]: 41: Hoare triple {2920#true} ~cond := #in~cond; {2920#true} is VALID [2022-02-20 17:32:22,083 INFO L272 TraceCheckUtils]: 40: Hoare triple {2921#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)); {2920#true} is VALID [2022-02-20 17:32:22,084 INFO L290 TraceCheckUtils]: 39: Hoare triple {3100#(< |ULTIMATE.start_main_#t~post6#1| 100)} assume !(main_#t~post6#1 < 100);havoc main_#t~post6#1; {2921#false} is VALID [2022-02-20 17:32:22,084 INFO L290 TraceCheckUtils]: 38: Hoare triple {3104#(< ~counter~0 100)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {3100#(< |ULTIMATE.start_main_#t~post6#1| 100)} is VALID [2022-02-20 17:32:22,084 INFO L290 TraceCheckUtils]: 37: Hoare triple {3104#(< ~counter~0 100)} assume !(main_~r~0#1 >= main_~d~0#1); {3104#(< ~counter~0 100)} is VALID [2022-02-20 17:32:22,085 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2920#true} {3104#(< ~counter~0 100)} #71#return; {3104#(< ~counter~0 100)} is VALID [2022-02-20 17:32:22,085 INFO L290 TraceCheckUtils]: 35: Hoare triple {2920#true} assume true; {2920#true} is VALID [2022-02-20 17:32:22,085 INFO L290 TraceCheckUtils]: 34: Hoare triple {2920#true} assume !(0 == ~cond); {2920#true} is VALID [2022-02-20 17:32:22,085 INFO L290 TraceCheckUtils]: 33: Hoare triple {2920#true} ~cond := #in~cond; {2920#true} is VALID [2022-02-20 17:32:22,086 INFO L272 TraceCheckUtils]: 32: Hoare triple {3104#(< ~counter~0 100)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {2920#true} is VALID [2022-02-20 17:32:22,086 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2920#true} {3104#(< ~counter~0 100)} #69#return; {3104#(< ~counter~0 100)} is VALID [2022-02-20 17:32:22,086 INFO L290 TraceCheckUtils]: 30: Hoare triple {2920#true} assume true; {2920#true} is VALID [2022-02-20 17:32:22,086 INFO L290 TraceCheckUtils]: 29: Hoare triple {2920#true} assume !(0 == ~cond); {2920#true} is VALID [2022-02-20 17:32:22,086 INFO L290 TraceCheckUtils]: 28: Hoare triple {2920#true} ~cond := #in~cond; {2920#true} is VALID [2022-02-20 17:32:22,087 INFO L272 TraceCheckUtils]: 27: Hoare triple {3104#(< ~counter~0 100)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {2920#true} is VALID [2022-02-20 17:32:22,087 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2920#true} {3104#(< ~counter~0 100)} #67#return; {3104#(< ~counter~0 100)} is VALID [2022-02-20 17:32:22,087 INFO L290 TraceCheckUtils]: 25: Hoare triple {2920#true} assume true; {2920#true} is VALID [2022-02-20 17:32:22,087 INFO L290 TraceCheckUtils]: 24: Hoare triple {2920#true} assume !(0 == ~cond); {2920#true} is VALID [2022-02-20 17:32:22,087 INFO L290 TraceCheckUtils]: 23: Hoare triple {2920#true} ~cond := #in~cond; {2920#true} is VALID [2022-02-20 17:32:22,088 INFO L272 TraceCheckUtils]: 22: Hoare triple {3104#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2920#true} is VALID [2022-02-20 17:32:22,088 INFO L290 TraceCheckUtils]: 21: Hoare triple {3104#(< ~counter~0 100)} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {3104#(< ~counter~0 100)} is VALID [2022-02-20 17:32:22,088 INFO L290 TraceCheckUtils]: 20: Hoare triple {3159#(< ~counter~0 99)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {3104#(< ~counter~0 100)} is VALID [2022-02-20 17:32:22,089 INFO L290 TraceCheckUtils]: 19: Hoare triple {3159#(< ~counter~0 99)} 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; {3159#(< ~counter~0 99)} is VALID [2022-02-20 17:32:22,089 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2920#true} {3159#(< ~counter~0 99)} #71#return; {3159#(< ~counter~0 99)} is VALID [2022-02-20 17:32:22,089 INFO L290 TraceCheckUtils]: 17: Hoare triple {2920#true} assume true; {2920#true} is VALID [2022-02-20 17:32:22,089 INFO L290 TraceCheckUtils]: 16: Hoare triple {2920#true} assume !(0 == ~cond); {2920#true} is VALID [2022-02-20 17:32:22,090 INFO L290 TraceCheckUtils]: 15: Hoare triple {2920#true} ~cond := #in~cond; {2920#true} is VALID [2022-02-20 17:32:22,090 INFO L272 TraceCheckUtils]: 14: Hoare triple {3159#(< ~counter~0 99)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {2920#true} is VALID [2022-02-20 17:32:22,090 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {2920#true} {3159#(< ~counter~0 99)} #69#return; {3159#(< ~counter~0 99)} is VALID [2022-02-20 17:32:22,090 INFO L290 TraceCheckUtils]: 12: Hoare triple {2920#true} assume true; {2920#true} is VALID [2022-02-20 17:32:22,090 INFO L290 TraceCheckUtils]: 11: Hoare triple {2920#true} assume !(0 == ~cond); {2920#true} is VALID [2022-02-20 17:32:22,091 INFO L290 TraceCheckUtils]: 10: Hoare triple {2920#true} ~cond := #in~cond; {2920#true} is VALID [2022-02-20 17:32:22,091 INFO L272 TraceCheckUtils]: 9: Hoare triple {3159#(< ~counter~0 99)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {2920#true} is VALID [2022-02-20 17:32:22,091 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {2920#true} {3159#(< ~counter~0 99)} #67#return; {3159#(< ~counter~0 99)} is VALID [2022-02-20 17:32:22,091 INFO L290 TraceCheckUtils]: 7: Hoare triple {2920#true} assume true; {2920#true} is VALID [2022-02-20 17:32:22,092 INFO L290 TraceCheckUtils]: 6: Hoare triple {2920#true} assume !(0 == ~cond); {2920#true} is VALID [2022-02-20 17:32:22,092 INFO L290 TraceCheckUtils]: 5: Hoare triple {2920#true} ~cond := #in~cond; {2920#true} is VALID [2022-02-20 17:32:22,092 INFO L272 TraceCheckUtils]: 4: Hoare triple {3159#(< ~counter~0 99)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2920#true} is VALID [2022-02-20 17:32:22,093 INFO L290 TraceCheckUtils]: 3: Hoare triple {3159#(< ~counter~0 99)} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {3159#(< ~counter~0 99)} is VALID [2022-02-20 17:32:22,093 INFO L290 TraceCheckUtils]: 2: Hoare triple {3214#(< ~counter~0 98)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {3159#(< ~counter~0 99)} is VALID [2022-02-20 17:32:22,093 INFO L290 TraceCheckUtils]: 1: Hoare triple {3214#(< ~counter~0 98)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~post6#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;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; {3214#(< ~counter~0 98)} is VALID [2022-02-20 17:32:22,094 INFO L290 TraceCheckUtils]: 0: Hoare triple {2920#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);~counter~0 := 0; {3214#(< ~counter~0 98)} is VALID [2022-02-20 17:32:22,094 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 14 proven. 6 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-02-20 17:32:22,094 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:22,094 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [52901575] [2022-02-20 17:32:22,095 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:32:22,095 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1110364965] [2022-02-20 17:32:22,095 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1110364965] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:32:22,095 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:32:22,095 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 6] total 10 [2022-02-20 17:32:22,095 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [579935523] [2022-02-20 17:32:22,095 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:32:22,096 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 10 states have internal predecessors, (34), 5 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 49 [2022-02-20 17:32:22,096 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:22,096 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.4) internal successors, (34), 10 states have internal predecessors, (34), 5 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-02-20 17:32:22,143 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:22,143 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 17:32:22,143 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:22,144 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 17:32:22,144 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-02-20 17:32:22,144 INFO L87 Difference]: Start difference. First operand 118 states and 139 transitions. Second operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 10 states have internal predecessors, (34), 5 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-02-20 17:32:22,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:22,652 INFO L93 Difference]: Finished difference Result 241 states and 294 transitions. [2022-02-20 17:32:22,652 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 17:32:22,652 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 10 states have internal predecessors, (34), 5 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 49 [2022-02-20 17:32:22,653 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:22,653 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 10 states have internal predecessors, (34), 5 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-02-20 17:32:22,658 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 157 transitions. [2022-02-20 17:32:22,658 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 10 states have internal predecessors, (34), 5 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-02-20 17:32:22,661 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 157 transitions. [2022-02-20 17:32:22,661 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 157 transitions. [2022-02-20 17:32:22,767 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 157 edges. 157 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:22,771 INFO L225 Difference]: With dead ends: 241 [2022-02-20 17:32:22,773 INFO L226 Difference]: Without dead ends: 220 [2022-02-20 17:32:22,774 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 88 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=52, Invalid=104, Unknown=0, NotChecked=0, Total=156 [2022-02-20 17:32:22,775 INFO L933 BasicCegarLoop]: 55 mSDtfsCounter, 117 mSDsluCounter, 191 mSDsCounter, 0 mSdLazyCounter, 102 mSolverCounterSat, 71 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 117 SdHoareTripleChecker+Valid, 246 SdHoareTripleChecker+Invalid, 173 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 71 IncrementalHoareTripleChecker+Valid, 102 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:32:22,775 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [117 Valid, 246 Invalid, 173 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [71 Valid, 102 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:32:22,776 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 220 states. [2022-02-20 17:32:22,828 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 220 to 213. [2022-02-20 17:32:22,828 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:22,829 INFO L82 GeneralOperation]: Start isEquivalent. First operand 220 states. Second operand has 213 states, 138 states have (on average 1.1956521739130435) internal successors, (165), 147 states have internal predecessors, (165), 49 states have call successors, (49), 26 states have call predecessors, (49), 25 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) [2022-02-20 17:32:22,830 INFO L74 IsIncluded]: Start isIncluded. First operand 220 states. Second operand has 213 states, 138 states have (on average 1.1956521739130435) internal successors, (165), 147 states have internal predecessors, (165), 49 states have call successors, (49), 26 states have call predecessors, (49), 25 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) [2022-02-20 17:32:22,831 INFO L87 Difference]: Start difference. First operand 220 states. Second operand has 213 states, 138 states have (on average 1.1956521739130435) internal successors, (165), 147 states have internal predecessors, (165), 49 states have call successors, (49), 26 states have call predecessors, (49), 25 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) [2022-02-20 17:32:22,836 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:22,836 INFO L93 Difference]: Finished difference Result 220 states and 263 transitions. [2022-02-20 17:32:22,836 INFO L276 IsEmpty]: Start isEmpty. Operand 220 states and 263 transitions. [2022-02-20 17:32:22,837 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:22,837 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:22,839 INFO L74 IsIncluded]: Start isIncluded. First operand has 213 states, 138 states have (on average 1.1956521739130435) internal successors, (165), 147 states have internal predecessors, (165), 49 states have call successors, (49), 26 states have call predecessors, (49), 25 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) Second operand 220 states. [2022-02-20 17:32:22,839 INFO L87 Difference]: Start difference. First operand has 213 states, 138 states have (on average 1.1956521739130435) internal successors, (165), 147 states have internal predecessors, (165), 49 states have call successors, (49), 26 states have call predecessors, (49), 25 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) Second operand 220 states. [2022-02-20 17:32:22,843 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:22,843 INFO L93 Difference]: Finished difference Result 220 states and 263 transitions. [2022-02-20 17:32:22,843 INFO L276 IsEmpty]: Start isEmpty. Operand 220 states and 263 transitions. [2022-02-20 17:32:22,845 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:22,845 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:22,845 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:22,845 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:22,845 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 213 states, 138 states have (on average 1.1956521739130435) internal successors, (165), 147 states have internal predecessors, (165), 49 states have call successors, (49), 26 states have call predecessors, (49), 25 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) [2022-02-20 17:32:22,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 213 states to 213 states and 259 transitions. [2022-02-20 17:32:22,849 INFO L78 Accepts]: Start accepts. Automaton has 213 states and 259 transitions. Word has length 49 [2022-02-20 17:32:22,850 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:22,850 INFO L470 AbstractCegarLoop]: Abstraction has 213 states and 259 transitions. [2022-02-20 17:32:22,850 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 10 states have internal predecessors, (34), 5 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-02-20 17:32:22,850 INFO L276 IsEmpty]: Start isEmpty. Operand 213 states and 259 transitions. [2022-02-20 17:32:22,851 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-02-20 17:32:22,851 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:22,851 INFO L514 BasicCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:22,871 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:32:23,071 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:23,072 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:23,072 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:23,072 INFO L85 PathProgramCache]: Analyzing trace with hash -1800695307, now seen corresponding path program 1 times [2022-02-20 17:32:23,072 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:23,072 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1920692271] [2022-02-20 17:32:23,072 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:23,072 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:23,083 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:23,083 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1392288122] [2022-02-20 17:32:23,084 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:23,084 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:23,084 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:23,085 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:32:23,086 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:32:23,122 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:23,123 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 25 conjunts are in the unsatisfiable core [2022-02-20 17:32:23,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:23,151 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:23,546 INFO L290 TraceCheckUtils]: 0: Hoare triple {4292#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);~counter~0 := 0; {4292#true} is VALID [2022-02-20 17:32:23,547 INFO L290 TraceCheckUtils]: 1: Hoare triple {4292#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~post6#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;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; {4300#(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:23,547 INFO L290 TraceCheckUtils]: 2: Hoare triple {4300#(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))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {4300#(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:23,547 INFO L290 TraceCheckUtils]: 3: Hoare triple {4300#(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_#t~post5#1 < 100);havoc main_#t~post5#1; {4300#(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:23,548 INFO L272 TraceCheckUtils]: 4: Hoare triple {4300#(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)); {4292#true} is VALID [2022-02-20 17:32:23,548 INFO L290 TraceCheckUtils]: 5: Hoare triple {4292#true} ~cond := #in~cond; {4292#true} is VALID [2022-02-20 17:32:23,548 INFO L290 TraceCheckUtils]: 6: Hoare triple {4292#true} assume !(0 == ~cond); {4292#true} is VALID [2022-02-20 17:32:23,548 INFO L290 TraceCheckUtils]: 7: Hoare triple {4292#true} assume true; {4292#true} is VALID [2022-02-20 17:32:23,550 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {4292#true} {4300#(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))} #67#return; {4300#(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:23,551 INFO L272 TraceCheckUtils]: 9: Hoare triple {4300#(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)); {4292#true} is VALID [2022-02-20 17:32:23,551 INFO L290 TraceCheckUtils]: 10: Hoare triple {4292#true} ~cond := #in~cond; {4292#true} is VALID [2022-02-20 17:32:23,551 INFO L290 TraceCheckUtils]: 11: Hoare triple {4292#true} assume !(0 == ~cond); {4292#true} is VALID [2022-02-20 17:32:23,551 INFO L290 TraceCheckUtils]: 12: Hoare triple {4292#true} assume true; {4292#true} is VALID [2022-02-20 17:32:23,551 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {4292#true} {4300#(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))} #69#return; {4300#(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:23,552 INFO L272 TraceCheckUtils]: 14: Hoare triple {4300#(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)); {4292#true} is VALID [2022-02-20 17:32:23,552 INFO L290 TraceCheckUtils]: 15: Hoare triple {4292#true} ~cond := #in~cond; {4292#true} is VALID [2022-02-20 17:32:23,552 INFO L290 TraceCheckUtils]: 16: Hoare triple {4292#true} assume !(0 == ~cond); {4292#true} is VALID [2022-02-20 17:32:23,552 INFO L290 TraceCheckUtils]: 17: Hoare triple {4292#true} assume true; {4292#true} is VALID [2022-02-20 17:32:23,552 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4292#true} {4300#(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))} #71#return; {4300#(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:23,553 INFO L290 TraceCheckUtils]: 19: Hoare triple {4300#(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; {4355#(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:23,553 INFO L290 TraceCheckUtils]: 20: Hoare triple {4355#(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))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {4355#(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:23,554 INFO L290 TraceCheckUtils]: 21: Hoare triple {4355#(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_#t~post5#1 < 100);havoc main_#t~post5#1; {4355#(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:23,554 INFO L272 TraceCheckUtils]: 22: Hoare triple {4355#(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)); {4292#true} is VALID [2022-02-20 17:32:23,554 INFO L290 TraceCheckUtils]: 23: Hoare triple {4292#true} ~cond := #in~cond; {4292#true} is VALID [2022-02-20 17:32:23,554 INFO L290 TraceCheckUtils]: 24: Hoare triple {4292#true} assume !(0 == ~cond); {4292#true} is VALID [2022-02-20 17:32:23,554 INFO L290 TraceCheckUtils]: 25: Hoare triple {4292#true} assume true; {4292#true} is VALID [2022-02-20 17:32:23,555 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4292#true} {4355#(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))} #67#return; {4355#(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:23,555 INFO L272 TraceCheckUtils]: 27: Hoare triple {4355#(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)); {4292#true} is VALID [2022-02-20 17:32:23,555 INFO L290 TraceCheckUtils]: 28: Hoare triple {4292#true} ~cond := #in~cond; {4292#true} is VALID [2022-02-20 17:32:23,555 INFO L290 TraceCheckUtils]: 29: Hoare triple {4292#true} assume !(0 == ~cond); {4292#true} is VALID [2022-02-20 17:32:23,555 INFO L290 TraceCheckUtils]: 30: Hoare triple {4292#true} assume true; {4292#true} is VALID [2022-02-20 17:32:23,557 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4292#true} {4355#(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))} #69#return; {4355#(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:23,557 INFO L272 TraceCheckUtils]: 32: Hoare triple {4355#(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)); {4292#true} is VALID [2022-02-20 17:32:23,557 INFO L290 TraceCheckUtils]: 33: Hoare triple {4292#true} ~cond := #in~cond; {4292#true} is VALID [2022-02-20 17:32:23,557 INFO L290 TraceCheckUtils]: 34: Hoare triple {4292#true} assume !(0 == ~cond); {4292#true} is VALID [2022-02-20 17:32:23,557 INFO L290 TraceCheckUtils]: 35: Hoare triple {4292#true} assume true; {4292#true} is VALID [2022-02-20 17:32:23,558 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4292#true} {4355#(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))} #71#return; {4355#(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:23,558 INFO L290 TraceCheckUtils]: 37: Hoare triple {4355#(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); {4355#(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:23,559 INFO L290 TraceCheckUtils]: 38: Hoare triple {4355#(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))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {4355#(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:23,559 INFO L290 TraceCheckUtils]: 39: Hoare triple {4355#(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_#t~post6#1 < 100);havoc main_#t~post6#1; {4355#(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:23,559 INFO L272 TraceCheckUtils]: 40: Hoare triple {4355#(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)); {4292#true} is VALID [2022-02-20 17:32:23,560 INFO L290 TraceCheckUtils]: 41: Hoare triple {4292#true} ~cond := #in~cond; {4292#true} is VALID [2022-02-20 17:32:23,560 INFO L290 TraceCheckUtils]: 42: Hoare triple {4292#true} assume !(0 == ~cond); {4292#true} is VALID [2022-02-20 17:32:23,560 INFO L290 TraceCheckUtils]: 43: Hoare triple {4292#true} assume true; {4292#true} is VALID [2022-02-20 17:32:23,561 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4292#true} {4355#(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))} #73#return; {4355#(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:23,561 INFO L272 TraceCheckUtils]: 45: Hoare triple {4355#(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)); {4292#true} is VALID [2022-02-20 17:32:23,561 INFO L290 TraceCheckUtils]: 46: Hoare triple {4292#true} ~cond := #in~cond; {4292#true} is VALID [2022-02-20 17:32:23,561 INFO L290 TraceCheckUtils]: 47: Hoare triple {4292#true} assume !(0 == ~cond); {4292#true} is VALID [2022-02-20 17:32:23,561 INFO L290 TraceCheckUtils]: 48: Hoare triple {4292#true} assume true; {4292#true} is VALID [2022-02-20 17:32:23,567 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {4292#true} {4355#(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))} #75#return; {4355#(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:23,568 INFO L290 TraceCheckUtils]: 50: Hoare triple {4355#(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); {4300#(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:23,569 INFO L290 TraceCheckUtils]: 51: Hoare triple {4300#(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; {4452#(and (= (+ (* (- 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) (= (+ (- 1) |ULTIMATE.start_main_~q~0#1|) 0))} is VALID [2022-02-20 17:32:23,570 INFO L290 TraceCheckUtils]: 52: Hoare triple {4452#(and (= (+ (* (- 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) (= (+ (- 1) |ULTIMATE.start_main_~q~0#1|) 0))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {4452#(and (= (+ (* (- 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) (= (+ (- 1) |ULTIMATE.start_main_~q~0#1|) 0))} is VALID [2022-02-20 17:32:23,570 INFO L290 TraceCheckUtils]: 53: Hoare triple {4452#(and (= (+ (* (- 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) (= (+ (- 1) |ULTIMATE.start_main_~q~0#1|) 0))} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {4452#(and (= (+ (* (- 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) (= (+ (- 1) |ULTIMATE.start_main_~q~0#1|) 0))} is VALID [2022-02-20 17:32:23,571 INFO L272 TraceCheckUtils]: 54: Hoare triple {4452#(and (= (+ (* (- 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) (= (+ (- 1) |ULTIMATE.start_main_~q~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)); {4462#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:32:23,571 INFO L290 TraceCheckUtils]: 55: Hoare triple {4462#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4466#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:23,571 INFO L290 TraceCheckUtils]: 56: Hoare triple {4466#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4293#false} is VALID [2022-02-20 17:32:23,571 INFO L290 TraceCheckUtils]: 57: Hoare triple {4293#false} assume !false; {4293#false} is VALID [2022-02-20 17:32:23,572 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-02-20 17:32:23,572 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:32:31,361 INFO L290 TraceCheckUtils]: 57: Hoare triple {4293#false} assume !false; {4293#false} is VALID [2022-02-20 17:32:31,362 INFO L290 TraceCheckUtils]: 56: Hoare triple {4466#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4293#false} is VALID [2022-02-20 17:32:31,362 INFO L290 TraceCheckUtils]: 55: Hoare triple {4462#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4466#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:31,363 INFO L272 TraceCheckUtils]: 54: Hoare triple {4482#(= |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)); {4462#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:32:31,363 INFO L290 TraceCheckUtils]: 53: Hoare triple {4482#(= |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 !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {4482#(= |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:31,363 INFO L290 TraceCheckUtils]: 52: Hoare triple {4482#(= |ULTIMATE.start_main_~A~0#1| (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {4482#(= |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:31,370 INFO L290 TraceCheckUtils]: 51: Hoare triple {4492#(= (+ |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; {4482#(= |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:31,385 INFO L290 TraceCheckUtils]: 50: Hoare triple {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 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); {4492#(= (+ |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:31,386 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {4292#true} {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} #75#return; {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} is VALID [2022-02-20 17:32:31,386 INFO L290 TraceCheckUtils]: 48: Hoare triple {4292#true} assume true; {4292#true} is VALID [2022-02-20 17:32:31,386 INFO L290 TraceCheckUtils]: 47: Hoare triple {4292#true} assume !(0 == ~cond); {4292#true} is VALID [2022-02-20 17:32:31,386 INFO L290 TraceCheckUtils]: 46: Hoare triple {4292#true} ~cond := #in~cond; {4292#true} is VALID [2022-02-20 17:32:31,387 INFO L272 TraceCheckUtils]: 45: Hoare triple {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {4292#true} is VALID [2022-02-20 17:32:31,387 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4292#true} {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} #73#return; {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} is VALID [2022-02-20 17:32:31,387 INFO L290 TraceCheckUtils]: 43: Hoare triple {4292#true} assume true; {4292#true} is VALID [2022-02-20 17:32:31,387 INFO L290 TraceCheckUtils]: 42: Hoare triple {4292#true} assume !(0 == ~cond); {4292#true} is VALID [2022-02-20 17:32:31,388 INFO L290 TraceCheckUtils]: 41: Hoare triple {4292#true} ~cond := #in~cond; {4292#true} is VALID [2022-02-20 17:32:31,388 INFO L272 TraceCheckUtils]: 40: Hoare triple {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 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)); {4292#true} is VALID [2022-02-20 17:32:31,389 INFO L290 TraceCheckUtils]: 39: Hoare triple {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} is VALID [2022-02-20 17:32:31,390 INFO L290 TraceCheckUtils]: 38: Hoare triple {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} is VALID [2022-02-20 17:32:31,391 INFO L290 TraceCheckUtils]: 37: Hoare triple {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} assume !(main_~r~0#1 >= main_~d~0#1); {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} is VALID [2022-02-20 17:32:31,392 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4292#true} {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} #71#return; {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} is VALID [2022-02-20 17:32:31,392 INFO L290 TraceCheckUtils]: 35: Hoare triple {4292#true} assume true; {4292#true} is VALID [2022-02-20 17:32:31,392 INFO L290 TraceCheckUtils]: 34: Hoare triple {4292#true} assume !(0 == ~cond); {4292#true} is VALID [2022-02-20 17:32:31,392 INFO L290 TraceCheckUtils]: 33: Hoare triple {4292#true} ~cond := #in~cond; {4292#true} is VALID [2022-02-20 17:32:31,392 INFO L272 TraceCheckUtils]: 32: Hoare triple {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {4292#true} is VALID [2022-02-20 17:32:31,393 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4292#true} {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} #69#return; {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} is VALID [2022-02-20 17:32:31,393 INFO L290 TraceCheckUtils]: 30: Hoare triple {4292#true} assume true; {4292#true} is VALID [2022-02-20 17:32:31,393 INFO L290 TraceCheckUtils]: 29: Hoare triple {4292#true} assume !(0 == ~cond); {4292#true} is VALID [2022-02-20 17:32:31,393 INFO L290 TraceCheckUtils]: 28: Hoare triple {4292#true} ~cond := #in~cond; {4292#true} is VALID [2022-02-20 17:32:31,393 INFO L272 TraceCheckUtils]: 27: Hoare triple {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {4292#true} is VALID [2022-02-20 17:32:31,393 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4292#true} {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} #67#return; {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} is VALID [2022-02-20 17:32:31,394 INFO L290 TraceCheckUtils]: 25: Hoare triple {4292#true} assume true; {4292#true} is VALID [2022-02-20 17:32:31,394 INFO L290 TraceCheckUtils]: 24: Hoare triple {4292#true} assume !(0 == ~cond); {4292#true} is VALID [2022-02-20 17:32:31,394 INFO L290 TraceCheckUtils]: 23: Hoare triple {4292#true} ~cond := #in~cond; {4292#true} is VALID [2022-02-20 17:32:31,394 INFO L272 TraceCheckUtils]: 22: Hoare triple {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {4292#true} is VALID [2022-02-20 17:32:31,395 INFO L290 TraceCheckUtils]: 21: Hoare triple {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} is VALID [2022-02-20 17:32:31,396 INFO L290 TraceCheckUtils]: 20: Hoare triple {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} is VALID [2022-02-20 17:32:31,402 INFO L290 TraceCheckUtils]: 19: Hoare triple {4492#(= (+ |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; {4496#(and (or (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (= (+ (* |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|) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (= (+ (* (- 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|) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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|))) (or (= |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|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))} is VALID [2022-02-20 17:32:31,403 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4292#true} {4492#(= (+ |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|)} #71#return; {4492#(= (+ |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:31,403 INFO L290 TraceCheckUtils]: 17: Hoare triple {4292#true} assume true; {4292#true} is VALID [2022-02-20 17:32:31,403 INFO L290 TraceCheckUtils]: 16: Hoare triple {4292#true} assume !(0 == ~cond); {4292#true} is VALID [2022-02-20 17:32:31,403 INFO L290 TraceCheckUtils]: 15: Hoare triple {4292#true} ~cond := #in~cond; {4292#true} is VALID [2022-02-20 17:32:31,403 INFO L272 TraceCheckUtils]: 14: Hoare triple {4492#(= (+ |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)); {4292#true} is VALID [2022-02-20 17:32:31,404 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {4292#true} {4492#(= (+ |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|)} #69#return; {4492#(= (+ |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:31,404 INFO L290 TraceCheckUtils]: 12: Hoare triple {4292#true} assume true; {4292#true} is VALID [2022-02-20 17:32:31,404 INFO L290 TraceCheckUtils]: 11: Hoare triple {4292#true} assume !(0 == ~cond); {4292#true} is VALID [2022-02-20 17:32:31,404 INFO L290 TraceCheckUtils]: 10: Hoare triple {4292#true} ~cond := #in~cond; {4292#true} is VALID [2022-02-20 17:32:31,404 INFO L272 TraceCheckUtils]: 9: Hoare triple {4492#(= (+ |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)); {4292#true} is VALID [2022-02-20 17:32:31,405 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {4292#true} {4492#(= (+ |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|)} #67#return; {4492#(= (+ |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:31,405 INFO L290 TraceCheckUtils]: 7: Hoare triple {4292#true} assume true; {4292#true} is VALID [2022-02-20 17:32:31,405 INFO L290 TraceCheckUtils]: 6: Hoare triple {4292#true} assume !(0 == ~cond); {4292#true} is VALID [2022-02-20 17:32:31,405 INFO L290 TraceCheckUtils]: 5: Hoare triple {4292#true} ~cond := #in~cond; {4292#true} is VALID [2022-02-20 17:32:31,405 INFO L272 TraceCheckUtils]: 4: Hoare triple {4492#(= (+ |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)); {4292#true} is VALID [2022-02-20 17:32:31,405 INFO L290 TraceCheckUtils]: 3: Hoare triple {4492#(= (+ |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_#t~post5#1 < 100);havoc main_#t~post5#1; {4492#(= (+ |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:31,406 INFO L290 TraceCheckUtils]: 2: Hoare triple {4492#(= (+ |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|)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {4492#(= (+ |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:31,406 INFO L290 TraceCheckUtils]: 1: Hoare triple {4292#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~post6#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;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; {4492#(= (+ |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:31,406 INFO L290 TraceCheckUtils]: 0: Hoare triple {4292#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);~counter~0 := 0; {4292#true} is VALID [2022-02-20 17:32:31,407 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-02-20 17:32:31,407 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:31,407 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1920692271] [2022-02-20 17:32:31,407 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:32:31,407 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1392288122] [2022-02-20 17:32:31,407 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1392288122] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:32:31,407 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:32:31,407 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-02-20 17:32:31,407 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [653477873] [2022-02-20 17:32:31,407 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:32:31,408 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 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 58 [2022-02-20 17:32:31,408 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:31,408 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 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:31,511 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:32:31,511 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 17:32:31,511 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:31,512 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 17:32:31,512 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-02-20 17:32:31,512 INFO L87 Difference]: Start difference. First operand 213 states and 259 transitions. Second operand has 10 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 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:35,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:35,047 INFO L93 Difference]: Finished difference Result 367 states and 475 transitions. [2022-02-20 17:32:35,047 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 17:32:35,047 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 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 58 [2022-02-20 17:32:35,047 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:35,047 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 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:35,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 149 transitions. [2022-02-20 17:32:35,049 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 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:35,051 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 149 transitions. [2022-02-20 17:32:35,051 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 149 transitions. [2022-02-20 17:32:35,232 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 149 edges. 149 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:35,238 INFO L225 Difference]: With dead ends: 367 [2022-02-20 17:32:35,238 INFO L226 Difference]: Without dead ends: 299 [2022-02-20 17:32:35,239 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 118 GetRequests, 103 SyntacticMatches, 3 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=50, Invalid=132, Unknown=0, NotChecked=0, Total=182 [2022-02-20 17:32:35,239 INFO L933 BasicCegarLoop]: 47 mSDtfsCounter, 48 mSDsluCounter, 271 mSDsCounter, 0 mSdLazyCounter, 236 mSolverCounterSat, 67 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 318 SdHoareTripleChecker+Invalid, 303 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 67 IncrementalHoareTripleChecker+Valid, 236 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-02-20 17:32:35,239 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [54 Valid, 318 Invalid, 303 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [67 Valid, 236 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-02-20 17:32:35,240 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 299 states. [2022-02-20 17:32:35,324 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 299 to 270. [2022-02-20 17:32:35,324 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:35,325 INFO L82 GeneralOperation]: Start isEquivalent. First operand 299 states. Second operand has 270 states, 184 states have (on average 1.233695652173913) internal successors, (227), 190 states have internal predecessors, (227), 56 states have call successors, (56), 29 states have call predecessors, (56), 29 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-02-20 17:32:35,325 INFO L74 IsIncluded]: Start isIncluded. First operand 299 states. Second operand has 270 states, 184 states have (on average 1.233695652173913) internal successors, (227), 190 states have internal predecessors, (227), 56 states have call successors, (56), 29 states have call predecessors, (56), 29 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-02-20 17:32:35,326 INFO L87 Difference]: Start difference. First operand 299 states. Second operand has 270 states, 184 states have (on average 1.233695652173913) internal successors, (227), 190 states have internal predecessors, (227), 56 states have call successors, (56), 29 states have call predecessors, (56), 29 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-02-20 17:32:35,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:35,332 INFO L93 Difference]: Finished difference Result 299 states and 378 transitions. [2022-02-20 17:32:35,332 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 378 transitions. [2022-02-20 17:32:35,333 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:35,333 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:35,333 INFO L74 IsIncluded]: Start isIncluded. First operand has 270 states, 184 states have (on average 1.233695652173913) internal successors, (227), 190 states have internal predecessors, (227), 56 states have call successors, (56), 29 states have call predecessors, (56), 29 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 299 states. [2022-02-20 17:32:35,334 INFO L87 Difference]: Start difference. First operand has 270 states, 184 states have (on average 1.233695652173913) internal successors, (227), 190 states have internal predecessors, (227), 56 states have call successors, (56), 29 states have call predecessors, (56), 29 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 299 states. [2022-02-20 17:32:35,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:35,341 INFO L93 Difference]: Finished difference Result 299 states and 378 transitions. [2022-02-20 17:32:35,341 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 378 transitions. [2022-02-20 17:32:35,341 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:35,341 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:35,342 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:35,342 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:35,342 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 270 states, 184 states have (on average 1.233695652173913) internal successors, (227), 190 states have internal predecessors, (227), 56 states have call successors, (56), 29 states have call predecessors, (56), 29 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-02-20 17:32:35,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 270 states to 270 states and 337 transitions. [2022-02-20 17:32:35,348 INFO L78 Accepts]: Start accepts. Automaton has 270 states and 337 transitions. Word has length 58 [2022-02-20 17:32:35,348 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:35,349 INFO L470 AbstractCegarLoop]: Abstraction has 270 states and 337 transitions. [2022-02-20 17:32:35,349 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 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:35,349 INFO L276 IsEmpty]: Start isEmpty. Operand 270 states and 337 transitions. [2022-02-20 17:32:35,349 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-02-20 17:32:35,349 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:35,350 INFO L514 BasicCegarLoop]: trace histogram [11, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:35,373 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-02-20 17:32:35,563 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:35,563 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:35,564 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:35,564 INFO L85 PathProgramCache]: Analyzing trace with hash -1688778742, now seen corresponding path program 1 times [2022-02-20 17:32:35,564 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:35,564 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1379930529] [2022-02-20 17:32:35,564 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:35,564 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:35,574 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:35,575 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [674889453] [2022-02-20 17:32:35,575 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:35,575 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:35,575 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:35,576 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:32:35,585 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:32:35,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:35,622 INFO L263 TraceCheckSpWp]: Trace formula consists of 176 conjuncts, 35 conjunts are in the unsatisfiable core [2022-02-20 17:32:35,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:35,635 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:36,328 INFO L290 TraceCheckUtils]: 0: Hoare triple {6118#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);~counter~0 := 0; {6118#true} is VALID [2022-02-20 17:32:36,329 INFO L290 TraceCheckUtils]: 1: Hoare triple {6118#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~post6#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;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; {6126#(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:32:36,329 INFO L290 TraceCheckUtils]: 2: Hoare triple {6126#(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))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {6126#(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:32:36,330 INFO L290 TraceCheckUtils]: 3: Hoare triple {6126#(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_#t~post5#1 < 100);havoc main_#t~post5#1; {6126#(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:32:36,330 INFO L272 TraceCheckUtils]: 4: Hoare triple {6126#(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)); {6118#true} is VALID [2022-02-20 17:32:36,330 INFO L290 TraceCheckUtils]: 5: Hoare triple {6118#true} ~cond := #in~cond; {6118#true} is VALID [2022-02-20 17:32:36,330 INFO L290 TraceCheckUtils]: 6: Hoare triple {6118#true} assume !(0 == ~cond); {6118#true} is VALID [2022-02-20 17:32:36,330 INFO L290 TraceCheckUtils]: 7: Hoare triple {6118#true} assume true; {6118#true} is VALID [2022-02-20 17:32:36,331 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {6118#true} {6126#(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))} #67#return; {6126#(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:32:36,331 INFO L272 TraceCheckUtils]: 9: Hoare triple {6126#(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)); {6118#true} is VALID [2022-02-20 17:32:36,331 INFO L290 TraceCheckUtils]: 10: Hoare triple {6118#true} ~cond := #in~cond; {6118#true} is VALID [2022-02-20 17:32:36,331 INFO L290 TraceCheckUtils]: 11: Hoare triple {6118#true} assume !(0 == ~cond); {6118#true} is VALID [2022-02-20 17:32:36,331 INFO L290 TraceCheckUtils]: 12: Hoare triple {6118#true} assume true; {6118#true} is VALID [2022-02-20 17:32:36,331 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {6118#true} {6126#(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))} #69#return; {6126#(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:32:36,331 INFO L272 TraceCheckUtils]: 14: Hoare triple {6126#(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)); {6118#true} is VALID [2022-02-20 17:32:36,332 INFO L290 TraceCheckUtils]: 15: Hoare triple {6118#true} ~cond := #in~cond; {6118#true} is VALID [2022-02-20 17:32:36,332 INFO L290 TraceCheckUtils]: 16: Hoare triple {6118#true} assume !(0 == ~cond); {6118#true} is VALID [2022-02-20 17:32:36,332 INFO L290 TraceCheckUtils]: 17: Hoare triple {6118#true} assume true; {6118#true} is VALID [2022-02-20 17:32:36,332 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6118#true} {6126#(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))} #71#return; {6126#(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:32:36,333 INFO L290 TraceCheckUtils]: 19: Hoare triple {6126#(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; {6181#(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:32:36,333 INFO L290 TraceCheckUtils]: 20: Hoare triple {6181#(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))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {6181#(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:32:36,333 INFO L290 TraceCheckUtils]: 21: Hoare triple {6181#(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_#t~post5#1 < 100);havoc main_#t~post5#1; {6181#(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:32:36,334 INFO L272 TraceCheckUtils]: 22: Hoare triple {6181#(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)); {6118#true} is VALID [2022-02-20 17:32:36,334 INFO L290 TraceCheckUtils]: 23: Hoare triple {6118#true} ~cond := #in~cond; {6118#true} is VALID [2022-02-20 17:32:36,334 INFO L290 TraceCheckUtils]: 24: Hoare triple {6118#true} assume !(0 == ~cond); {6118#true} is VALID [2022-02-20 17:32:36,334 INFO L290 TraceCheckUtils]: 25: Hoare triple {6118#true} assume true; {6118#true} is VALID [2022-02-20 17:32:36,334 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6118#true} {6181#(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))} #67#return; {6181#(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:32:36,334 INFO L272 TraceCheckUtils]: 27: Hoare triple {6181#(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)); {6118#true} is VALID [2022-02-20 17:32:36,335 INFO L290 TraceCheckUtils]: 28: Hoare triple {6118#true} ~cond := #in~cond; {6118#true} is VALID [2022-02-20 17:32:36,335 INFO L290 TraceCheckUtils]: 29: Hoare triple {6118#true} assume !(0 == ~cond); {6118#true} is VALID [2022-02-20 17:32:36,335 INFO L290 TraceCheckUtils]: 30: Hoare triple {6118#true} assume true; {6118#true} is VALID [2022-02-20 17:32:36,335 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {6118#true} {6181#(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))} #69#return; {6181#(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:32:36,336 INFO L272 TraceCheckUtils]: 32: Hoare triple {6181#(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)); {6118#true} is VALID [2022-02-20 17:32:36,336 INFO L290 TraceCheckUtils]: 33: Hoare triple {6118#true} ~cond := #in~cond; {6118#true} is VALID [2022-02-20 17:32:36,336 INFO L290 TraceCheckUtils]: 34: Hoare triple {6118#true} assume !(0 == ~cond); {6118#true} is VALID [2022-02-20 17:32:36,336 INFO L290 TraceCheckUtils]: 35: Hoare triple {6118#true} assume true; {6118#true} is VALID [2022-02-20 17:32:36,336 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6118#true} {6181#(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))} #71#return; {6181#(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:32:36,337 INFO L290 TraceCheckUtils]: 37: Hoare triple {6181#(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); {6181#(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:32:36,337 INFO L290 TraceCheckUtils]: 38: Hoare triple {6181#(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))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {6181#(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:32:36,338 INFO L290 TraceCheckUtils]: 39: Hoare triple {6181#(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_#t~post6#1 < 100);havoc main_#t~post6#1; {6181#(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:32:36,338 INFO L272 TraceCheckUtils]: 40: Hoare triple {6181#(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)); {6118#true} is VALID [2022-02-20 17:32:36,338 INFO L290 TraceCheckUtils]: 41: Hoare triple {6118#true} ~cond := #in~cond; {6118#true} is VALID [2022-02-20 17:32:36,338 INFO L290 TraceCheckUtils]: 42: Hoare triple {6118#true} assume !(0 == ~cond); {6118#true} is VALID [2022-02-20 17:32:36,338 INFO L290 TraceCheckUtils]: 43: Hoare triple {6118#true} assume true; {6118#true} is VALID [2022-02-20 17:32:36,339 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6118#true} {6181#(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))} #73#return; {6181#(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:32:36,339 INFO L272 TraceCheckUtils]: 45: Hoare triple {6181#(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)); {6118#true} is VALID [2022-02-20 17:32:36,339 INFO L290 TraceCheckUtils]: 46: Hoare triple {6118#true} ~cond := #in~cond; {6118#true} is VALID [2022-02-20 17:32:36,339 INFO L290 TraceCheckUtils]: 47: Hoare triple {6118#true} assume !(0 == ~cond); {6118#true} is VALID [2022-02-20 17:32:36,339 INFO L290 TraceCheckUtils]: 48: Hoare triple {6118#true} assume true; {6118#true} is VALID [2022-02-20 17:32:36,340 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {6118#true} {6181#(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))} #75#return; {6181#(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:32:36,340 INFO L290 TraceCheckUtils]: 50: Hoare triple {6181#(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); {6126#(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:32:36,341 INFO L290 TraceCheckUtils]: 51: Hoare triple {6126#(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; {6278#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| (+ |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#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:32:36,342 INFO L290 TraceCheckUtils]: 52: Hoare triple {6278#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| (+ |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#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))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {6278#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| (+ |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#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:32:36,342 INFO L290 TraceCheckUtils]: 53: Hoare triple {6278#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| (+ |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#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 !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {6278#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| (+ |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#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:32:36,342 INFO L272 TraceCheckUtils]: 54: Hoare triple {6278#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| (+ |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#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)); {6118#true} is VALID [2022-02-20 17:32:36,343 INFO L290 TraceCheckUtils]: 55: Hoare triple {6118#true} ~cond := #in~cond; {6291#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:36,343 INFO L290 TraceCheckUtils]: 56: Hoare triple {6291#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6295#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:32:36,343 INFO L290 TraceCheckUtils]: 57: Hoare triple {6295#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6295#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:32:36,346 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {6295#(not (= |__VERIFIER_assert_#in~cond| 0))} {6278#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| (+ |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#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))} #73#return; {6302#(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:32:36,346 INFO L272 TraceCheckUtils]: 59: Hoare triple {6302#(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)); {6118#true} is VALID [2022-02-20 17:32:36,348 INFO L290 TraceCheckUtils]: 60: Hoare triple {6118#true} ~cond := #in~cond; {6291#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:36,350 INFO L290 TraceCheckUtils]: 61: Hoare triple {6291#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6295#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:32:36,351 INFO L290 TraceCheckUtils]: 62: Hoare triple {6295#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6295#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:32:36,351 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {6295#(not (= |__VERIFIER_assert_#in~cond| 0))} {6302#(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))} #75#return; {6318#(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:32:36,352 INFO L290 TraceCheckUtils]: 64: Hoare triple {6318#(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); {6322#(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:32:36,352 INFO L272 TraceCheckUtils]: 65: Hoare triple {6322#(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)); {6326#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:32:36,353 INFO L290 TraceCheckUtils]: 66: Hoare triple {6326#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6330#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:36,353 INFO L290 TraceCheckUtils]: 67: Hoare triple {6330#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6119#false} is VALID [2022-02-20 17:32:36,353 INFO L290 TraceCheckUtils]: 68: Hoare triple {6119#false} assume !false; {6119#false} is VALID [2022-02-20 17:32:36,353 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 66 proven. 13 refuted. 0 times theorem prover too weak. 132 trivial. 0 not checked. [2022-02-20 17:32:36,353 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:32:48,210 INFO L290 TraceCheckUtils]: 68: Hoare triple {6119#false} assume !false; {6119#false} is VALID [2022-02-20 17:32:48,211 INFO L290 TraceCheckUtils]: 67: Hoare triple {6330#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6119#false} is VALID [2022-02-20 17:32:48,211 INFO L290 TraceCheckUtils]: 66: Hoare triple {6326#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6330#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:48,212 INFO L272 TraceCheckUtils]: 65: Hoare triple {6346#(= (+ (* |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)); {6326#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:32:48,212 INFO L290 TraceCheckUtils]: 64: Hoare triple {6350#(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); {6346#(= (+ (* |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:32:48,213 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {6295#(not (= |__VERIFIER_assert_#in~cond| 0))} {6354#(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|))} #75#return; {6350#(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:32:48,214 INFO L290 TraceCheckUtils]: 62: Hoare triple {6295#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6295#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:32:48,214 INFO L290 TraceCheckUtils]: 61: Hoare triple {6364#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6295#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:32:48,214 INFO L290 TraceCheckUtils]: 60: Hoare triple {6118#true} ~cond := #in~cond; {6364#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:32:48,215 INFO L272 TraceCheckUtils]: 59: Hoare triple {6354#(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)); {6118#true} is VALID [2022-02-20 17:32:48,217 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {6295#(not (= |__VERIFIER_assert_#in~cond| 0))} {6118#true} #73#return; {6354#(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:32:48,217 INFO L290 TraceCheckUtils]: 57: Hoare triple {6295#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6295#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:32:48,218 INFO L290 TraceCheckUtils]: 56: Hoare triple {6364#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6295#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:32:48,218 INFO L290 TraceCheckUtils]: 55: Hoare triple {6118#true} ~cond := #in~cond; {6364#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:32:48,218 INFO L272 TraceCheckUtils]: 54: Hoare triple {6118#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)); {6118#true} is VALID [2022-02-20 17:32:48,218 INFO L290 TraceCheckUtils]: 53: Hoare triple {6118#true} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {6118#true} is VALID [2022-02-20 17:32:48,218 INFO L290 TraceCheckUtils]: 52: Hoare triple {6118#true} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {6118#true} is VALID [2022-02-20 17:32:48,218 INFO L290 TraceCheckUtils]: 51: Hoare triple {6118#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; {6118#true} is VALID [2022-02-20 17:32:48,219 INFO L290 TraceCheckUtils]: 50: Hoare triple {6118#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); {6118#true} is VALID [2022-02-20 17:32:48,219 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {6118#true} {6118#true} #75#return; {6118#true} is VALID [2022-02-20 17:32:48,219 INFO L290 TraceCheckUtils]: 48: Hoare triple {6118#true} assume true; {6118#true} is VALID [2022-02-20 17:32:48,219 INFO L290 TraceCheckUtils]: 47: Hoare triple {6118#true} assume !(0 == ~cond); {6118#true} is VALID [2022-02-20 17:32:48,219 INFO L290 TraceCheckUtils]: 46: Hoare triple {6118#true} ~cond := #in~cond; {6118#true} is VALID [2022-02-20 17:32:48,219 INFO L272 TraceCheckUtils]: 45: Hoare triple {6118#true} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {6118#true} is VALID [2022-02-20 17:32:48,219 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6118#true} {6118#true} #73#return; {6118#true} is VALID [2022-02-20 17:32:48,219 INFO L290 TraceCheckUtils]: 43: Hoare triple {6118#true} assume true; {6118#true} is VALID [2022-02-20 17:32:48,220 INFO L290 TraceCheckUtils]: 42: Hoare triple {6118#true} assume !(0 == ~cond); {6118#true} is VALID [2022-02-20 17:32:48,220 INFO L290 TraceCheckUtils]: 41: Hoare triple {6118#true} ~cond := #in~cond; {6118#true} is VALID [2022-02-20 17:32:48,220 INFO L272 TraceCheckUtils]: 40: Hoare triple {6118#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)); {6118#true} is VALID [2022-02-20 17:32:48,220 INFO L290 TraceCheckUtils]: 39: Hoare triple {6118#true} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {6118#true} is VALID [2022-02-20 17:32:48,220 INFO L290 TraceCheckUtils]: 38: Hoare triple {6118#true} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {6118#true} is VALID [2022-02-20 17:32:48,220 INFO L290 TraceCheckUtils]: 37: Hoare triple {6118#true} assume !(main_~r~0#1 >= main_~d~0#1); {6118#true} is VALID [2022-02-20 17:32:48,220 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6118#true} {6118#true} #71#return; {6118#true} is VALID [2022-02-20 17:32:48,220 INFO L290 TraceCheckUtils]: 35: Hoare triple {6118#true} assume true; {6118#true} is VALID [2022-02-20 17:32:48,221 INFO L290 TraceCheckUtils]: 34: Hoare triple {6118#true} assume !(0 == ~cond); {6118#true} is VALID [2022-02-20 17:32:48,221 INFO L290 TraceCheckUtils]: 33: Hoare triple {6118#true} ~cond := #in~cond; {6118#true} is VALID [2022-02-20 17:32:48,221 INFO L272 TraceCheckUtils]: 32: Hoare triple {6118#true} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {6118#true} is VALID [2022-02-20 17:32:48,221 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {6118#true} {6118#true} #69#return; {6118#true} is VALID [2022-02-20 17:32:48,221 INFO L290 TraceCheckUtils]: 30: Hoare triple {6118#true} assume true; {6118#true} is VALID [2022-02-20 17:32:48,221 INFO L290 TraceCheckUtils]: 29: Hoare triple {6118#true} assume !(0 == ~cond); {6118#true} is VALID [2022-02-20 17:32:48,221 INFO L290 TraceCheckUtils]: 28: Hoare triple {6118#true} ~cond := #in~cond; {6118#true} is VALID [2022-02-20 17:32:48,221 INFO L272 TraceCheckUtils]: 27: Hoare triple {6118#true} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {6118#true} is VALID [2022-02-20 17:32:48,221 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6118#true} {6118#true} #67#return; {6118#true} is VALID [2022-02-20 17:32:48,222 INFO L290 TraceCheckUtils]: 25: Hoare triple {6118#true} assume true; {6118#true} is VALID [2022-02-20 17:32:48,222 INFO L290 TraceCheckUtils]: 24: Hoare triple {6118#true} assume !(0 == ~cond); {6118#true} is VALID [2022-02-20 17:32:48,222 INFO L290 TraceCheckUtils]: 23: Hoare triple {6118#true} ~cond := #in~cond; {6118#true} is VALID [2022-02-20 17:32:48,222 INFO L272 TraceCheckUtils]: 22: Hoare triple {6118#true} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {6118#true} is VALID [2022-02-20 17:32:48,222 INFO L290 TraceCheckUtils]: 21: Hoare triple {6118#true} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {6118#true} is VALID [2022-02-20 17:32:48,222 INFO L290 TraceCheckUtils]: 20: Hoare triple {6118#true} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {6118#true} is VALID [2022-02-20 17:32:48,222 INFO L290 TraceCheckUtils]: 19: Hoare triple {6118#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; {6118#true} is VALID [2022-02-20 17:32:48,222 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6118#true} {6118#true} #71#return; {6118#true} is VALID [2022-02-20 17:32:48,223 INFO L290 TraceCheckUtils]: 17: Hoare triple {6118#true} assume true; {6118#true} is VALID [2022-02-20 17:32:48,223 INFO L290 TraceCheckUtils]: 16: Hoare triple {6118#true} assume !(0 == ~cond); {6118#true} is VALID [2022-02-20 17:32:48,223 INFO L290 TraceCheckUtils]: 15: Hoare triple {6118#true} ~cond := #in~cond; {6118#true} is VALID [2022-02-20 17:32:48,223 INFO L272 TraceCheckUtils]: 14: Hoare triple {6118#true} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {6118#true} is VALID [2022-02-20 17:32:48,223 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {6118#true} {6118#true} #69#return; {6118#true} is VALID [2022-02-20 17:32:48,223 INFO L290 TraceCheckUtils]: 12: Hoare triple {6118#true} assume true; {6118#true} is VALID [2022-02-20 17:32:48,223 INFO L290 TraceCheckUtils]: 11: Hoare triple {6118#true} assume !(0 == ~cond); {6118#true} is VALID [2022-02-20 17:32:48,223 INFO L290 TraceCheckUtils]: 10: Hoare triple {6118#true} ~cond := #in~cond; {6118#true} is VALID [2022-02-20 17:32:48,223 INFO L272 TraceCheckUtils]: 9: Hoare triple {6118#true} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {6118#true} is VALID [2022-02-20 17:32:48,224 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {6118#true} {6118#true} #67#return; {6118#true} is VALID [2022-02-20 17:32:48,224 INFO L290 TraceCheckUtils]: 7: Hoare triple {6118#true} assume true; {6118#true} is VALID [2022-02-20 17:32:48,224 INFO L290 TraceCheckUtils]: 6: Hoare triple {6118#true} assume !(0 == ~cond); {6118#true} is VALID [2022-02-20 17:32:48,224 INFO L290 TraceCheckUtils]: 5: Hoare triple {6118#true} ~cond := #in~cond; {6118#true} is VALID [2022-02-20 17:32:48,224 INFO L272 TraceCheckUtils]: 4: Hoare triple {6118#true} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {6118#true} is VALID [2022-02-20 17:32:48,224 INFO L290 TraceCheckUtils]: 3: Hoare triple {6118#true} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {6118#true} is VALID [2022-02-20 17:32:48,224 INFO L290 TraceCheckUtils]: 2: Hoare triple {6118#true} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {6118#true} is VALID [2022-02-20 17:32:48,224 INFO L290 TraceCheckUtils]: 1: Hoare triple {6118#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~post6#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;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; {6118#true} is VALID [2022-02-20 17:32:48,225 INFO L290 TraceCheckUtils]: 0: Hoare triple {6118#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);~counter~0 := 0; {6118#true} is VALID [2022-02-20 17:32:48,225 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 68 proven. 2 refuted. 0 times theorem prover too weak. 141 trivial. 0 not checked. [2022-02-20 17:32:48,225 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:48,225 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1379930529] [2022-02-20 17:32:48,225 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:32:48,225 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [674889453] [2022-02-20 17:32:48,225 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [674889453] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:32:48,226 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:32:48,226 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-02-20 17:32:48,226 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1415272811] [2022-02-20 17:32:48,226 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:32:48,226 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 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 69 [2022-02-20 17:32:48,227 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:48,227 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 16 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 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:32:48,286 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:48,287 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-20 17:32:48,287 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:48,287 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-20 17:32:48,287 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=189, Unknown=0, NotChecked=0, Total=240 [2022-02-20 17:32:48,287 INFO L87 Difference]: Start difference. First operand 270 states and 337 transitions. Second operand has 16 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 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:32:49,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:49,587 INFO L93 Difference]: Finished difference Result 331 states and 412 transitions. [2022-02-20 17:32:49,587 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 17:32:49,587 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 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 69 [2022-02-20 17:32:49,588 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:49,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 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:32:49,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 122 transitions. [2022-02-20 17:32:49,592 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 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:32:49,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 122 transitions. [2022-02-20 17:32:49,594 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 122 transitions. [2022-02-20 17:32:49,705 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:49,709 INFO L225 Difference]: With dead ends: 331 [2022-02-20 17:32:49,709 INFO L226 Difference]: Without dead ends: 235 [2022-02-20 17:32:49,709 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 140 GetRequests, 120 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:32:49,710 INFO L933 BasicCegarLoop]: 31 mSDtfsCounter, 44 mSDsluCounter, 238 mSDsCounter, 0 mSdLazyCounter, 349 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 57 SdHoareTripleChecker+Valid, 269 SdHoareTripleChecker+Invalid, 398 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 349 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 17:32:49,710 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [57 Valid, 269 Invalid, 398 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 349 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-20 17:32:49,710 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 235 states. [2022-02-20 17:32:49,798 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 235 to 219. [2022-02-20 17:32:49,798 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:49,798 INFO L82 GeneralOperation]: Start isEquivalent. First operand 235 states. Second operand has 219 states, 149 states have (on average 1.1946308724832215) internal successors, (178), 153 states have internal predecessors, (178), 43 states have call successors, (43), 27 states have call predecessors, (43), 26 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-02-20 17:32:49,799 INFO L74 IsIncluded]: Start isIncluded. First operand 235 states. Second operand has 219 states, 149 states have (on average 1.1946308724832215) internal successors, (178), 153 states have internal predecessors, (178), 43 states have call successors, (43), 27 states have call predecessors, (43), 26 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-02-20 17:32:49,799 INFO L87 Difference]: Start difference. First operand 235 states. Second operand has 219 states, 149 states have (on average 1.1946308724832215) internal successors, (178), 153 states have internal predecessors, (178), 43 states have call successors, (43), 27 states have call predecessors, (43), 26 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-02-20 17:32:49,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:49,804 INFO L93 Difference]: Finished difference Result 235 states and 279 transitions. [2022-02-20 17:32:49,804 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 279 transitions. [2022-02-20 17:32:49,804 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:49,804 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:49,805 INFO L74 IsIncluded]: Start isIncluded. First operand has 219 states, 149 states have (on average 1.1946308724832215) internal successors, (178), 153 states have internal predecessors, (178), 43 states have call successors, (43), 27 states have call predecessors, (43), 26 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) Second operand 235 states. [2022-02-20 17:32:49,805 INFO L87 Difference]: Start difference. First operand has 219 states, 149 states have (on average 1.1946308724832215) internal successors, (178), 153 states have internal predecessors, (178), 43 states have call successors, (43), 27 states have call predecessors, (43), 26 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) Second operand 235 states. [2022-02-20 17:32:49,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:49,810 INFO L93 Difference]: Finished difference Result 235 states and 279 transitions. [2022-02-20 17:32:49,810 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 279 transitions. [2022-02-20 17:32:49,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:49,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:49,811 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:49,811 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:49,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 219 states, 149 states have (on average 1.1946308724832215) internal successors, (178), 153 states have internal predecessors, (178), 43 states have call successors, (43), 27 states have call predecessors, (43), 26 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-02-20 17:32:49,815 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 219 states to 219 states and 262 transitions. [2022-02-20 17:32:49,816 INFO L78 Accepts]: Start accepts. Automaton has 219 states and 262 transitions. Word has length 69 [2022-02-20 17:32:49,816 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:49,816 INFO L470 AbstractCegarLoop]: Abstraction has 219 states and 262 transitions. [2022-02-20 17:32:49,816 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 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:32:49,816 INFO L276 IsEmpty]: Start isEmpty. Operand 219 states and 262 transitions. [2022-02-20 17:32:49,817 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2022-02-20 17:32:49,817 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:49,817 INFO L514 BasicCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:49,835 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:32:50,023 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:50,023 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:50,024 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:50,024 INFO L85 PathProgramCache]: Analyzing trace with hash -1687889621, now seen corresponding path program 1 times [2022-02-20 17:32:50,024 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:50,024 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1576337589] [2022-02-20 17:32:50,024 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:50,024 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:50,032 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:50,034 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1667974133] [2022-02-20 17:32:50,034 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:50,034 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:50,034 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:50,035 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:32:50,036 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:32:50,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:50,073 INFO L263 TraceCheckSpWp]: Trace formula consists of 189 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 17:32:50,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:50,084 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:51,883 INFO L290 TraceCheckUtils]: 0: Hoare triple {7762#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);~counter~0 := 0; {7762#true} is VALID [2022-02-20 17:32:51,885 INFO L290 TraceCheckUtils]: 1: Hoare triple {7762#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~post6#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;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; {7770#(<= 1 |ULTIMATE.start_main_~p~0#1|)} is VALID [2022-02-20 17:32:51,885 INFO L290 TraceCheckUtils]: 2: Hoare triple {7770#(<= 1 |ULTIMATE.start_main_~p~0#1|)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {7770#(<= 1 |ULTIMATE.start_main_~p~0#1|)} is VALID [2022-02-20 17:32:51,886 INFO L290 TraceCheckUtils]: 3: Hoare triple {7770#(<= 1 |ULTIMATE.start_main_~p~0#1|)} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {7770#(<= 1 |ULTIMATE.start_main_~p~0#1|)} is VALID [2022-02-20 17:32:51,886 INFO L272 TraceCheckUtils]: 4: Hoare triple {7770#(<= 1 |ULTIMATE.start_main_~p~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {7762#true} is VALID [2022-02-20 17:32:51,886 INFO L290 TraceCheckUtils]: 5: Hoare triple {7762#true} ~cond := #in~cond; {7762#true} is VALID [2022-02-20 17:32:51,886 INFO L290 TraceCheckUtils]: 6: Hoare triple {7762#true} assume !(0 == ~cond); {7762#true} is VALID [2022-02-20 17:32:51,886 INFO L290 TraceCheckUtils]: 7: Hoare triple {7762#true} assume true; {7762#true} is VALID [2022-02-20 17:32:51,886 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {7762#true} {7770#(<= 1 |ULTIMATE.start_main_~p~0#1|)} #67#return; {7770#(<= 1 |ULTIMATE.start_main_~p~0#1|)} is VALID [2022-02-20 17:32:51,886 INFO L272 TraceCheckUtils]: 9: Hoare triple {7770#(<= 1 |ULTIMATE.start_main_~p~0#1|)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {7762#true} is VALID [2022-02-20 17:32:51,886 INFO L290 TraceCheckUtils]: 10: Hoare triple {7762#true} ~cond := #in~cond; {7762#true} is VALID [2022-02-20 17:32:51,886 INFO L290 TraceCheckUtils]: 11: Hoare triple {7762#true} assume !(0 == ~cond); {7762#true} is VALID [2022-02-20 17:32:51,887 INFO L290 TraceCheckUtils]: 12: Hoare triple {7762#true} assume true; {7762#true} is VALID [2022-02-20 17:32:51,887 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {7762#true} {7770#(<= 1 |ULTIMATE.start_main_~p~0#1|)} #69#return; {7770#(<= 1 |ULTIMATE.start_main_~p~0#1|)} is VALID [2022-02-20 17:32:51,887 INFO L272 TraceCheckUtils]: 14: Hoare triple {7770#(<= 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)); {7762#true} is VALID [2022-02-20 17:32:51,887 INFO L290 TraceCheckUtils]: 15: Hoare triple {7762#true} ~cond := #in~cond; {7762#true} is VALID [2022-02-20 17:32:51,887 INFO L290 TraceCheckUtils]: 16: Hoare triple {7762#true} assume !(0 == ~cond); {7762#true} is VALID [2022-02-20 17:32:51,887 INFO L290 TraceCheckUtils]: 17: Hoare triple {7762#true} assume true; {7762#true} is VALID [2022-02-20 17:32:51,888 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7762#true} {7770#(<= 1 |ULTIMATE.start_main_~p~0#1|)} #71#return; {7770#(<= 1 |ULTIMATE.start_main_~p~0#1|)} is VALID [2022-02-20 17:32:51,888 INFO L290 TraceCheckUtils]: 19: Hoare triple {7770#(<= 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; {7825#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} is VALID [2022-02-20 17:32:51,888 INFO L290 TraceCheckUtils]: 20: Hoare triple {7825#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {7825#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} is VALID [2022-02-20 17:32:51,889 INFO L290 TraceCheckUtils]: 21: Hoare triple {7825#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {7825#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} is VALID [2022-02-20 17:32:51,889 INFO L272 TraceCheckUtils]: 22: Hoare triple {7825#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {7762#true} is VALID [2022-02-20 17:32:51,889 INFO L290 TraceCheckUtils]: 23: Hoare triple {7762#true} ~cond := #in~cond; {7762#true} is VALID [2022-02-20 17:32:51,889 INFO L290 TraceCheckUtils]: 24: Hoare triple {7762#true} assume !(0 == ~cond); {7762#true} is VALID [2022-02-20 17:32:51,891 INFO L290 TraceCheckUtils]: 25: Hoare triple {7762#true} assume true; {7762#true} is VALID [2022-02-20 17:32:51,891 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7762#true} {7825#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} #67#return; {7825#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} is VALID [2022-02-20 17:32:51,891 INFO L272 TraceCheckUtils]: 27: Hoare triple {7825#(<= 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)); {7762#true} is VALID [2022-02-20 17:32:51,891 INFO L290 TraceCheckUtils]: 28: Hoare triple {7762#true} ~cond := #in~cond; {7762#true} is VALID [2022-02-20 17:32:51,892 INFO L290 TraceCheckUtils]: 29: Hoare triple {7762#true} assume !(0 == ~cond); {7762#true} is VALID [2022-02-20 17:32:51,892 INFO L290 TraceCheckUtils]: 30: Hoare triple {7762#true} assume true; {7762#true} is VALID [2022-02-20 17:32:51,892 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {7762#true} {7825#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} #69#return; {7825#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} is VALID [2022-02-20 17:32:51,892 INFO L272 TraceCheckUtils]: 32: Hoare triple {7825#(<= 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)); {7762#true} is VALID [2022-02-20 17:32:51,892 INFO L290 TraceCheckUtils]: 33: Hoare triple {7762#true} ~cond := #in~cond; {7762#true} is VALID [2022-02-20 17:32:51,892 INFO L290 TraceCheckUtils]: 34: Hoare triple {7762#true} assume !(0 == ~cond); {7762#true} is VALID [2022-02-20 17:32:51,892 INFO L290 TraceCheckUtils]: 35: Hoare triple {7762#true} assume true; {7762#true} is VALID [2022-02-20 17:32:51,893 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7762#true} {7825#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} #71#return; {7825#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} is VALID [2022-02-20 17:32:51,893 INFO L290 TraceCheckUtils]: 37: Hoare triple {7825#(<= 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; {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:32:51,894 INFO L290 TraceCheckUtils]: 38: Hoare triple {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:32:51,894 INFO L290 TraceCheckUtils]: 39: Hoare triple {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:32:51,894 INFO L272 TraceCheckUtils]: 40: Hoare triple {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {7762#true} is VALID [2022-02-20 17:32:51,894 INFO L290 TraceCheckUtils]: 41: Hoare triple {7762#true} ~cond := #in~cond; {7762#true} is VALID [2022-02-20 17:32:51,894 INFO L290 TraceCheckUtils]: 42: Hoare triple {7762#true} assume !(0 == ~cond); {7762#true} is VALID [2022-02-20 17:32:51,894 INFO L290 TraceCheckUtils]: 43: Hoare triple {7762#true} assume true; {7762#true} is VALID [2022-02-20 17:32:51,895 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7762#true} {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} #67#return; {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:32:51,895 INFO L272 TraceCheckUtils]: 45: Hoare triple {7880#(<= 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)); {7762#true} is VALID [2022-02-20 17:32:51,895 INFO L290 TraceCheckUtils]: 46: Hoare triple {7762#true} ~cond := #in~cond; {7762#true} is VALID [2022-02-20 17:32:51,895 INFO L290 TraceCheckUtils]: 47: Hoare triple {7762#true} assume !(0 == ~cond); {7762#true} is VALID [2022-02-20 17:32:51,895 INFO L290 TraceCheckUtils]: 48: Hoare triple {7762#true} assume true; {7762#true} is VALID [2022-02-20 17:32:51,896 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {7762#true} {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} #69#return; {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:32:51,896 INFO L272 TraceCheckUtils]: 50: Hoare triple {7880#(<= 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)); {7762#true} is VALID [2022-02-20 17:32:51,896 INFO L290 TraceCheckUtils]: 51: Hoare triple {7762#true} ~cond := #in~cond; {7762#true} is VALID [2022-02-20 17:32:51,896 INFO L290 TraceCheckUtils]: 52: Hoare triple {7762#true} assume !(0 == ~cond); {7762#true} is VALID [2022-02-20 17:32:51,896 INFO L290 TraceCheckUtils]: 53: Hoare triple {7762#true} assume true; {7762#true} is VALID [2022-02-20 17:32:51,896 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7762#true} {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} #71#return; {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:32:51,897 INFO L290 TraceCheckUtils]: 55: Hoare triple {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} assume !(main_~r~0#1 >= main_~d~0#1); {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:32:51,897 INFO L290 TraceCheckUtils]: 56: Hoare triple {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:32:51,897 INFO L290 TraceCheckUtils]: 57: Hoare triple {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:32:51,897 INFO L272 TraceCheckUtils]: 58: Hoare triple {7880#(<= 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)); {7762#true} is VALID [2022-02-20 17:32:51,897 INFO L290 TraceCheckUtils]: 59: Hoare triple {7762#true} ~cond := #in~cond; {7762#true} is VALID [2022-02-20 17:32:51,897 INFO L290 TraceCheckUtils]: 60: Hoare triple {7762#true} assume !(0 == ~cond); {7762#true} is VALID [2022-02-20 17:32:51,897 INFO L290 TraceCheckUtils]: 61: Hoare triple {7762#true} assume true; {7762#true} is VALID [2022-02-20 17:32:51,898 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7762#true} {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} #73#return; {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:32:51,898 INFO L272 TraceCheckUtils]: 63: Hoare triple {7880#(<= 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)); {7762#true} is VALID [2022-02-20 17:32:51,898 INFO L290 TraceCheckUtils]: 64: Hoare triple {7762#true} ~cond := #in~cond; {7762#true} is VALID [2022-02-20 17:32:51,898 INFO L290 TraceCheckUtils]: 65: Hoare triple {7762#true} assume !(0 == ~cond); {7762#true} is VALID [2022-02-20 17:32:51,898 INFO L290 TraceCheckUtils]: 66: Hoare triple {7762#true} assume true; {7762#true} is VALID [2022-02-20 17:32:51,899 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7762#true} {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} #75#return; {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:32:51,899 INFO L290 TraceCheckUtils]: 68: Hoare triple {7880#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} assume !(1 != main_~p~0#1); {7763#false} is VALID [2022-02-20 17:32:51,899 INFO L272 TraceCheckUtils]: 69: Hoare triple {7763#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)); {7763#false} is VALID [2022-02-20 17:32:51,899 INFO L290 TraceCheckUtils]: 70: Hoare triple {7763#false} ~cond := #in~cond; {7763#false} is VALID [2022-02-20 17:32:51,899 INFO L290 TraceCheckUtils]: 71: Hoare triple {7763#false} assume !(0 == ~cond); {7763#false} is VALID [2022-02-20 17:32:51,899 INFO L290 TraceCheckUtils]: 72: Hoare triple {7763#false} assume true; {7763#false} is VALID [2022-02-20 17:32:51,899 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {7763#false} {7763#false} #77#return; {7763#false} is VALID [2022-02-20 17:32:51,899 INFO L272 TraceCheckUtils]: 74: Hoare triple {7763#false} call __VERIFIER_assert((if main_~B~0#1 == main_~d~0#1 then 1 else 0)); {7763#false} is VALID [2022-02-20 17:32:51,899 INFO L290 TraceCheckUtils]: 75: Hoare triple {7763#false} ~cond := #in~cond; {7763#false} is VALID [2022-02-20 17:32:51,899 INFO L290 TraceCheckUtils]: 76: Hoare triple {7763#false} assume 0 == ~cond; {7763#false} is VALID [2022-02-20 17:32:51,899 INFO L290 TraceCheckUtils]: 77: Hoare triple {7763#false} assume !false; {7763#false} is VALID [2022-02-20 17:32:51,900 INFO L134 CoverageAnalysis]: Checked inductivity of 306 backedges. 84 proven. 0 refuted. 0 times theorem prover too weak. 222 trivial. 0 not checked. [2022-02-20 17:32:51,900 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:32:51,900 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:51,900 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1576337589] [2022-02-20 17:32:51,900 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:32:51,900 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1667974133] [2022-02-20 17:32:51,900 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1667974133] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:32:51,900 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:32:51,900 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:32:51,901 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1324156780] [2022-02-20 17:32:51,901 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:51,901 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 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 78 [2022-02-20 17:32:51,902 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:51,902 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 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:32:51,949 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:51,949 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:32:51,949 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:51,950 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:32:51,951 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:32:51,951 INFO L87 Difference]: Start difference. First operand 219 states and 262 transitions. Second operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 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:32:52,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:52,182 INFO L93 Difference]: Finished difference Result 238 states and 285 transitions. [2022-02-20 17:32:52,182 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:32:52,182 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 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 78 [2022-02-20 17:32:52,182 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:52,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 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:32:52,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 84 transitions. [2022-02-20 17:32:52,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 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:32:52,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 84 transitions. [2022-02-20 17:32:52,184 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 84 transitions. [2022-02-20 17:32:52,250 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:52,253 INFO L225 Difference]: With dead ends: 238 [2022-02-20 17:32:52,253 INFO L226 Difference]: Without dead ends: 218 [2022-02-20 17:32:52,254 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 74 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:32:52,254 INFO L933 BasicCegarLoop]: 53 mSDtfsCounter, 24 mSDsluCounter, 56 mSDsCounter, 0 mSdLazyCounter, 33 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 109 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 33 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:32:52,255 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 109 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 33 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:32:52,255 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 218 states. [2022-02-20 17:32:52,336 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 218 to 213. [2022-02-20 17:32:52,337 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:52,337 INFO L82 GeneralOperation]: Start isEquivalent. First operand 218 states. Second operand has 213 states, 146 states have (on average 1.1643835616438356) internal successors, (170), 148 states have internal predecessors, (170), 41 states have call successors, (41), 25 states have call predecessors, (41), 25 states have return successors, (40), 39 states have call predecessors, (40), 40 states have call successors, (40) [2022-02-20 17:32:52,337 INFO L74 IsIncluded]: Start isIncluded. First operand 218 states. Second operand has 213 states, 146 states have (on average 1.1643835616438356) internal successors, (170), 148 states have internal predecessors, (170), 41 states have call successors, (41), 25 states have call predecessors, (41), 25 states have return successors, (40), 39 states have call predecessors, (40), 40 states have call successors, (40) [2022-02-20 17:32:52,338 INFO L87 Difference]: Start difference. First operand 218 states. Second operand has 213 states, 146 states have (on average 1.1643835616438356) internal successors, (170), 148 states have internal predecessors, (170), 41 states have call successors, (41), 25 states have call predecessors, (41), 25 states have return successors, (40), 39 states have call predecessors, (40), 40 states have call successors, (40) [2022-02-20 17:32:52,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:52,342 INFO L93 Difference]: Finished difference Result 218 states and 259 transitions. [2022-02-20 17:32:52,342 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 259 transitions. [2022-02-20 17:32:52,342 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:52,342 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:52,343 INFO L74 IsIncluded]: Start isIncluded. First operand has 213 states, 146 states have (on average 1.1643835616438356) internal successors, (170), 148 states have internal predecessors, (170), 41 states have call successors, (41), 25 states have call predecessors, (41), 25 states have return successors, (40), 39 states have call predecessors, (40), 40 states have call successors, (40) Second operand 218 states. [2022-02-20 17:32:52,343 INFO L87 Difference]: Start difference. First operand has 213 states, 146 states have (on average 1.1643835616438356) internal successors, (170), 148 states have internal predecessors, (170), 41 states have call successors, (41), 25 states have call predecessors, (41), 25 states have return successors, (40), 39 states have call predecessors, (40), 40 states have call successors, (40) Second operand 218 states. [2022-02-20 17:32:52,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:52,346 INFO L93 Difference]: Finished difference Result 218 states and 259 transitions. [2022-02-20 17:32:52,347 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 259 transitions. [2022-02-20 17:32:52,347 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:52,347 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:52,347 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:52,347 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:52,348 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 213 states, 146 states have (on average 1.1643835616438356) internal successors, (170), 148 states have internal predecessors, (170), 41 states have call successors, (41), 25 states have call predecessors, (41), 25 states have return successors, (40), 39 states have call predecessors, (40), 40 states have call successors, (40) [2022-02-20 17:32:52,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 213 states to 213 states and 251 transitions. [2022-02-20 17:32:52,351 INFO L78 Accepts]: Start accepts. Automaton has 213 states and 251 transitions. Word has length 78 [2022-02-20 17:32:52,351 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:52,351 INFO L470 AbstractCegarLoop]: Abstraction has 213 states and 251 transitions. [2022-02-20 17:32:52,352 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 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:32:52,352 INFO L276 IsEmpty]: Start isEmpty. Operand 213 states and 251 transitions. [2022-02-20 17:32:52,352 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-02-20 17:32:52,352 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:52,352 INFO L514 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1] [2022-02-20 17:32:52,371 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:32:52,567 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,SelfDestructingSolverStorable11 [2022-02-20 17:32:52,568 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:52,568 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:52,568 INFO L85 PathProgramCache]: Analyzing trace with hash 1611798954, now seen corresponding path program 2 times [2022-02-20 17:32:52,568 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:52,568 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [694237579] [2022-02-20 17:32:52,568 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:52,568 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:52,581 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:52,581 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [121004860] [2022-02-20 17:32:52,581 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 17:32:52,581 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:52,581 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:52,582 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:32:52,583 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:32:52,626 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 17:32:52,626 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 17:32:52,627 INFO L263 TraceCheckSpWp]: Trace formula consists of 226 conjuncts, 37 conjunts are in the unsatisfiable core [2022-02-20 17:32:52,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:52,643 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:53,286 INFO L290 TraceCheckUtils]: 0: Hoare triple {9044#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);~counter~0 := 0; {9044#true} is VALID [2022-02-20 17:32:53,287 INFO L290 TraceCheckUtils]: 1: Hoare triple {9044#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~post6#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;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; {9052#(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:53,287 INFO L290 TraceCheckUtils]: 2: Hoare triple {9052#(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))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {9052#(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:53,288 INFO L290 TraceCheckUtils]: 3: Hoare triple {9052#(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_#t~post5#1 < 100);havoc main_#t~post5#1; {9052#(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:53,288 INFO L272 TraceCheckUtils]: 4: Hoare triple {9052#(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)); {9044#true} is VALID [2022-02-20 17:32:53,288 INFO L290 TraceCheckUtils]: 5: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:32:53,288 INFO L290 TraceCheckUtils]: 6: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:32:53,288 INFO L290 TraceCheckUtils]: 7: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:32:53,289 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {9044#true} {9052#(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))} #67#return; {9052#(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:53,289 INFO L272 TraceCheckUtils]: 9: Hoare triple {9052#(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)); {9044#true} is VALID [2022-02-20 17:32:53,289 INFO L290 TraceCheckUtils]: 10: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:32:53,289 INFO L290 TraceCheckUtils]: 11: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:32:53,289 INFO L290 TraceCheckUtils]: 12: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:32:53,290 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {9044#true} {9052#(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))} #69#return; {9052#(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:53,290 INFO L272 TraceCheckUtils]: 14: Hoare triple {9052#(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)); {9044#true} is VALID [2022-02-20 17:32:53,290 INFO L290 TraceCheckUtils]: 15: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:32:53,290 INFO L290 TraceCheckUtils]: 16: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:32:53,290 INFO L290 TraceCheckUtils]: 17: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:32:53,291 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {9044#true} {9052#(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))} #71#return; {9052#(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:53,292 INFO L290 TraceCheckUtils]: 19: Hoare triple {9052#(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; {9107#(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:53,292 INFO L290 TraceCheckUtils]: 20: Hoare triple {9107#(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))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {9107#(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:53,293 INFO L290 TraceCheckUtils]: 21: Hoare triple {9107#(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_#t~post5#1 < 100);havoc main_#t~post5#1; {9107#(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:53,293 INFO L272 TraceCheckUtils]: 22: Hoare triple {9107#(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)); {9044#true} is VALID [2022-02-20 17:32:53,293 INFO L290 TraceCheckUtils]: 23: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:32:53,293 INFO L290 TraceCheckUtils]: 24: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:32:53,293 INFO L290 TraceCheckUtils]: 25: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:32:53,294 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9044#true} {9107#(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))} #67#return; {9107#(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:53,294 INFO L272 TraceCheckUtils]: 27: Hoare triple {9107#(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)); {9044#true} is VALID [2022-02-20 17:32:53,294 INFO L290 TraceCheckUtils]: 28: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:32:53,294 INFO L290 TraceCheckUtils]: 29: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:32:53,294 INFO L290 TraceCheckUtils]: 30: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:32:53,295 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {9044#true} {9107#(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))} #69#return; {9107#(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:53,295 INFO L272 TraceCheckUtils]: 32: Hoare triple {9107#(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)); {9044#true} is VALID [2022-02-20 17:32:53,295 INFO L290 TraceCheckUtils]: 33: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:32:53,295 INFO L290 TraceCheckUtils]: 34: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:32:53,295 INFO L290 TraceCheckUtils]: 35: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:32:53,296 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {9044#true} {9107#(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))} #71#return; {9107#(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:53,297 INFO L290 TraceCheckUtils]: 37: Hoare triple {9107#(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);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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:53,297 INFO L290 TraceCheckUtils]: 38: Hoare triple {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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:53,297 INFO L290 TraceCheckUtils]: 39: Hoare triple {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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_#t~post5#1 < 100);havoc main_#t~post5#1; {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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:53,298 INFO L272 TraceCheckUtils]: 40: Hoare triple {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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)); {9044#true} is VALID [2022-02-20 17:32:53,298 INFO L290 TraceCheckUtils]: 41: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:32:53,298 INFO L290 TraceCheckUtils]: 42: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:32:53,298 INFO L290 TraceCheckUtils]: 43: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:32:53,299 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9044#true} {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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))} #67#return; {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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:53,299 INFO L272 TraceCheckUtils]: 45: Hoare triple {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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)); {9044#true} is VALID [2022-02-20 17:32:53,299 INFO L290 TraceCheckUtils]: 46: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:32:53,299 INFO L290 TraceCheckUtils]: 47: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:32:53,299 INFO L290 TraceCheckUtils]: 48: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:32:53,300 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {9044#true} {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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))} #69#return; {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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:53,300 INFO L272 TraceCheckUtils]: 50: Hoare triple {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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)); {9044#true} is VALID [2022-02-20 17:32:53,300 INFO L290 TraceCheckUtils]: 51: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:32:53,300 INFO L290 TraceCheckUtils]: 52: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:32:53,300 INFO L290 TraceCheckUtils]: 53: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:32:53,301 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9044#true} {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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))} #71#return; {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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:53,301 INFO L290 TraceCheckUtils]: 55: Hoare triple {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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); {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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:53,302 INFO L290 TraceCheckUtils]: 56: Hoare triple {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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:53,302 INFO L290 TraceCheckUtils]: 57: Hoare triple {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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_#t~post6#1 < 100);havoc main_#t~post6#1; {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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:53,302 INFO L272 TraceCheckUtils]: 58: Hoare triple {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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)); {9044#true} is VALID [2022-02-20 17:32:53,302 INFO L290 TraceCheckUtils]: 59: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:32:53,302 INFO L290 TraceCheckUtils]: 60: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:32:53,303 INFO L290 TraceCheckUtils]: 61: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:32:53,303 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9044#true} {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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))} #73#return; {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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:53,303 INFO L272 TraceCheckUtils]: 63: Hoare triple {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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)); {9044#true} is VALID [2022-02-20 17:32:53,303 INFO L290 TraceCheckUtils]: 64: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:32:53,304 INFO L290 TraceCheckUtils]: 65: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:32:53,304 INFO L290 TraceCheckUtils]: 66: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:32:53,304 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9044#true} {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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))} #75#return; {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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:53,305 INFO L290 TraceCheckUtils]: 68: Hoare triple {9162#(and (= |ULTIMATE.start_main_~p~0#1| 4) (= |ULTIMATE.start_main_~d~0#1| (* |ULTIMATE.start_main_~B~0#1| 4)) (= |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); {9107#(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:53,305 INFO L290 TraceCheckUtils]: 69: Hoare triple {9107#(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;main_~r~0#1 := main_~r~0#1 - main_~d~0#1;main_~q~0#1 := main_~q~0#1 + main_~p~0#1; {9259#(and (= |ULTIMATE.start_main_~r~0#1| (+ |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))) (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:53,306 INFO L290 TraceCheckUtils]: 70: Hoare triple {9259#(and (= |ULTIMATE.start_main_~r~0#1| (+ |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))) (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {9259#(and (= |ULTIMATE.start_main_~r~0#1| (+ |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))) (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:53,306 INFO L290 TraceCheckUtils]: 71: Hoare triple {9259#(and (= |ULTIMATE.start_main_~r~0#1| (+ |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))) (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {9259#(and (= |ULTIMATE.start_main_~r~0#1| (+ |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))) (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:53,306 INFO L272 TraceCheckUtils]: 72: Hoare triple {9259#(and (= |ULTIMATE.start_main_~r~0#1| (+ |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))) (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~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)); {9044#true} is VALID [2022-02-20 17:32:53,307 INFO L290 TraceCheckUtils]: 73: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:32:53,307 INFO L290 TraceCheckUtils]: 74: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:32:53,307 INFO L290 TraceCheckUtils]: 75: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:32:53,307 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {9044#true} {9259#(and (= |ULTIMATE.start_main_~r~0#1| (+ |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))) (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #73#return; {9259#(and (= |ULTIMATE.start_main_~r~0#1| (+ |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))) (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:53,308 INFO L272 TraceCheckUtils]: 77: Hoare triple {9259#(and (= |ULTIMATE.start_main_~r~0#1| (+ |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))) (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~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)); {9044#true} is VALID [2022-02-20 17:32:53,308 INFO L290 TraceCheckUtils]: 78: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:32:53,308 INFO L290 TraceCheckUtils]: 79: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:32:53,308 INFO L290 TraceCheckUtils]: 80: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:32:53,308 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {9044#true} {9259#(and (= |ULTIMATE.start_main_~r~0#1| (+ |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))) (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} #75#return; {9259#(and (= |ULTIMATE.start_main_~r~0#1| (+ |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))) (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:53,309 INFO L290 TraceCheckUtils]: 82: Hoare triple {9259#(and (= |ULTIMATE.start_main_~r~0#1| (+ |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))) (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~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); {9299#(and (= (div |ULTIMATE.start_main_~q~0#1| 2) |ULTIMATE.start_main_~p~0#1|) (= (+ (* (- 2) |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~A~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (div (* 2 |ULTIMATE.start_main_~B~0#1|) 2) |ULTIMATE.start_main_~d~0#1|) (= 2 |ULTIMATE.start_main_~q~0#1|) (= |ULTIMATE.start_main_~B~0#1| 1))} is VALID [2022-02-20 17:32:53,310 INFO L290 TraceCheckUtils]: 83: Hoare triple {9299#(and (= (div |ULTIMATE.start_main_~q~0#1| 2) |ULTIMATE.start_main_~p~0#1|) (= (+ (* (- 2) |ULTIMATE.start_main_~B~0#1|) |ULTIMATE.start_main_~A~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (div (* 2 |ULTIMATE.start_main_~B~0#1|) 2) |ULTIMATE.start_main_~d~0#1|) (= 2 |ULTIMATE.start_main_~q~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; {9303#(and (= (+ (- 2) |ULTIMATE.start_main_~q~0#1|) 1) (= |ULTIMATE.start_main_~B~0#1| 1) (= (div (* 2 |ULTIMATE.start_main_~B~0#1|) 2) (+ (* (- 2) |ULTIMATE.start_main_~B~0#1|) (* (- 1) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))} is VALID [2022-02-20 17:32:53,310 INFO L290 TraceCheckUtils]: 84: Hoare triple {9303#(and (= (+ (- 2) |ULTIMATE.start_main_~q~0#1|) 1) (= |ULTIMATE.start_main_~B~0#1| 1) (= (div (* 2 |ULTIMATE.start_main_~B~0#1|) 2) (+ (* (- 2) |ULTIMATE.start_main_~B~0#1|) (* (- 1) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {9303#(and (= (+ (- 2) |ULTIMATE.start_main_~q~0#1|) 1) (= |ULTIMATE.start_main_~B~0#1| 1) (= (div (* 2 |ULTIMATE.start_main_~B~0#1|) 2) (+ (* (- 2) |ULTIMATE.start_main_~B~0#1|) (* (- 1) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))} is VALID [2022-02-20 17:32:53,311 INFO L290 TraceCheckUtils]: 85: Hoare triple {9303#(and (= (+ (- 2) |ULTIMATE.start_main_~q~0#1|) 1) (= |ULTIMATE.start_main_~B~0#1| 1) (= (div (* 2 |ULTIMATE.start_main_~B~0#1|) 2) (+ (* (- 2) |ULTIMATE.start_main_~B~0#1|) (* (- 1) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {9303#(and (= (+ (- 2) |ULTIMATE.start_main_~q~0#1|) 1) (= |ULTIMATE.start_main_~B~0#1| 1) (= (div (* 2 |ULTIMATE.start_main_~B~0#1|) 2) (+ (* (- 2) |ULTIMATE.start_main_~B~0#1|) (* (- 1) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)))} is VALID [2022-02-20 17:32:53,315 INFO L272 TraceCheckUtils]: 86: Hoare triple {9303#(and (= (+ (- 2) |ULTIMATE.start_main_~q~0#1|) 1) (= |ULTIMATE.start_main_~B~0#1| 1) (= (div (* 2 |ULTIMATE.start_main_~B~0#1|) 2) (+ (* (- 2) |ULTIMATE.start_main_~B~0#1|) (* (- 1) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~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)); {9313#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:32:53,316 INFO L290 TraceCheckUtils]: 87: Hoare triple {9313#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9317#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:53,316 INFO L290 TraceCheckUtils]: 88: Hoare triple {9317#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9045#false} is VALID [2022-02-20 17:32:53,316 INFO L290 TraceCheckUtils]: 89: Hoare triple {9045#false} assume !false; {9045#false} is VALID [2022-02-20 17:32:53,316 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 30 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-02-20 17:32:53,317 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:33:20,035 INFO L290 TraceCheckUtils]: 89: Hoare triple {9045#false} assume !false; {9045#false} is VALID [2022-02-20 17:33:20,035 INFO L290 TraceCheckUtils]: 88: Hoare triple {9317#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9045#false} is VALID [2022-02-20 17:33:20,036 INFO L290 TraceCheckUtils]: 87: Hoare triple {9313#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9317#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:33:20,036 INFO L272 TraceCheckUtils]: 86: Hoare triple {9333#(= |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)); {9313#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:33:20,036 INFO L290 TraceCheckUtils]: 85: Hoare triple {9333#(= |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 !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {9333#(= |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:33:20,037 INFO L290 TraceCheckUtils]: 84: Hoare triple {9333#(= |ULTIMATE.start_main_~A~0#1| (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {9333#(= |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:33:20,044 INFO L290 TraceCheckUtils]: 83: Hoare triple {9343#(= (+ |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; {9333#(= |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:33:20,056 INFO L290 TraceCheckUtils]: 82: Hoare triple {9347#(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); {9343#(= (+ |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:33:20,057 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {9044#true} {9347#(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))))))} #75#return; {9347#(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:33:20,057 INFO L290 TraceCheckUtils]: 80: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:33:20,057 INFO L290 TraceCheckUtils]: 79: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:33:20,057 INFO L290 TraceCheckUtils]: 78: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:33:20,057 INFO L272 TraceCheckUtils]: 77: Hoare triple {9347#(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)); {9044#true} is VALID [2022-02-20 17:33:20,058 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {9044#true} {9347#(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))))))} #73#return; {9347#(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:33:20,058 INFO L290 TraceCheckUtils]: 75: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:33:20,058 INFO L290 TraceCheckUtils]: 74: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:33:20,058 INFO L290 TraceCheckUtils]: 73: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:33:20,058 INFO L272 TraceCheckUtils]: 72: Hoare triple {9347#(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)); {9044#true} is VALID [2022-02-20 17:33:20,059 INFO L290 TraceCheckUtils]: 71: Hoare triple {9347#(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_#t~post6#1 < 100);havoc main_#t~post6#1; {9347#(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:33:20,060 INFO L290 TraceCheckUtils]: 70: Hoare triple {9347#(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))))))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {9347#(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:33:20,081 INFO L290 TraceCheckUtils]: 69: Hoare triple {9387#(and (or (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_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)))) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))))) (not (< |ULTIMATE.start_main_~p~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; {9347#(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:33:20,542 INFO L290 TraceCheckUtils]: 68: Hoare triple {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (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); {9387#(and (or (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_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)))) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))))) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} is VALID [2022-02-20 17:33:20,543 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9044#true} {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} #75#return; {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} is VALID [2022-02-20 17:33:20,544 INFO L290 TraceCheckUtils]: 66: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:33:20,544 INFO L290 TraceCheckUtils]: 65: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:33:20,544 INFO L290 TraceCheckUtils]: 64: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:33:20,544 INFO L272 TraceCheckUtils]: 63: Hoare triple {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (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)); {9044#true} is VALID [2022-02-20 17:33:20,545 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9044#true} {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} #73#return; {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} is VALID [2022-02-20 17:33:20,545 INFO L290 TraceCheckUtils]: 61: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:33:20,545 INFO L290 TraceCheckUtils]: 60: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:33:20,545 INFO L290 TraceCheckUtils]: 59: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:33:20,545 INFO L272 TraceCheckUtils]: 58: Hoare triple {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (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)); {9044#true} is VALID [2022-02-20 17:33:20,549 INFO L290 TraceCheckUtils]: 57: Hoare triple {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} assume !!(main_#t~post6#1 < 100);havoc main_#t~post6#1; {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} is VALID [2022-02-20 17:33:20,552 INFO L290 TraceCheckUtils]: 56: Hoare triple {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} is VALID [2022-02-20 17:33:20,555 INFO L290 TraceCheckUtils]: 55: Hoare triple {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (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); {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} is VALID [2022-02-20 17:33:20,556 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9044#true} {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} #71#return; {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} is VALID [2022-02-20 17:33:20,557 INFO L290 TraceCheckUtils]: 53: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:33:20,557 INFO L290 TraceCheckUtils]: 52: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:33:20,557 INFO L290 TraceCheckUtils]: 51: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:33:20,557 INFO L272 TraceCheckUtils]: 50: Hoare triple {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (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)); {9044#true} is VALID [2022-02-20 17:33:20,558 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {9044#true} {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} #69#return; {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} is VALID [2022-02-20 17:33:20,559 INFO L290 TraceCheckUtils]: 48: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:33:20,559 INFO L290 TraceCheckUtils]: 47: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:33:20,559 INFO L290 TraceCheckUtils]: 46: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:33:20,559 INFO L272 TraceCheckUtils]: 45: Hoare triple {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (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)); {9044#true} is VALID [2022-02-20 17:33:20,560 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9044#true} {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} #67#return; {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} is VALID [2022-02-20 17:33:20,560 INFO L290 TraceCheckUtils]: 43: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:33:20,560 INFO L290 TraceCheckUtils]: 42: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:33:20,561 INFO L290 TraceCheckUtils]: 41: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:33:20,561 INFO L272 TraceCheckUtils]: 40: Hoare triple {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (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)); {9044#true} is VALID [2022-02-20 17:33:20,564 INFO L290 TraceCheckUtils]: 39: Hoare triple {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} is VALID [2022-02-20 17:33:20,567 INFO L290 TraceCheckUtils]: 38: Hoare triple {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} is VALID [2022-02-20 17:33:20,707 INFO L290 TraceCheckUtils]: 37: Hoare triple {9387#(and (or (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_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)))) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))))) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} 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; {9391#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (+ (- 2) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)) (or (= (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|)))) (or (and (or (= (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))) |ULTIMATE.start_main_~A~0#1|) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (or (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)))) (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1))) |ULTIMATE.start_main_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 1)))) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))))) (or (and (or (= |ULTIMATE.start_main_~A~0#1| (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|))) (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ 2 |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) (div (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2)) |ULTIMATE.start_main_~B~0#1|)) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)))) (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))) (or (and (or (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0))) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0)))) (or (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (and (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (- 1) (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= (+ (* (- 1) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0))))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} is VALID [2022-02-20 17:33:20,708 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {9044#true} {9387#(and (or (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_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)))) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))))) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} #71#return; {9387#(and (or (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_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)))) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))))) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} is VALID [2022-02-20 17:33:20,708 INFO L290 TraceCheckUtils]: 35: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:33:20,708 INFO L290 TraceCheckUtils]: 34: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:33:20,708 INFO L290 TraceCheckUtils]: 33: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:33:20,709 INFO L272 TraceCheckUtils]: 32: Hoare triple {9387#(and (or (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_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)))) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))))) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {9044#true} is VALID [2022-02-20 17:33:20,709 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {9044#true} {9387#(and (or (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_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)))) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))))) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} #69#return; {9387#(and (or (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_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)))) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))))) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} is VALID [2022-02-20 17:33:20,709 INFO L290 TraceCheckUtils]: 30: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:33:20,709 INFO L290 TraceCheckUtils]: 29: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:33:20,709 INFO L290 TraceCheckUtils]: 28: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:33:20,709 INFO L272 TraceCheckUtils]: 27: Hoare triple {9387#(and (or (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_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)))) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))))) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {9044#true} is VALID [2022-02-20 17:33:20,710 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9044#true} {9387#(and (or (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_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)))) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))))) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} #67#return; {9387#(and (or (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_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)))) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))))) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} is VALID [2022-02-20 17:33:20,710 INFO L290 TraceCheckUtils]: 25: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:33:20,710 INFO L290 TraceCheckUtils]: 24: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:33:20,710 INFO L290 TraceCheckUtils]: 23: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:33:20,710 INFO L272 TraceCheckUtils]: 22: Hoare triple {9387#(and (or (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_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)))) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))))) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {9044#true} is VALID [2022-02-20 17:33:20,712 INFO L290 TraceCheckUtils]: 21: Hoare triple {9387#(and (or (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_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)))) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))))) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {9387#(and (or (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_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)))) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))))) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} is VALID [2022-02-20 17:33:20,713 INFO L290 TraceCheckUtils]: 20: Hoare triple {9387#(and (or (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_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)))) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))))) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {9387#(and (or (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_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)))) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))))) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} is VALID [2022-02-20 17:33:20,735 INFO L290 TraceCheckUtils]: 19: Hoare triple {9539#(= (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1| (* (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 3)) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |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; {9387#(and (or (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_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~B~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)))) |ULTIMATE.start_main_~A~0#1|) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) |ULTIMATE.start_main_~B~0#1|) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|))))) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} is VALID [2022-02-20 17:33:20,735 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {9044#true} {9539#(= (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1| (* (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 3)) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} #71#return; {9539#(= (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1| (* (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 3)) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} is VALID [2022-02-20 17:33:20,736 INFO L290 TraceCheckUtils]: 17: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:33:20,736 INFO L290 TraceCheckUtils]: 16: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:33:20,736 INFO L290 TraceCheckUtils]: 15: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:33:20,736 INFO L272 TraceCheckUtils]: 14: Hoare triple {9539#(= (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1| (* (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 3)) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |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)); {9044#true} is VALID [2022-02-20 17:33:20,736 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {9044#true} {9539#(= (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1| (* (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 3)) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} #69#return; {9539#(= (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1| (* (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 3)) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} is VALID [2022-02-20 17:33:20,736 INFO L290 TraceCheckUtils]: 12: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:33:20,736 INFO L290 TraceCheckUtils]: 11: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:33:20,736 INFO L290 TraceCheckUtils]: 10: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:33:20,737 INFO L272 TraceCheckUtils]: 9: Hoare triple {9539#(= (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1| (* (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 3)) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {9044#true} is VALID [2022-02-20 17:33:20,737 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {9044#true} {9539#(= (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1| (* (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 3)) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} #67#return; {9539#(= (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1| (* (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 3)) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} is VALID [2022-02-20 17:33:20,737 INFO L290 TraceCheckUtils]: 7: Hoare triple {9044#true} assume true; {9044#true} is VALID [2022-02-20 17:33:20,737 INFO L290 TraceCheckUtils]: 6: Hoare triple {9044#true} assume !(0 == ~cond); {9044#true} is VALID [2022-02-20 17:33:20,737 INFO L290 TraceCheckUtils]: 5: Hoare triple {9044#true} ~cond := #in~cond; {9044#true} is VALID [2022-02-20 17:33:20,737 INFO L272 TraceCheckUtils]: 4: Hoare triple {9539#(= (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1| (* (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 3)) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {9044#true} is VALID [2022-02-20 17:33:20,739 INFO L290 TraceCheckUtils]: 3: Hoare triple {9539#(= (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1| (* (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 3)) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} assume !!(main_#t~post5#1 < 100);havoc main_#t~post5#1; {9539#(= (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1| (* (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 3)) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} is VALID [2022-02-20 17:33:20,740 INFO L290 TraceCheckUtils]: 2: Hoare triple {9539#(= (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1| (* (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 3)) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {9539#(= (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1| (* (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 3)) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} is VALID [2022-02-20 17:33:20,740 INFO L290 TraceCheckUtils]: 1: Hoare triple {9044#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~post6#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;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; {9539#(= (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1| (* (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 3)) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} is VALID [2022-02-20 17:33:20,740 INFO L290 TraceCheckUtils]: 0: Hoare triple {9044#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);~counter~0 := 0; {9044#true} is VALID [2022-02-20 17:33:20,741 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 30 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-02-20 17:33:20,741 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:33:20,741 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [694237579] [2022-02-20 17:33:20,742 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:33:20,742 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [121004860] [2022-02-20 17:33:20,742 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [121004860] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:33:20,742 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:33:20,742 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-02-20 17:33:20,742 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [932834912] [2022-02-20 17:33:20,742 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:33:20,742 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.9375) internal successors, (47), 15 states have internal predecessors, (47), 10 states have call successors, (28), 2 states have call predecessors, (28), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) Word has length 90 [2022-02-20 17:33:20,743 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:33:20,743 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.9375) internal successors, (47), 15 states have internal predecessors, (47), 10 states have call successors, (28), 2 states have call predecessors, (28), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-02-20 17:33:21,586 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:33:21,586 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-20 17:33:21,586 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:33:21,586 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-20 17:33:21,586 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=180, Unknown=0, NotChecked=0, Total=240 [2022-02-20 17:33:21,587 INFO L87 Difference]: Start difference. First operand 213 states and 251 transitions. Second operand has 16 states, 16 states have (on average 2.9375) internal successors, (47), 15 states have internal predecessors, (47), 10 states have call successors, (28), 2 states have call predecessors, (28), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26)