./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/nla-digbench-scaling/hard2_unwindbound5.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_unwindbound5.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 5f094e7ea34d2025ab25ab51a4a0b06d8f845826c76dbd06e91f3d4a761fa19b --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:32:23,026 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:32:23,029 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:32:23,091 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:32:23,091 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:32:23,095 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:32:23,096 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:32:23,101 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:32:23,103 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:32:23,108 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:32:23,109 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:32:23,110 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:32:23,110 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:32:23,112 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:32:23,113 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:32:23,117 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:32:23,118 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:32:23,119 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:32:23,121 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:32:23,124 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:32:23,127 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:32:23,128 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:32:23,129 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:32:23,130 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:32:23,133 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:32:23,133 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:32:23,134 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:32:23,135 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:32:23,136 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:32:23,136 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:32:23,137 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:32:23,138 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:32:23,140 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:32:23,141 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:32:23,142 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:32:23,143 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:32:23,143 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:32:23,143 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:32:23,143 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:32:23,144 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:32:23,145 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:32:23,147 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:23,176 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:32:23,183 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:32:23,184 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:32:23,184 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:32:23,185 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:32:23,185 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:32:23,186 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:32:23,186 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:32:23,186 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:32:23,186 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:32:23,187 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:32:23,187 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 17:32:23,188 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:32:23,188 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:32:23,188 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:32:23,188 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:32:23,188 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:32:23,188 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:32:23,189 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:32:23,189 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:32:23,189 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:32:23,189 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:32:23,189 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:32:23,190 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:32:23,190 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:32:23,190 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:32:23,190 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:32:23,192 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:32:23,192 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 17:32:23,192 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 17:32:23,193 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:32:23,193 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:32:23,193 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:32:23,193 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 -> 5f094e7ea34d2025ab25ab51a4a0b06d8f845826c76dbd06e91f3d4a761fa19b [2022-02-20 17:32:23,398 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:32:23,416 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:32:23,418 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:32:23,419 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:32:23,419 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:32:23,420 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/nla-digbench-scaling/hard2_unwindbound5.c [2022-02-20 17:32:23,468 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b548906c7/c9cc073d0b674799bc8cc9435aae3714/FLAG159d6b33d [2022-02-20 17:32:23,826 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:32:23,826 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/hard2_unwindbound5.c [2022-02-20 17:32:23,831 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b548906c7/c9cc073d0b674799bc8cc9435aae3714/FLAG159d6b33d [2022-02-20 17:32:23,844 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b548906c7/c9cc073d0b674799bc8cc9435aae3714 [2022-02-20 17:32:23,846 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:32:23,847 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:32:23,848 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:32:23,849 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:32:23,851 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:32:23,852 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:32:23" (1/1) ... [2022-02-20 17:32:23,853 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@391d4be4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:32:23, skipping insertion in model container [2022-02-20 17:32:23,853 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:32:23" (1/1) ... [2022-02-20 17:32:23,862 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:32:23,871 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:32:24,023 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_unwindbound5.c[526,539] [2022-02-20 17:32:24,051 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:32:24,069 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:32:24,078 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_unwindbound5.c[526,539] [2022-02-20 17:32:24,085 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:32:24,098 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:32:24,099 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:32:24 WrapperNode [2022-02-20 17:32:24,099 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:32:24,100 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:32:24,100 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:32:24,100 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:32:24,106 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:24" (1/1) ... [2022-02-20 17:32:24,111 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:24" (1/1) ... [2022-02-20 17:32:24,136 INFO L137 Inliner]: procedures = 14, calls = 14, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 61 [2022-02-20 17:32:24,137 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:32:24,138 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:32:24,138 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:32:24,138 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:32:24,145 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:24" (1/1) ... [2022-02-20 17:32:24,145 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:24" (1/1) ... [2022-02-20 17:32:24,154 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:24" (1/1) ... [2022-02-20 17:32:24,155 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:24" (1/1) ... [2022-02-20 17:32:24,157 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:24" (1/1) ... [2022-02-20 17:32:24,159 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:24" (1/1) ... [2022-02-20 17:32:24,160 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:24" (1/1) ... [2022-02-20 17:32:24,161 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:32:24,162 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:32:24,162 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:32:24,162 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:32:24,163 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:32:24" (1/1) ... [2022-02-20 17:32:24,169 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:32:24,176 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:24,186 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:24,199 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:24,226 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:32:24,226 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 17:32:24,227 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:32:24,227 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:32:24,227 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:32:24,227 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:32:24,267 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:32:24,268 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:32:24,396 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:32:24,401 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:32:24,401 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 17:32:24,403 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:32:24 BoogieIcfgContainer [2022-02-20 17:32:24,403 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:32:24,404 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:32:24,405 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:32:24,407 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:32:24,407 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:32:23" (1/3) ... [2022-02-20 17:32:24,408 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@28bbf4ab and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:32:24, skipping insertion in model container [2022-02-20 17:32:24,408 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:32:24" (2/3) ... [2022-02-20 17:32:24,408 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@28bbf4ab and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:32:24, skipping insertion in model container [2022-02-20 17:32:24,409 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:32:24" (3/3) ... [2022-02-20 17:32:24,410 INFO L111 eAbstractionObserver]: Analyzing ICFG hard2_unwindbound5.c [2022-02-20 17:32:24,413 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:32:24,413 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:32:24,465 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:32:24,484 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:24,499 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:32:24,517 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:24,519 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2022-02-20 17:32:24,520 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:24,520 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:24,520 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:24,524 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:24,524 INFO L85 PathProgramCache]: Analyzing trace with hash 643118537, now seen corresponding path program 1 times [2022-02-20 17:32:24,532 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:24,533 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1140661838] [2022-02-20 17:32:24,534 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:24,534 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:24,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:24,668 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:24,668 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:24,670 INFO L290 TraceCheckUtils]: 2: Hoare triple {29#true} assume !true; {30#false} is VALID [2022-02-20 17:32:24,670 INFO L290 TraceCheckUtils]: 3: Hoare triple {30#false} assume !true; {30#false} is VALID [2022-02-20 17:32:24,670 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:24,670 INFO L290 TraceCheckUtils]: 5: Hoare triple {30#false} ~cond := #in~cond; {30#false} is VALID [2022-02-20 17:32:24,671 INFO L290 TraceCheckUtils]: 6: Hoare triple {30#false} assume 0 == ~cond; {30#false} is VALID [2022-02-20 17:32:24,671 INFO L290 TraceCheckUtils]: 7: Hoare triple {30#false} assume !false; {30#false} is VALID [2022-02-20 17:32:24,671 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:24,672 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:24,673 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1140661838] [2022-02-20 17:32:24,673 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1140661838] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:32:24,674 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:32:24,674 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 17:32:24,676 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1529592621] [2022-02-20 17:32:24,677 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:24,681 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:24,682 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:24,684 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:24,699 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:24,700 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 17:32:24,700 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:24,722 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 17:32:24,723 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:32:24,725 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:24,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:24,797 INFO L93 Difference]: Finished difference Result 50 states and 83 transitions. [2022-02-20 17:32:24,797 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 17:32:24,797 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:24,797 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:24,798 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:24,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 83 transitions. [2022-02-20 17:32:24,810 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:24,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 83 transitions. [2022-02-20 17:32:24,824 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 83 transitions. [2022-02-20 17:32:24,940 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:24,948 INFO L225 Difference]: With dead ends: 50 [2022-02-20 17:32:24,948 INFO L226 Difference]: Without dead ends: 22 [2022-02-20 17:32:24,951 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:24,954 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:24,955 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:24,967 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2022-02-20 17:32:24,981 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 22. [2022-02-20 17:32:24,981 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:24,982 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:24,982 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:24,983 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:24,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:24,986 INFO L93 Difference]: Finished difference Result 22 states and 32 transitions. [2022-02-20 17:32:24,987 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 32 transitions. [2022-02-20 17:32:24,987 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:24,987 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:24,988 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:24,988 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:24,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:24,991 INFO L93 Difference]: Finished difference Result 22 states and 32 transitions. [2022-02-20 17:32:24,991 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 32 transitions. [2022-02-20 17:32:24,991 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:24,992 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:24,992 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:24,992 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:24,993 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:24,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 32 transitions. [2022-02-20 17:32:24,995 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 32 transitions. Word has length 8 [2022-02-20 17:32:24,995 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:24,996 INFO L470 AbstractCegarLoop]: Abstraction has 22 states and 32 transitions. [2022-02-20 17:32:24,996 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:24,996 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 32 transitions. [2022-02-20 17:32:24,996 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2022-02-20 17:32:24,997 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:24,997 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:24,997 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 17:32:24,997 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:24,998 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:24,998 INFO L85 PathProgramCache]: Analyzing trace with hash 181060127, now seen corresponding path program 1 times [2022-02-20 17:32:24,998 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:24,999 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2078512305] [2022-02-20 17:32:24,999 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:24,999 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:25,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:25,055 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:25,056 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:25,057 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:25,057 INFO L290 TraceCheckUtils]: 3: Hoare triple {180#(= |ULTIMATE.start_main_~q~0#1| 0)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {180#(= |ULTIMATE.start_main_~q~0#1| 0)} is VALID [2022-02-20 17:32:25,058 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:25,059 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:25,059 INFO L290 TraceCheckUtils]: 6: Hoare triple {182#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {179#false} is VALID [2022-02-20 17:32:25,059 INFO L290 TraceCheckUtils]: 7: Hoare triple {179#false} assume !false; {179#false} is VALID [2022-02-20 17:32:25,060 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:25,060 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:25,060 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2078512305] [2022-02-20 17:32:25,060 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2078512305] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:32:25,060 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:32:25,061 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:32:25,061 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [170488594] [2022-02-20 17:32:25,061 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:25,062 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:25,062 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:25,062 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:25,069 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:25,069 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:32:25,070 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:25,070 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:32:25,071 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:32:25,071 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:25,180 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:25,181 INFO L93 Difference]: Finished difference Result 36 states and 51 transitions. [2022-02-20 17:32:25,181 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:32:25,181 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:25,181 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:25,181 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:25,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-02-20 17:32:25,183 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:25,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-02-20 17:32:25,185 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 51 transitions. [2022-02-20 17:32:25,222 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:25,224 INFO L225 Difference]: With dead ends: 36 [2022-02-20 17:32:25,224 INFO L226 Difference]: Without dead ends: 34 [2022-02-20 17:32:25,225 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:25,225 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:25,226 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:25,226 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-02-20 17:32:25,230 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 26. [2022-02-20 17:32:25,230 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:25,231 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:25,231 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:25,232 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:25,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:25,234 INFO L93 Difference]: Finished difference Result 34 states and 49 transitions. [2022-02-20 17:32:25,234 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 49 transitions. [2022-02-20 17:32:25,235 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:25,235 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:25,235 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:25,236 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:25,238 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:25,238 INFO L93 Difference]: Finished difference Result 34 states and 49 transitions. [2022-02-20 17:32:25,238 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 49 transitions. [2022-02-20 17:32:25,239 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:25,239 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:25,239 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:25,239 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:25,239 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:25,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 35 transitions. [2022-02-20 17:32:25,241 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 35 transitions. Word has length 8 [2022-02-20 17:32:25,241 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:25,241 INFO L470 AbstractCegarLoop]: Abstraction has 26 states and 35 transitions. [2022-02-20 17:32:25,241 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:25,242 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 35 transitions. [2022-02-20 17:32:25,242 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2022-02-20 17:32:25,242 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:25,242 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:25,242 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 17:32:25,243 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:25,243 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:25,259 INFO L85 PathProgramCache]: Analyzing trace with hash -712280900, now seen corresponding path program 1 times [2022-02-20 17:32:25,259 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:25,260 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [14359666] [2022-02-20 17:32:25,260 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:25,260 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:25,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:25,289 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:25,290 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:25,291 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:25,291 INFO L290 TraceCheckUtils]: 3: Hoare triple {344#(= |ULTIMATE.start_main_#t~post5#1| 0)} assume !(main_#t~post5#1 < 5);havoc main_#t~post5#1; {342#false} is VALID [2022-02-20 17:32:25,292 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:25,292 INFO L290 TraceCheckUtils]: 5: Hoare triple {342#false} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {342#false} is VALID [2022-02-20 17:32:25,292 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:25,292 INFO L290 TraceCheckUtils]: 7: Hoare triple {342#false} ~cond := #in~cond; {342#false} is VALID [2022-02-20 17:32:25,292 INFO L290 TraceCheckUtils]: 8: Hoare triple {342#false} assume 0 == ~cond; {342#false} is VALID [2022-02-20 17:32:25,292 INFO L290 TraceCheckUtils]: 9: Hoare triple {342#false} assume !false; {342#false} is VALID [2022-02-20 17:32:25,293 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:25,293 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:25,293 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [14359666] [2022-02-20 17:32:25,293 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [14359666] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:32:25,293 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:32:25,294 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 17:32:25,294 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1390530207] [2022-02-20 17:32:25,294 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:25,294 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:25,295 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:25,295 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:25,302 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:25,302 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 17:32:25,302 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:25,303 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 17:32:25,303 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 17:32:25,303 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:25,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:25,369 INFO L93 Difference]: Finished difference Result 42 states and 57 transitions. [2022-02-20 17:32:25,369 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 17:32:25,369 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:25,369 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:25,369 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:25,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 54 transitions. [2022-02-20 17:32:25,371 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:25,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 54 transitions. [2022-02-20 17:32:25,372 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 54 transitions. [2022-02-20 17:32:25,409 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:25,410 INFO L225 Difference]: With dead ends: 42 [2022-02-20 17:32:25,410 INFO L226 Difference]: Without dead ends: 28 [2022-02-20 17:32:25,411 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:25,411 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:25,412 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:25,412 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-02-20 17:32:25,415 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 28. [2022-02-20 17:32:25,415 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:25,415 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:25,415 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:25,416 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:25,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:25,417 INFO L93 Difference]: Finished difference Result 28 states and 37 transitions. [2022-02-20 17:32:25,417 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 37 transitions. [2022-02-20 17:32:25,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:25,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:25,418 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:25,418 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:25,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:25,420 INFO L93 Difference]: Finished difference Result 28 states and 37 transitions. [2022-02-20 17:32:25,420 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 37 transitions. [2022-02-20 17:32:25,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:25,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:25,420 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:25,421 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:25,421 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:25,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 37 transitions. [2022-02-20 17:32:25,422 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 37 transitions. Word has length 10 [2022-02-20 17:32:25,422 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:25,422 INFO L470 AbstractCegarLoop]: Abstraction has 28 states and 37 transitions. [2022-02-20 17:32:25,423 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:25,423 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 37 transitions. [2022-02-20 17:32:25,423 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 17:32:25,423 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:25,423 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:25,423 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 17:32:25,424 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:25,424 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:25,424 INFO L85 PathProgramCache]: Analyzing trace with hash 2036073049, now seen corresponding path program 1 times [2022-02-20 17:32:25,424 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:25,424 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [458045096] [2022-02-20 17:32:25,425 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:25,425 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:25,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:25,493 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 4 [2022-02-20 17:32:25,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:25,499 INFO L290 TraceCheckUtils]: 0: Hoare triple {500#true} ~cond := #in~cond; {500#true} is VALID [2022-02-20 17:32:25,499 INFO L290 TraceCheckUtils]: 1: Hoare triple {500#true} assume !(0 == ~cond); {500#true} is VALID [2022-02-20 17:32:25,499 INFO L290 TraceCheckUtils]: 2: Hoare triple {500#true} assume true; {500#true} is VALID [2022-02-20 17:32:25,500 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:25,500 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:25,501 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:25,501 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:25,502 INFO L290 TraceCheckUtils]: 3: Hoare triple {502#(= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|)} assume !!(main_#t~post5#1 < 5);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:25,502 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:25,502 INFO L290 TraceCheckUtils]: 5: Hoare triple {500#true} ~cond := #in~cond; {500#true} is VALID [2022-02-20 17:32:25,502 INFO L290 TraceCheckUtils]: 6: Hoare triple {500#true} assume !(0 == ~cond); {500#true} is VALID [2022-02-20 17:32:25,502 INFO L290 TraceCheckUtils]: 7: Hoare triple {500#true} assume true; {500#true} is VALID [2022-02-20 17:32:25,503 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:25,504 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:25,504 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:25,504 INFO L290 TraceCheckUtils]: 11: Hoare triple {508#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {501#false} is VALID [2022-02-20 17:32:25,505 INFO L290 TraceCheckUtils]: 12: Hoare triple {501#false} assume !false; {501#false} is VALID [2022-02-20 17:32:25,505 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:25,505 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:25,505 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [458045096] [2022-02-20 17:32:25,505 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [458045096] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:32:25,506 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:32:25,506 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:32:25,506 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1886154700] [2022-02-20 17:32:25,506 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:25,506 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:25,507 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:25,511 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:25,520 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:25,520 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:32:25,520 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:25,521 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:32:25,521 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:32:25,521 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:25,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:25,628 INFO L93 Difference]: Finished difference Result 42 states and 56 transitions. [2022-02-20 17:32:25,628 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:32:25,628 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:25,628 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:25,629 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:25,630 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-02-20 17:32:25,630 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:25,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-02-20 17:32:25,631 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 51 transitions. [2022-02-20 17:32:25,690 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:25,691 INFO L225 Difference]: With dead ends: 42 [2022-02-20 17:32:25,691 INFO L226 Difference]: Without dead ends: 40 [2022-02-20 17:32:25,691 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:25,692 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:25,693 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:25,693 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-02-20 17:32:25,696 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 32. [2022-02-20 17:32:25,696 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:25,696 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:25,696 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:25,697 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:25,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:25,698 INFO L93 Difference]: Finished difference Result 40 states and 54 transitions. [2022-02-20 17:32:25,698 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 54 transitions. [2022-02-20 17:32:25,699 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:25,699 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:25,699 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:25,699 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:25,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:25,701 INFO L93 Difference]: Finished difference Result 40 states and 54 transitions. [2022-02-20 17:32:25,701 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 54 transitions. [2022-02-20 17:32:25,701 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:25,701 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:25,702 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:25,702 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:25,702 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:25,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 40 transitions. [2022-02-20 17:32:25,703 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 40 transitions. Word has length 13 [2022-02-20 17:32:25,704 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:25,704 INFO L470 AbstractCegarLoop]: Abstraction has 32 states and 40 transitions. [2022-02-20 17:32:25,704 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:25,704 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 40 transitions. [2022-02-20 17:32:25,704 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 17:32:25,704 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:25,705 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:32:25,705 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 17:32:25,705 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:25,705 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:25,705 INFO L85 PathProgramCache]: Analyzing trace with hash 380169759, now seen corresponding path program 1 times [2022-02-20 17:32:25,706 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:25,706 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [670255421] [2022-02-20 17:32:25,706 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:25,706 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:25,716 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:25,716 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1292876898] [2022-02-20 17:32:25,717 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:25,717 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:25,717 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:25,718 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:25,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:25,767 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:25,768 INFO L263 TraceCheckSpWp]: Trace formula consists of 71 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 17:32:25,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:25,781 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:25,907 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:25,908 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:25,909 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:25,909 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 < 5);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:25,910 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:25,910 INFO L290 TraceCheckUtils]: 5: Hoare triple {695#true} ~cond := #in~cond; {695#true} is VALID [2022-02-20 17:32:25,910 INFO L290 TraceCheckUtils]: 6: Hoare triple {695#true} assume !(0 == ~cond); {695#true} is VALID [2022-02-20 17:32:25,910 INFO L290 TraceCheckUtils]: 7: Hoare triple {695#true} assume true; {695#true} is VALID [2022-02-20 17:32:25,911 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:25,911 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:25,911 INFO L290 TraceCheckUtils]: 10: Hoare triple {695#true} ~cond := #in~cond; {695#true} is VALID [2022-02-20 17:32:25,911 INFO L290 TraceCheckUtils]: 11: Hoare triple {695#true} assume !(0 == ~cond); {695#true} is VALID [2022-02-20 17:32:25,912 INFO L290 TraceCheckUtils]: 12: Hoare triple {695#true} assume true; {695#true} is VALID [2022-02-20 17:32:25,912 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:25,913 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:25,913 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:25,914 INFO L290 TraceCheckUtils]: 16: Hoare triple {747#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {696#false} is VALID [2022-02-20 17:32:25,914 INFO L290 TraceCheckUtils]: 17: Hoare triple {696#false} assume !false; {696#false} is VALID [2022-02-20 17:32:25,914 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:25,914 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:32:25,914 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:25,923 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [670255421] [2022-02-20 17:32:25,923 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:32:25,924 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1292876898] [2022-02-20 17:32:25,924 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1292876898] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:32:25,924 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:32:25,924 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:32:25,924 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [935638887] [2022-02-20 17:32:25,925 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:25,925 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:25,925 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:25,925 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:25,937 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:25,937 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:32:25,938 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:25,938 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:32:25,938 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:32:25,938 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:26,063 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:26,064 INFO L93 Difference]: Finished difference Result 61 states and 83 transitions. [2022-02-20 17:32:26,064 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:32:26,064 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:26,065 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:26,065 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:26,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 77 transitions. [2022-02-20 17:32:26,066 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:26,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 77 transitions. [2022-02-20 17:32:26,068 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 77 transitions. [2022-02-20 17:32:26,123 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:26,124 INFO L225 Difference]: With dead ends: 61 [2022-02-20 17:32:26,124 INFO L226 Difference]: Without dead ends: 46 [2022-02-20 17:32:26,125 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:26,125 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:26,126 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:26,126 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-02-20 17:32:26,130 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-02-20 17:32:26,130 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:26,131 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:26,131 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:26,131 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:26,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:26,133 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-02-20 17:32:26,133 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 60 transitions. [2022-02-20 17:32:26,134 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:26,134 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:26,134 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:26,134 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:26,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:26,136 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-02-20 17:32:26,136 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 60 transitions. [2022-02-20 17:32:26,136 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:26,137 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:26,137 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:26,137 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:26,137 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:26,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 60 transitions. [2022-02-20 17:32:26,139 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 60 transitions. Word has length 18 [2022-02-20 17:32:26,139 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:26,139 INFO L470 AbstractCegarLoop]: Abstraction has 46 states and 60 transitions. [2022-02-20 17:32:26,139 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:26,139 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 60 transitions. [2022-02-20 17:32:26,139 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-02-20 17:32:26,140 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:26,140 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:26,157 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:26,357 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:26,358 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:26,358 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:26,358 INFO L85 PathProgramCache]: Analyzing trace with hash -461064832, now seen corresponding path program 1 times [2022-02-20 17:32:26,358 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:26,358 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [593025329] [2022-02-20 17:32:26,358 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:26,358 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:26,372 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:26,383 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [721721285] [2022-02-20 17:32:26,383 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:26,383 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:26,384 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:26,400 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:26,434 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:26,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:26,461 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 17:32:26,468 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:26,469 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:26,580 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:26,580 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:26,581 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:26,581 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 < 5);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:26,581 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:26,582 INFO L290 TraceCheckUtils]: 5: Hoare triple {998#true} ~cond := #in~cond; {998#true} is VALID [2022-02-20 17:32:26,582 INFO L290 TraceCheckUtils]: 6: Hoare triple {998#true} assume !(0 == ~cond); {998#true} is VALID [2022-02-20 17:32:26,582 INFO L290 TraceCheckUtils]: 7: Hoare triple {998#true} assume true; {998#true} is VALID [2022-02-20 17:32:26,582 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:26,583 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:26,583 INFO L290 TraceCheckUtils]: 10: Hoare triple {998#true} ~cond := #in~cond; {998#true} is VALID [2022-02-20 17:32:26,583 INFO L290 TraceCheckUtils]: 11: Hoare triple {998#true} assume !(0 == ~cond); {998#true} is VALID [2022-02-20 17:32:26,583 INFO L290 TraceCheckUtils]: 12: Hoare triple {998#true} assume true; {998#true} is VALID [2022-02-20 17:32:26,584 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:26,584 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:26,584 INFO L290 TraceCheckUtils]: 15: Hoare triple {998#true} ~cond := #in~cond; {998#true} is VALID [2022-02-20 17:32:26,584 INFO L290 TraceCheckUtils]: 16: Hoare triple {998#true} assume !(0 == ~cond); {998#true} is VALID [2022-02-20 17:32:26,584 INFO L290 TraceCheckUtils]: 17: Hoare triple {998#true} assume true; {998#true} is VALID [2022-02-20 17:32:26,585 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:26,585 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:26,586 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:26,586 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 < 5);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:26,587 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:26,587 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:26,588 INFO L290 TraceCheckUtils]: 24: Hoare triple {1074#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {999#false} is VALID [2022-02-20 17:32:26,588 INFO L290 TraceCheckUtils]: 25: Hoare triple {999#false} assume !false; {999#false} is VALID [2022-02-20 17:32:26,588 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:26,588 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:32:26,588 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:26,588 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [593025329] [2022-02-20 17:32:26,589 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:32:26,589 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [721721285] [2022-02-20 17:32:26,589 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [721721285] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:32:26,589 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:32:26,589 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:32:26,589 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1225978919] [2022-02-20 17:32:26,589 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:26,590 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:26,590 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:26,590 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:26,604 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:26,604 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:32:26,604 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:26,605 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:32:26,605 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:32:26,605 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:26,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:26,739 INFO L93 Difference]: Finished difference Result 60 states and 79 transitions. [2022-02-20 17:32:26,739 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:32:26,740 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:26,740 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:26,740 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:26,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-02-20 17:32:26,741 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:26,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-02-20 17:32:26,742 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-02-20 17:32:26,775 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:26,776 INFO L225 Difference]: With dead ends: 60 [2022-02-20 17:32:26,776 INFO L226 Difference]: Without dead ends: 52 [2022-02-20 17:32:26,776 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:26,777 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:26,777 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:26,777 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-02-20 17:32:26,782 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 51. [2022-02-20 17:32:26,782 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:26,783 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:26,783 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:26,783 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:26,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:26,785 INFO L93 Difference]: Finished difference Result 52 states and 67 transitions. [2022-02-20 17:32:26,785 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 67 transitions. [2022-02-20 17:32:26,785 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:26,785 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:26,785 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:26,786 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:26,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:26,787 INFO L93 Difference]: Finished difference Result 52 states and 67 transitions. [2022-02-20 17:32:26,787 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 67 transitions. [2022-02-20 17:32:26,787 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:26,787 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:26,788 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:26,788 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:26,788 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:26,789 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 66 transitions. [2022-02-20 17:32:26,789 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 66 transitions. Word has length 26 [2022-02-20 17:32:26,789 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:26,789 INFO L470 AbstractCegarLoop]: Abstraction has 51 states and 66 transitions. [2022-02-20 17:32:26,789 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:26,790 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 66 transitions. [2022-02-20 17:32:26,790 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-02-20 17:32:26,790 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:26,790 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:26,809 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:27,000 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:27,000 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:27,001 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:27,001 INFO L85 PathProgramCache]: Analyzing trace with hash -909290541, now seen corresponding path program 1 times [2022-02-20 17:32:27,001 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:27,001 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [163956870] [2022-02-20 17:32:27,001 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:27,001 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:27,016 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:27,022 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [201148645] [2022-02-20 17:32:27,022 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:27,022 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:27,023 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:27,029 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:27,032 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:27,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:27,072 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 17:32:27,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:27,095 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:27,283 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:27,285 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:27,286 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:27,286 INFO L290 TraceCheckUtils]: 3: Hoare triple {1353#(<= ~counter~0 1)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:27,287 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:27,288 INFO L290 TraceCheckUtils]: 5: Hoare triple {1353#(<= ~counter~0 1)} ~cond := #in~cond; {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:27,288 INFO L290 TraceCheckUtils]: 6: Hoare triple {1353#(<= ~counter~0 1)} assume !(0 == ~cond); {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:27,288 INFO L290 TraceCheckUtils]: 7: Hoare triple {1353#(<= ~counter~0 1)} assume true; {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:27,289 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:27,290 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:27,290 INFO L290 TraceCheckUtils]: 10: Hoare triple {1353#(<= ~counter~0 1)} ~cond := #in~cond; {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:27,290 INFO L290 TraceCheckUtils]: 11: Hoare triple {1353#(<= ~counter~0 1)} assume !(0 == ~cond); {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:27,291 INFO L290 TraceCheckUtils]: 12: Hoare triple {1353#(<= ~counter~0 1)} assume true; {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:27,291 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:27,292 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:27,293 INFO L290 TraceCheckUtils]: 15: Hoare triple {1353#(<= ~counter~0 1)} ~cond := #in~cond; {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:27,293 INFO L290 TraceCheckUtils]: 16: Hoare triple {1353#(<= ~counter~0 1)} assume !(0 == ~cond); {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:27,296 INFO L290 TraceCheckUtils]: 17: Hoare triple {1353#(<= ~counter~0 1)} assume true; {1353#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:27,296 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:27,297 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:27,297 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:27,298 INFO L290 TraceCheckUtils]: 21: Hoare triple {1408#(<= |ULTIMATE.start_main_#t~post5#1| 1)} assume !(main_#t~post5#1 < 5);havoc main_#t~post5#1; {1342#false} is VALID [2022-02-20 17:32:27,298 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:27,298 INFO L290 TraceCheckUtils]: 23: Hoare triple {1342#false} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {1342#false} is VALID [2022-02-20 17:32:27,298 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:27,298 INFO L290 TraceCheckUtils]: 25: Hoare triple {1342#false} ~cond := #in~cond; {1342#false} is VALID [2022-02-20 17:32:27,299 INFO L290 TraceCheckUtils]: 26: Hoare triple {1342#false} assume !(0 == ~cond); {1342#false} is VALID [2022-02-20 17:32:27,299 INFO L290 TraceCheckUtils]: 27: Hoare triple {1342#false} assume true; {1342#false} is VALID [2022-02-20 17:32:27,299 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1342#false} {1342#false} #73#return; {1342#false} is VALID [2022-02-20 17:32:27,299 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:27,299 INFO L290 TraceCheckUtils]: 30: Hoare triple {1342#false} ~cond := #in~cond; {1342#false} is VALID [2022-02-20 17:32:27,300 INFO L290 TraceCheckUtils]: 31: Hoare triple {1342#false} assume 0 == ~cond; {1342#false} is VALID [2022-02-20 17:32:27,300 INFO L290 TraceCheckUtils]: 32: Hoare triple {1342#false} assume !false; {1342#false} is VALID [2022-02-20 17:32:27,300 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:27,300 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:32:27,445 INFO L290 TraceCheckUtils]: 32: Hoare triple {1342#false} assume !false; {1342#false} is VALID [2022-02-20 17:32:27,445 INFO L290 TraceCheckUtils]: 31: Hoare triple {1342#false} assume 0 == ~cond; {1342#false} is VALID [2022-02-20 17:32:27,445 INFO L290 TraceCheckUtils]: 30: Hoare triple {1342#false} ~cond := #in~cond; {1342#false} is VALID [2022-02-20 17:32:27,446 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:27,446 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1341#true} {1342#false} #73#return; {1342#false} is VALID [2022-02-20 17:32:27,446 INFO L290 TraceCheckUtils]: 27: Hoare triple {1341#true} assume true; {1341#true} is VALID [2022-02-20 17:32:27,446 INFO L290 TraceCheckUtils]: 26: Hoare triple {1341#true} assume !(0 == ~cond); {1341#true} is VALID [2022-02-20 17:32:27,446 INFO L290 TraceCheckUtils]: 25: Hoare triple {1341#true} ~cond := #in~cond; {1341#true} is VALID [2022-02-20 17:32:27,446 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:27,446 INFO L290 TraceCheckUtils]: 23: Hoare triple {1342#false} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {1342#false} is VALID [2022-02-20 17:32:27,446 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:27,448 INFO L290 TraceCheckUtils]: 21: Hoare triple {1478#(< |ULTIMATE.start_main_#t~post5#1| 5)} assume !(main_#t~post5#1 < 5);havoc main_#t~post5#1; {1342#false} is VALID [2022-02-20 17:32:27,449 INFO L290 TraceCheckUtils]: 20: Hoare triple {1482#(< ~counter~0 5)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {1478#(< |ULTIMATE.start_main_#t~post5#1| 5)} is VALID [2022-02-20 17:32:27,449 INFO L290 TraceCheckUtils]: 19: Hoare triple {1482#(< ~counter~0 5)} 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 5)} is VALID [2022-02-20 17:32:27,449 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1341#true} {1482#(< ~counter~0 5)} #71#return; {1482#(< ~counter~0 5)} is VALID [2022-02-20 17:32:27,450 INFO L290 TraceCheckUtils]: 17: Hoare triple {1341#true} assume true; {1341#true} is VALID [2022-02-20 17:32:27,450 INFO L290 TraceCheckUtils]: 16: Hoare triple {1341#true} assume !(0 == ~cond); {1341#true} is VALID [2022-02-20 17:32:27,450 INFO L290 TraceCheckUtils]: 15: Hoare triple {1341#true} ~cond := #in~cond; {1341#true} is VALID [2022-02-20 17:32:27,450 INFO L272 TraceCheckUtils]: 14: Hoare triple {1482#(< ~counter~0 5)} 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:27,451 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {1341#true} {1482#(< ~counter~0 5)} #69#return; {1482#(< ~counter~0 5)} is VALID [2022-02-20 17:32:27,451 INFO L290 TraceCheckUtils]: 12: Hoare triple {1341#true} assume true; {1341#true} is VALID [2022-02-20 17:32:27,451 INFO L290 TraceCheckUtils]: 11: Hoare triple {1341#true} assume !(0 == ~cond); {1341#true} is VALID [2022-02-20 17:32:27,451 INFO L290 TraceCheckUtils]: 10: Hoare triple {1341#true} ~cond := #in~cond; {1341#true} is VALID [2022-02-20 17:32:27,451 INFO L272 TraceCheckUtils]: 9: Hoare triple {1482#(< ~counter~0 5)} 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:27,452 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1341#true} {1482#(< ~counter~0 5)} #67#return; {1482#(< ~counter~0 5)} is VALID [2022-02-20 17:32:27,452 INFO L290 TraceCheckUtils]: 7: Hoare triple {1341#true} assume true; {1341#true} is VALID [2022-02-20 17:32:27,452 INFO L290 TraceCheckUtils]: 6: Hoare triple {1341#true} assume !(0 == ~cond); {1341#true} is VALID [2022-02-20 17:32:27,452 INFO L290 TraceCheckUtils]: 5: Hoare triple {1341#true} ~cond := #in~cond; {1341#true} is VALID [2022-02-20 17:32:27,452 INFO L272 TraceCheckUtils]: 4: Hoare triple {1482#(< ~counter~0 5)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1341#true} is VALID [2022-02-20 17:32:27,452 INFO L290 TraceCheckUtils]: 3: Hoare triple {1482#(< ~counter~0 5)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {1482#(< ~counter~0 5)} is VALID [2022-02-20 17:32:27,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {1537#(< ~counter~0 4)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {1482#(< ~counter~0 5)} is VALID [2022-02-20 17:32:27,453 INFO L290 TraceCheckUtils]: 1: Hoare triple {1537#(< ~counter~0 4)} 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 4)} is VALID [2022-02-20 17:32:27,454 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 4)} is VALID [2022-02-20 17:32:27,454 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:27,454 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:27,454 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [163956870] [2022-02-20 17:32:27,454 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:32:27,454 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [201148645] [2022-02-20 17:32:27,455 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [201148645] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:32:27,455 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:32:27,455 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5] total 8 [2022-02-20 17:32:27,455 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [161022123] [2022-02-20 17:32:27,455 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:32:27,456 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:27,456 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:27,456 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:27,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:27,490 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 17:32:27,491 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:27,491 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 17:32:27,491 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-02-20 17:32:27,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:27,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:27,777 INFO L93 Difference]: Finished difference Result 140 states and 173 transitions. [2022-02-20 17:32:27,777 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 17:32:27,777 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:27,777 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:27,778 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:27,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 113 transitions. [2022-02-20 17:32:27,779 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:27,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 113 transitions. [2022-02-20 17:32:27,781 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 113 transitions. [2022-02-20 17:32:27,851 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:27,853 INFO L225 Difference]: With dead ends: 140 [2022-02-20 17:32:27,853 INFO L226 Difference]: Without dead ends: 115 [2022-02-20 17:32:27,854 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:27,854 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:27,855 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:27,855 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-02-20 17:32:27,880 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 108. [2022-02-20 17:32:27,880 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:27,881 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:27,881 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:27,881 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:27,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:27,884 INFO L93 Difference]: Finished difference Result 115 states and 135 transitions. [2022-02-20 17:32:27,884 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 135 transitions. [2022-02-20 17:32:27,885 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:27,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:27,885 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:27,886 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:27,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:27,888 INFO L93 Difference]: Finished difference Result 115 states and 135 transitions. [2022-02-20 17:32:27,888 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 135 transitions. [2022-02-20 17:32:27,889 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:27,889 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:27,889 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:27,889 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:27,890 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:27,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 108 states to 108 states and 129 transitions. [2022-02-20 17:32:27,892 INFO L78 Accepts]: Start accepts. Automaton has 108 states and 129 transitions. Word has length 33 [2022-02-20 17:32:27,892 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:27,892 INFO L470 AbstractCegarLoop]: Abstraction has 108 states and 129 transitions. [2022-02-20 17:32:27,893 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:27,893 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 129 transitions. [2022-02-20 17:32:27,893 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 17:32:27,893 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:27,893 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:27,910 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-02-20 17:32:28,106 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:28,107 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:28,107 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:28,107 INFO L85 PathProgramCache]: Analyzing trace with hash 252591112, now seen corresponding path program 1 times [2022-02-20 17:32:28,107 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:28,107 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [472014198] [2022-02-20 17:32:28,108 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:28,108 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:28,122 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:28,133 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [367621189] [2022-02-20 17:32:28,134 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:28,134 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:28,138 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:28,139 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:28,140 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:28,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:28,197 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 17:32:28,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:28,205 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:28,414 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:28,414 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:28,415 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:28,415 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 < 5);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:28,415 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:28,415 INFO L290 TraceCheckUtils]: 5: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:28,416 INFO L290 TraceCheckUtils]: 6: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:28,416 INFO L290 TraceCheckUtils]: 7: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:28,428 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:28,428 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:28,429 INFO L290 TraceCheckUtils]: 10: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:28,429 INFO L290 TraceCheckUtils]: 11: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:28,429 INFO L290 TraceCheckUtils]: 12: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:28,429 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:28,430 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:28,430 INFO L290 TraceCheckUtils]: 15: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:28,430 INFO L290 TraceCheckUtils]: 16: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:28,430 INFO L290 TraceCheckUtils]: 17: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:28,437 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:28,438 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:28,438 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:28,439 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 < 5);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:28,439 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:28,439 INFO L290 TraceCheckUtils]: 23: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:28,439 INFO L290 TraceCheckUtils]: 24: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:28,439 INFO L290 TraceCheckUtils]: 25: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:28,439 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:28,440 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:28,440 INFO L290 TraceCheckUtils]: 28: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:28,440 INFO L290 TraceCheckUtils]: 29: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:28,440 INFO L290 TraceCheckUtils]: 30: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:28,440 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:28,441 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:28,441 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:28,442 INFO L290 TraceCheckUtils]: 34: Hoare triple {2227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2121#false} is VALID [2022-02-20 17:32:28,442 INFO L290 TraceCheckUtils]: 35: Hoare triple {2121#false} assume !false; {2121#false} is VALID [2022-02-20 17:32:28,442 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:28,442 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:32:28,611 INFO L290 TraceCheckUtils]: 35: Hoare triple {2121#false} assume !false; {2121#false} is VALID [2022-02-20 17:32:28,612 INFO L290 TraceCheckUtils]: 34: Hoare triple {2227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2121#false} is VALID [2022-02-20 17:32:28,612 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:28,613 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:28,613 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:28,613 INFO L290 TraceCheckUtils]: 30: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:28,614 INFO L290 TraceCheckUtils]: 29: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:28,614 INFO L290 TraceCheckUtils]: 28: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:28,614 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:28,614 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:28,614 INFO L290 TraceCheckUtils]: 25: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:28,614 INFO L290 TraceCheckUtils]: 24: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:28,614 INFO L290 TraceCheckUtils]: 23: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:28,614 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:28,617 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 < 5);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:28,618 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:28,619 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:28,620 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:28,620 INFO L290 TraceCheckUtils]: 17: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:28,620 INFO L290 TraceCheckUtils]: 16: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:28,620 INFO L290 TraceCheckUtils]: 15: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:28,620 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:28,620 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:28,621 INFO L290 TraceCheckUtils]: 12: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:28,621 INFO L290 TraceCheckUtils]: 11: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:28,621 INFO L290 TraceCheckUtils]: 10: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:28,621 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:28,621 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:28,622 INFO L290 TraceCheckUtils]: 7: Hoare triple {2120#true} assume true; {2120#true} is VALID [2022-02-20 17:32:28,622 INFO L290 TraceCheckUtils]: 6: Hoare triple {2120#true} assume !(0 == ~cond); {2120#true} is VALID [2022-02-20 17:32:28,622 INFO L290 TraceCheckUtils]: 5: Hoare triple {2120#true} ~cond := #in~cond; {2120#true} is VALID [2022-02-20 17:32:28,622 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:28,622 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 < 5);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:28,623 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:28,623 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:28,623 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:28,624 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:28,624 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:28,624 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [472014198] [2022-02-20 17:32:28,625 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:32:28,626 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [367621189] [2022-02-20 17:32:28,626 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [367621189] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:32:28,626 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:32:28,626 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-02-20 17:32:28,627 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [214722247] [2022-02-20 17:32:28,627 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:32:28,627 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:28,627 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:28,627 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:28,639 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:28,640 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:32:28,640 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:28,640 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:32:28,641 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-02-20 17:32:28,641 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:31,079 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:32,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:32,739 INFO L93 Difference]: Finished difference Result 125 states and 150 transitions. [2022-02-20 17:32:32,739 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:32:32,739 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:32,739 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:32,740 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:32,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2022-02-20 17:32:32,741 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:32,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2022-02-20 17:32:32,741 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 49 transitions. [2022-02-20 17:32:32,795 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:32,797 INFO L225 Difference]: With dead ends: 125 [2022-02-20 17:32:32,798 INFO L226 Difference]: Without dead ends: 121 [2022-02-20 17:32:32,798 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:32,799 INFO L933 BasicCegarLoop]: 30 mSDtfsCounter, 11 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.9s 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, 2.9s IncrementalHoareTripleChecker+Time [2022-02-20 17:32:32,799 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 98 Invalid, 37 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 35 Invalid, 1 Unknown, 0 Unchecked, 2.9s Time] [2022-02-20 17:32:32,800 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-02-20 17:32:32,854 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 118. [2022-02-20 17:32:32,854 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:32,854 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:32,854 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:32,855 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:32,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:32,859 INFO L93 Difference]: Finished difference Result 121 states and 144 transitions. [2022-02-20 17:32:32,859 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 144 transitions. [2022-02-20 17:32:32,860 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:32,860 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:32,860 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:32,861 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:32,879 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:32,879 INFO L93 Difference]: Finished difference Result 121 states and 144 transitions. [2022-02-20 17:32:32,880 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 144 transitions. [2022-02-20 17:32:32,880 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:32,880 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:32,880 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:32,880 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:32,881 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:32,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 118 states to 118 states and 139 transitions. [2022-02-20 17:32:32,884 INFO L78 Accepts]: Start accepts. Automaton has 118 states and 139 transitions. Word has length 36 [2022-02-20 17:32:32,884 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:32,884 INFO L470 AbstractCegarLoop]: Abstraction has 118 states and 139 transitions. [2022-02-20 17:32:32,884 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:32,884 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 139 transitions. [2022-02-20 17:32:32,885 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-02-20 17:32:32,885 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:32,885 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:32,918 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:33,091 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:33,092 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:33,092 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:33,092 INFO L85 PathProgramCache]: Analyzing trace with hash 1605675221, now seen corresponding path program 1 times [2022-02-20 17:32:33,092 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:33,092 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [60500993] [2022-02-20 17:32:33,092 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:33,092 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:33,103 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:33,104 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [381498033] [2022-02-20 17:32:33,104 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:33,104 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:33,104 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:33,122 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:33,123 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:33,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:33,158 INFO L263 TraceCheckSpWp]: Trace formula consists of 132 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 17:32:33,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:33,170 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:33,369 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:33,369 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:33,370 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:33,370 INFO L290 TraceCheckUtils]: 3: Hoare triple {2932#(<= ~counter~0 1)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:33,371 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:33,371 INFO L290 TraceCheckUtils]: 5: Hoare triple {2932#(<= ~counter~0 1)} ~cond := #in~cond; {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:33,372 INFO L290 TraceCheckUtils]: 6: Hoare triple {2932#(<= ~counter~0 1)} assume !(0 == ~cond); {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:33,373 INFO L290 TraceCheckUtils]: 7: Hoare triple {2932#(<= ~counter~0 1)} assume true; {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:33,373 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:33,374 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:33,374 INFO L290 TraceCheckUtils]: 10: Hoare triple {2932#(<= ~counter~0 1)} ~cond := #in~cond; {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:33,374 INFO L290 TraceCheckUtils]: 11: Hoare triple {2932#(<= ~counter~0 1)} assume !(0 == ~cond); {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:33,374 INFO L290 TraceCheckUtils]: 12: Hoare triple {2932#(<= ~counter~0 1)} assume true; {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:33,375 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:33,376 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:33,376 INFO L290 TraceCheckUtils]: 15: Hoare triple {2932#(<= ~counter~0 1)} ~cond := #in~cond; {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:33,376 INFO L290 TraceCheckUtils]: 16: Hoare triple {2932#(<= ~counter~0 1)} assume !(0 == ~cond); {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:33,376 INFO L290 TraceCheckUtils]: 17: Hoare triple {2932#(<= ~counter~0 1)} assume true; {2932#(<= ~counter~0 1)} is VALID [2022-02-20 17:32:33,382 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:33,382 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:33,383 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:33,383 INFO L290 TraceCheckUtils]: 21: Hoare triple {2987#(<= ~counter~0 2)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:33,383 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:33,384 INFO L290 TraceCheckUtils]: 23: Hoare triple {2987#(<= ~counter~0 2)} ~cond := #in~cond; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:33,384 INFO L290 TraceCheckUtils]: 24: Hoare triple {2987#(<= ~counter~0 2)} assume !(0 == ~cond); {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:33,384 INFO L290 TraceCheckUtils]: 25: Hoare triple {2987#(<= ~counter~0 2)} assume true; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:33,385 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:33,385 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:33,386 INFO L290 TraceCheckUtils]: 28: Hoare triple {2987#(<= ~counter~0 2)} ~cond := #in~cond; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:33,386 INFO L290 TraceCheckUtils]: 29: Hoare triple {2987#(<= ~counter~0 2)} assume !(0 == ~cond); {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:33,399 INFO L290 TraceCheckUtils]: 30: Hoare triple {2987#(<= ~counter~0 2)} assume true; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:33,400 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:33,401 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:33,401 INFO L290 TraceCheckUtils]: 33: Hoare triple {2987#(<= ~counter~0 2)} ~cond := #in~cond; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:33,401 INFO L290 TraceCheckUtils]: 34: Hoare triple {2987#(<= ~counter~0 2)} assume !(0 == ~cond); {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:33,402 INFO L290 TraceCheckUtils]: 35: Hoare triple {2987#(<= ~counter~0 2)} assume true; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:33,402 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:33,403 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:33,403 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:33,403 INFO L290 TraceCheckUtils]: 39: Hoare triple {3042#(<= |ULTIMATE.start_main_#t~post6#1| 2)} assume !(main_#t~post6#1 < 5);havoc main_#t~post6#1; {2921#false} is VALID [2022-02-20 17:32:33,404 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:33,404 INFO L290 TraceCheckUtils]: 41: Hoare triple {2921#false} ~cond := #in~cond; {2921#false} is VALID [2022-02-20 17:32:33,404 INFO L290 TraceCheckUtils]: 42: Hoare triple {2921#false} assume !(0 == ~cond); {2921#false} is VALID [2022-02-20 17:32:33,404 INFO L290 TraceCheckUtils]: 43: Hoare triple {2921#false} assume true; {2921#false} is VALID [2022-02-20 17:32:33,404 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2921#false} {2921#false} #77#return; {2921#false} is VALID [2022-02-20 17:32:33,404 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:33,404 INFO L290 TraceCheckUtils]: 46: Hoare triple {2921#false} ~cond := #in~cond; {2921#false} is VALID [2022-02-20 17:32:33,404 INFO L290 TraceCheckUtils]: 47: Hoare triple {2921#false} assume 0 == ~cond; {2921#false} is VALID [2022-02-20 17:32:33,405 INFO L290 TraceCheckUtils]: 48: Hoare triple {2921#false} assume !false; {2921#false} is VALID [2022-02-20 17:32:33,405 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:33,405 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:32:33,598 INFO L290 TraceCheckUtils]: 48: Hoare triple {2921#false} assume !false; {2921#false} is VALID [2022-02-20 17:32:33,598 INFO L290 TraceCheckUtils]: 47: Hoare triple {2921#false} assume 0 == ~cond; {2921#false} is VALID [2022-02-20 17:32:33,598 INFO L290 TraceCheckUtils]: 46: Hoare triple {2921#false} ~cond := #in~cond; {2921#false} is VALID [2022-02-20 17:32:33,598 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:33,599 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2920#true} {2921#false} #77#return; {2921#false} is VALID [2022-02-20 17:32:33,599 INFO L290 TraceCheckUtils]: 43: Hoare triple {2920#true} assume true; {2920#true} is VALID [2022-02-20 17:32:33,599 INFO L290 TraceCheckUtils]: 42: Hoare triple {2920#true} assume !(0 == ~cond); {2920#true} is VALID [2022-02-20 17:32:33,599 INFO L290 TraceCheckUtils]: 41: Hoare triple {2920#true} ~cond := #in~cond; {2920#true} is VALID [2022-02-20 17:32:33,599 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:33,600 INFO L290 TraceCheckUtils]: 39: Hoare triple {3100#(< |ULTIMATE.start_main_#t~post6#1| 5)} assume !(main_#t~post6#1 < 5);havoc main_#t~post6#1; {2921#false} is VALID [2022-02-20 17:32:33,600 INFO L290 TraceCheckUtils]: 38: Hoare triple {3104#(< ~counter~0 5)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {3100#(< |ULTIMATE.start_main_#t~post6#1| 5)} is VALID [2022-02-20 17:32:33,600 INFO L290 TraceCheckUtils]: 37: Hoare triple {3104#(< ~counter~0 5)} assume !(main_~r~0#1 >= main_~d~0#1); {3104#(< ~counter~0 5)} is VALID [2022-02-20 17:32:33,601 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2920#true} {3104#(< ~counter~0 5)} #71#return; {3104#(< ~counter~0 5)} is VALID [2022-02-20 17:32:33,601 INFO L290 TraceCheckUtils]: 35: Hoare triple {2920#true} assume true; {2920#true} is VALID [2022-02-20 17:32:33,601 INFO L290 TraceCheckUtils]: 34: Hoare triple {2920#true} assume !(0 == ~cond); {2920#true} is VALID [2022-02-20 17:32:33,601 INFO L290 TraceCheckUtils]: 33: Hoare triple {2920#true} ~cond := #in~cond; {2920#true} is VALID [2022-02-20 17:32:33,601 INFO L272 TraceCheckUtils]: 32: Hoare triple {3104#(< ~counter~0 5)} 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:33,602 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2920#true} {3104#(< ~counter~0 5)} #69#return; {3104#(< ~counter~0 5)} is VALID [2022-02-20 17:32:33,602 INFO L290 TraceCheckUtils]: 30: Hoare triple {2920#true} assume true; {2920#true} is VALID [2022-02-20 17:32:33,602 INFO L290 TraceCheckUtils]: 29: Hoare triple {2920#true} assume !(0 == ~cond); {2920#true} is VALID [2022-02-20 17:32:33,602 INFO L290 TraceCheckUtils]: 28: Hoare triple {2920#true} ~cond := #in~cond; {2920#true} is VALID [2022-02-20 17:32:33,602 INFO L272 TraceCheckUtils]: 27: Hoare triple {3104#(< ~counter~0 5)} 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:33,602 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2920#true} {3104#(< ~counter~0 5)} #67#return; {3104#(< ~counter~0 5)} is VALID [2022-02-20 17:32:33,602 INFO L290 TraceCheckUtils]: 25: Hoare triple {2920#true} assume true; {2920#true} is VALID [2022-02-20 17:32:33,602 INFO L290 TraceCheckUtils]: 24: Hoare triple {2920#true} assume !(0 == ~cond); {2920#true} is VALID [2022-02-20 17:32:33,602 INFO L290 TraceCheckUtils]: 23: Hoare triple {2920#true} ~cond := #in~cond; {2920#true} is VALID [2022-02-20 17:32:33,603 INFO L272 TraceCheckUtils]: 22: Hoare triple {3104#(< ~counter~0 5)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2920#true} is VALID [2022-02-20 17:32:33,604 INFO L290 TraceCheckUtils]: 21: Hoare triple {3104#(< ~counter~0 5)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {3104#(< ~counter~0 5)} is VALID [2022-02-20 17:32:33,604 INFO L290 TraceCheckUtils]: 20: Hoare triple {3159#(< ~counter~0 4)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {3104#(< ~counter~0 5)} is VALID [2022-02-20 17:32:33,604 INFO L290 TraceCheckUtils]: 19: Hoare triple {3159#(< ~counter~0 4)} 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 4)} is VALID [2022-02-20 17:32:33,605 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2920#true} {3159#(< ~counter~0 4)} #71#return; {3159#(< ~counter~0 4)} is VALID [2022-02-20 17:32:33,605 INFO L290 TraceCheckUtils]: 17: Hoare triple {2920#true} assume true; {2920#true} is VALID [2022-02-20 17:32:33,605 INFO L290 TraceCheckUtils]: 16: Hoare triple {2920#true} assume !(0 == ~cond); {2920#true} is VALID [2022-02-20 17:32:33,605 INFO L290 TraceCheckUtils]: 15: Hoare triple {2920#true} ~cond := #in~cond; {2920#true} is VALID [2022-02-20 17:32:33,605 INFO L272 TraceCheckUtils]: 14: Hoare triple {3159#(< ~counter~0 4)} 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:33,606 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {2920#true} {3159#(< ~counter~0 4)} #69#return; {3159#(< ~counter~0 4)} is VALID [2022-02-20 17:32:33,606 INFO L290 TraceCheckUtils]: 12: Hoare triple {2920#true} assume true; {2920#true} is VALID [2022-02-20 17:32:33,606 INFO L290 TraceCheckUtils]: 11: Hoare triple {2920#true} assume !(0 == ~cond); {2920#true} is VALID [2022-02-20 17:32:33,606 INFO L290 TraceCheckUtils]: 10: Hoare triple {2920#true} ~cond := #in~cond; {2920#true} is VALID [2022-02-20 17:32:33,606 INFO L272 TraceCheckUtils]: 9: Hoare triple {3159#(< ~counter~0 4)} 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:33,607 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {2920#true} {3159#(< ~counter~0 4)} #67#return; {3159#(< ~counter~0 4)} is VALID [2022-02-20 17:32:33,607 INFO L290 TraceCheckUtils]: 7: Hoare triple {2920#true} assume true; {2920#true} is VALID [2022-02-20 17:32:33,607 INFO L290 TraceCheckUtils]: 6: Hoare triple {2920#true} assume !(0 == ~cond); {2920#true} is VALID [2022-02-20 17:32:33,607 INFO L290 TraceCheckUtils]: 5: Hoare triple {2920#true} ~cond := #in~cond; {2920#true} is VALID [2022-02-20 17:32:33,607 INFO L272 TraceCheckUtils]: 4: Hoare triple {3159#(< ~counter~0 4)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2920#true} is VALID [2022-02-20 17:32:33,608 INFO L290 TraceCheckUtils]: 3: Hoare triple {3159#(< ~counter~0 4)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {3159#(< ~counter~0 4)} is VALID [2022-02-20 17:32:33,608 INFO L290 TraceCheckUtils]: 2: Hoare triple {2987#(<= ~counter~0 2)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {3159#(< ~counter~0 4)} is VALID [2022-02-20 17:32:33,608 INFO L290 TraceCheckUtils]: 1: Hoare triple {2987#(<= ~counter~0 2)} 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; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:33,609 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; {2987#(<= ~counter~0 2)} is VALID [2022-02-20 17:32:33,609 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:33,609 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:33,609 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [60500993] [2022-02-20 17:32:33,609 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:32:33,609 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [381498033] [2022-02-20 17:32:33,610 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [381498033] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:32:33,610 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:32:33,610 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 6] total 9 [2022-02-20 17:32:33,610 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1108787437] [2022-02-20 17:32:33,610 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:32:33,610 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 9 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:33,611 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:33,611 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 9 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:33,657 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:33,657 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 17:32:33,657 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:33,657 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 17:32:33,658 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:32:33,658 INFO L87 Difference]: Start difference. First operand 118 states and 139 transitions. Second operand has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 9 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:34,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:34,000 INFO L93 Difference]: Finished difference Result 194 states and 232 transitions. [2022-02-20 17:32:34,000 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 17:32:34,001 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 9 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:34,001 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:34,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 9 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:34,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 127 transitions. [2022-02-20 17:32:34,003 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 9 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:34,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 127 transitions. [2022-02-20 17:32:34,005 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 127 transitions. [2022-02-20 17:32:34,116 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:32:34,119 INFO L225 Difference]: With dead ends: 194 [2022-02-20 17:32:34,119 INFO L226 Difference]: Without dead ends: 173 [2022-02-20 17:32:34,119 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 88 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=37, Invalid=73, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:32:34,120 INFO L933 BasicCegarLoop]: 50 mSDtfsCounter, 68 mSDsluCounter, 164 mSDsCounter, 0 mSdLazyCounter, 74 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 68 SdHoareTripleChecker+Valid, 214 SdHoareTripleChecker+Invalid, 105 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 74 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:32:34,120 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [68 Valid, 214 Invalid, 105 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 74 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:32:34,120 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-02-20 17:32:34,166 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 168. [2022-02-20 17:32:34,166 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:34,166 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 168 states, 110 states have (on average 1.1818181818181819) internal successors, (130), 116 states have internal predecessors, (130), 37 states have call successors, (37), 21 states have call predecessors, (37), 20 states have return successors, (34), 30 states have call predecessors, (34), 34 states have call successors, (34) [2022-02-20 17:32:34,167 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 168 states, 110 states have (on average 1.1818181818181819) internal successors, (130), 116 states have internal predecessors, (130), 37 states have call successors, (37), 21 states have call predecessors, (37), 20 states have return successors, (34), 30 states have call predecessors, (34), 34 states have call successors, (34) [2022-02-20 17:32:34,167 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 168 states, 110 states have (on average 1.1818181818181819) internal successors, (130), 116 states have internal predecessors, (130), 37 states have call successors, (37), 21 states have call predecessors, (37), 20 states have return successors, (34), 30 states have call predecessors, (34), 34 states have call successors, (34) [2022-02-20 17:32:34,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:34,171 INFO L93 Difference]: Finished difference Result 173 states and 204 transitions. [2022-02-20 17:32:34,171 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 204 transitions. [2022-02-20 17:32:34,172 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:34,172 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:34,172 INFO L74 IsIncluded]: Start isIncluded. First operand has 168 states, 110 states have (on average 1.1818181818181819) internal successors, (130), 116 states have internal predecessors, (130), 37 states have call successors, (37), 21 states have call predecessors, (37), 20 states have return successors, (34), 30 states have call predecessors, (34), 34 states have call successors, (34) Second operand 173 states. [2022-02-20 17:32:34,173 INFO L87 Difference]: Start difference. First operand has 168 states, 110 states have (on average 1.1818181818181819) internal successors, (130), 116 states have internal predecessors, (130), 37 states have call successors, (37), 21 states have call predecessors, (37), 20 states have return successors, (34), 30 states have call predecessors, (34), 34 states have call successors, (34) Second operand 173 states. [2022-02-20 17:32:34,175 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:34,176 INFO L93 Difference]: Finished difference Result 173 states and 204 transitions. [2022-02-20 17:32:34,176 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 204 transitions. [2022-02-20 17:32:34,176 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:34,176 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:34,176 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:34,176 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:34,177 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 168 states, 110 states have (on average 1.1818181818181819) internal successors, (130), 116 states have internal predecessors, (130), 37 states have call successors, (37), 21 states have call predecessors, (37), 20 states have return successors, (34), 30 states have call predecessors, (34), 34 states have call successors, (34) [2022-02-20 17:32:34,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 168 states to 168 states and 201 transitions. [2022-02-20 17:32:34,187 INFO L78 Accepts]: Start accepts. Automaton has 168 states and 201 transitions. Word has length 49 [2022-02-20 17:32:34,187 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:34,187 INFO L470 AbstractCegarLoop]: Abstraction has 168 states and 201 transitions. [2022-02-20 17:32:34,188 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 9 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:34,188 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 201 transitions. [2022-02-20 17:32:34,189 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-02-20 17:32:34,189 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:34,189 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:34,207 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:34,405 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:34,405 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:34,406 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:34,406 INFO L85 PathProgramCache]: Analyzing trace with hash -1800695307, now seen corresponding path program 1 times [2022-02-20 17:32:34,406 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:34,406 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2133359077] [2022-02-20 17:32:34,406 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:34,406 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:34,419 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:34,427 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1014720596] [2022-02-20 17:32:34,427 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:34,427 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:34,427 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:34,439 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:34,440 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:34,489 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:34,490 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 25 conjunts are in the unsatisfiable core [2022-02-20 17:32:34,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:34,503 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:35,013 INFO L290 TraceCheckUtils]: 0: Hoare triple {4067#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; {4067#true} is VALID [2022-02-20 17:32:35,014 INFO L290 TraceCheckUtils]: 1: Hoare triple {4067#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; {4075#(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:35,014 INFO L290 TraceCheckUtils]: 2: Hoare triple {4075#(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; {4075#(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:35,015 INFO L290 TraceCheckUtils]: 3: Hoare triple {4075#(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 < 5);havoc main_#t~post5#1; {4075#(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:35,015 INFO L272 TraceCheckUtils]: 4: Hoare triple {4075#(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)); {4067#true} is VALID [2022-02-20 17:32:35,015 INFO L290 TraceCheckUtils]: 5: Hoare triple {4067#true} ~cond := #in~cond; {4067#true} is VALID [2022-02-20 17:32:35,015 INFO L290 TraceCheckUtils]: 6: Hoare triple {4067#true} assume !(0 == ~cond); {4067#true} is VALID [2022-02-20 17:32:35,015 INFO L290 TraceCheckUtils]: 7: Hoare triple {4067#true} assume true; {4067#true} is VALID [2022-02-20 17:32:35,016 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {4067#true} {4075#(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; {4075#(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:35,016 INFO L272 TraceCheckUtils]: 9: Hoare triple {4075#(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)); {4067#true} is VALID [2022-02-20 17:32:35,016 INFO L290 TraceCheckUtils]: 10: Hoare triple {4067#true} ~cond := #in~cond; {4067#true} is VALID [2022-02-20 17:32:35,016 INFO L290 TraceCheckUtils]: 11: Hoare triple {4067#true} assume !(0 == ~cond); {4067#true} is VALID [2022-02-20 17:32:35,017 INFO L290 TraceCheckUtils]: 12: Hoare triple {4067#true} assume true; {4067#true} is VALID [2022-02-20 17:32:35,017 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {4067#true} {4075#(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; {4075#(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:35,017 INFO L272 TraceCheckUtils]: 14: Hoare triple {4075#(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)); {4067#true} is VALID [2022-02-20 17:32:35,017 INFO L290 TraceCheckUtils]: 15: Hoare triple {4067#true} ~cond := #in~cond; {4067#true} is VALID [2022-02-20 17:32:35,018 INFO L290 TraceCheckUtils]: 16: Hoare triple {4067#true} assume !(0 == ~cond); {4067#true} is VALID [2022-02-20 17:32:35,018 INFO L290 TraceCheckUtils]: 17: Hoare triple {4067#true} assume true; {4067#true} is VALID [2022-02-20 17:32:35,018 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4067#true} {4075#(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; {4075#(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:35,019 INFO L290 TraceCheckUtils]: 19: Hoare triple {4075#(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; {4130#(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:35,019 INFO L290 TraceCheckUtils]: 20: Hoare triple {4130#(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; {4130#(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:35,020 INFO L290 TraceCheckUtils]: 21: Hoare triple {4130#(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 < 5);havoc main_#t~post5#1; {4130#(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:35,020 INFO L272 TraceCheckUtils]: 22: Hoare triple {4130#(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)); {4067#true} is VALID [2022-02-20 17:32:35,020 INFO L290 TraceCheckUtils]: 23: Hoare triple {4067#true} ~cond := #in~cond; {4067#true} is VALID [2022-02-20 17:32:35,020 INFO L290 TraceCheckUtils]: 24: Hoare triple {4067#true} assume !(0 == ~cond); {4067#true} is VALID [2022-02-20 17:32:35,020 INFO L290 TraceCheckUtils]: 25: Hoare triple {4067#true} assume true; {4067#true} is VALID [2022-02-20 17:32:35,021 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4067#true} {4130#(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; {4130#(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:35,021 INFO L272 TraceCheckUtils]: 27: Hoare triple {4130#(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)); {4067#true} is VALID [2022-02-20 17:32:35,021 INFO L290 TraceCheckUtils]: 28: Hoare triple {4067#true} ~cond := #in~cond; {4067#true} is VALID [2022-02-20 17:32:35,021 INFO L290 TraceCheckUtils]: 29: Hoare triple {4067#true} assume !(0 == ~cond); {4067#true} is VALID [2022-02-20 17:32:35,022 INFO L290 TraceCheckUtils]: 30: Hoare triple {4067#true} assume true; {4067#true} is VALID [2022-02-20 17:32:35,023 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4067#true} {4130#(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; {4130#(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:35,023 INFO L272 TraceCheckUtils]: 32: Hoare triple {4130#(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)); {4067#true} is VALID [2022-02-20 17:32:35,023 INFO L290 TraceCheckUtils]: 33: Hoare triple {4067#true} ~cond := #in~cond; {4067#true} is VALID [2022-02-20 17:32:35,023 INFO L290 TraceCheckUtils]: 34: Hoare triple {4067#true} assume !(0 == ~cond); {4067#true} is VALID [2022-02-20 17:32:35,024 INFO L290 TraceCheckUtils]: 35: Hoare triple {4067#true} assume true; {4067#true} is VALID [2022-02-20 17:32:35,024 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4067#true} {4130#(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; {4130#(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:35,025 INFO L290 TraceCheckUtils]: 37: Hoare triple {4130#(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); {4130#(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:35,025 INFO L290 TraceCheckUtils]: 38: Hoare triple {4130#(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; {4130#(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:35,026 INFO L290 TraceCheckUtils]: 39: Hoare triple {4130#(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 < 5);havoc main_#t~post6#1; {4130#(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:35,026 INFO L272 TraceCheckUtils]: 40: Hoare triple {4130#(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)); {4067#true} is VALID [2022-02-20 17:32:35,026 INFO L290 TraceCheckUtils]: 41: Hoare triple {4067#true} ~cond := #in~cond; {4067#true} is VALID [2022-02-20 17:32:35,026 INFO L290 TraceCheckUtils]: 42: Hoare triple {4067#true} assume !(0 == ~cond); {4067#true} is VALID [2022-02-20 17:32:35,026 INFO L290 TraceCheckUtils]: 43: Hoare triple {4067#true} assume true; {4067#true} is VALID [2022-02-20 17:32:35,027 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4067#true} {4130#(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; {4130#(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:35,027 INFO L272 TraceCheckUtils]: 45: Hoare triple {4130#(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)); {4067#true} is VALID [2022-02-20 17:32:35,027 INFO L290 TraceCheckUtils]: 46: Hoare triple {4067#true} ~cond := #in~cond; {4067#true} is VALID [2022-02-20 17:32:35,027 INFO L290 TraceCheckUtils]: 47: Hoare triple {4067#true} assume !(0 == ~cond); {4067#true} is VALID [2022-02-20 17:32:35,027 INFO L290 TraceCheckUtils]: 48: Hoare triple {4067#true} assume true; {4067#true} is VALID [2022-02-20 17:32:35,028 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {4067#true} {4130#(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; {4130#(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:35,030 INFO L290 TraceCheckUtils]: 50: Hoare triple {4130#(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); {4075#(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:35,030 INFO L290 TraceCheckUtils]: 51: Hoare triple {4075#(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; {4227#(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:35,034 INFO L290 TraceCheckUtils]: 52: Hoare triple {4227#(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; {4227#(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:35,035 INFO L290 TraceCheckUtils]: 53: Hoare triple {4227#(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 < 5);havoc main_#t~post6#1; {4227#(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:35,035 INFO L272 TraceCheckUtils]: 54: Hoare triple {4227#(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)); {4237#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:32:35,036 INFO L290 TraceCheckUtils]: 55: Hoare triple {4237#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4241#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:35,036 INFO L290 TraceCheckUtils]: 56: Hoare triple {4241#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4068#false} is VALID [2022-02-20 17:32:35,036 INFO L290 TraceCheckUtils]: 57: Hoare triple {4068#false} assume !false; {4068#false} is VALID [2022-02-20 17:32:35,036 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:35,036 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:32:43,563 INFO L290 TraceCheckUtils]: 57: Hoare triple {4068#false} assume !false; {4068#false} is VALID [2022-02-20 17:32:43,564 INFO L290 TraceCheckUtils]: 56: Hoare triple {4241#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4068#false} is VALID [2022-02-20 17:32:43,564 INFO L290 TraceCheckUtils]: 55: Hoare triple {4237#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4241#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:43,565 INFO L272 TraceCheckUtils]: 54: Hoare triple {4257#(= |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)); {4237#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:32:43,565 INFO L290 TraceCheckUtils]: 53: Hoare triple {4257#(= |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 < 5);havoc main_#t~post6#1; {4257#(= |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:43,565 INFO L290 TraceCheckUtils]: 52: Hoare triple {4257#(= |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; {4257#(= |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:43,574 INFO L290 TraceCheckUtils]: 51: Hoare triple {4267#(= (+ |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; {4257#(= |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:43,590 INFO L290 TraceCheckUtils]: 50: Hoare triple {4271#(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); {4267#(= (+ |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:43,591 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {4067#true} {4271#(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; {4271#(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:43,591 INFO L290 TraceCheckUtils]: 48: Hoare triple {4067#true} assume true; {4067#true} is VALID [2022-02-20 17:32:43,591 INFO L290 TraceCheckUtils]: 47: Hoare triple {4067#true} assume !(0 == ~cond); {4067#true} is VALID [2022-02-20 17:32:43,591 INFO L290 TraceCheckUtils]: 46: Hoare triple {4067#true} ~cond := #in~cond; {4067#true} is VALID [2022-02-20 17:32:43,591 INFO L272 TraceCheckUtils]: 45: Hoare triple {4271#(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)); {4067#true} is VALID [2022-02-20 17:32:43,592 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4067#true} {4271#(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; {4271#(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:43,592 INFO L290 TraceCheckUtils]: 43: Hoare triple {4067#true} assume true; {4067#true} is VALID [2022-02-20 17:32:43,592 INFO L290 TraceCheckUtils]: 42: Hoare triple {4067#true} assume !(0 == ~cond); {4067#true} is VALID [2022-02-20 17:32:43,592 INFO L290 TraceCheckUtils]: 41: Hoare triple {4067#true} ~cond := #in~cond; {4067#true} is VALID [2022-02-20 17:32:43,592 INFO L272 TraceCheckUtils]: 40: Hoare triple {4271#(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)); {4067#true} is VALID [2022-02-20 17:32:43,593 INFO L290 TraceCheckUtils]: 39: Hoare triple {4271#(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 < 5);havoc main_#t~post6#1; {4271#(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:43,594 INFO L290 TraceCheckUtils]: 38: Hoare triple {4271#(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; {4271#(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:43,595 INFO L290 TraceCheckUtils]: 37: Hoare triple {4271#(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); {4271#(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:43,596 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4067#true} {4271#(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; {4271#(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:43,596 INFO L290 TraceCheckUtils]: 35: Hoare triple {4067#true} assume true; {4067#true} is VALID [2022-02-20 17:32:43,596 INFO L290 TraceCheckUtils]: 34: Hoare triple {4067#true} assume !(0 == ~cond); {4067#true} is VALID [2022-02-20 17:32:43,596 INFO L290 TraceCheckUtils]: 33: Hoare triple {4067#true} ~cond := #in~cond; {4067#true} is VALID [2022-02-20 17:32:43,596 INFO L272 TraceCheckUtils]: 32: Hoare triple {4271#(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)); {4067#true} is VALID [2022-02-20 17:32:43,597 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4067#true} {4271#(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; {4271#(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:43,597 INFO L290 TraceCheckUtils]: 30: Hoare triple {4067#true} assume true; {4067#true} is VALID [2022-02-20 17:32:43,597 INFO L290 TraceCheckUtils]: 29: Hoare triple {4067#true} assume !(0 == ~cond); {4067#true} is VALID [2022-02-20 17:32:43,597 INFO L290 TraceCheckUtils]: 28: Hoare triple {4067#true} ~cond := #in~cond; {4067#true} is VALID [2022-02-20 17:32:43,597 INFO L272 TraceCheckUtils]: 27: Hoare triple {4271#(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)); {4067#true} is VALID [2022-02-20 17:32:43,598 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4067#true} {4271#(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; {4271#(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:43,598 INFO L290 TraceCheckUtils]: 25: Hoare triple {4067#true} assume true; {4067#true} is VALID [2022-02-20 17:32:43,598 INFO L290 TraceCheckUtils]: 24: Hoare triple {4067#true} assume !(0 == ~cond); {4067#true} is VALID [2022-02-20 17:32:43,598 INFO L290 TraceCheckUtils]: 23: Hoare triple {4067#true} ~cond := #in~cond; {4067#true} is VALID [2022-02-20 17:32:43,598 INFO L272 TraceCheckUtils]: 22: Hoare triple {4271#(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)); {4067#true} is VALID [2022-02-20 17:32:43,599 INFO L290 TraceCheckUtils]: 21: Hoare triple {4271#(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 < 5);havoc main_#t~post5#1; {4271#(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:43,600 INFO L290 TraceCheckUtils]: 20: Hoare triple {4271#(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; {4271#(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:43,607 INFO L290 TraceCheckUtils]: 19: Hoare triple {4267#(= (+ |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; {4271#(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:43,607 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4067#true} {4267#(= (+ |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; {4267#(= (+ |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:43,607 INFO L290 TraceCheckUtils]: 17: Hoare triple {4067#true} assume true; {4067#true} is VALID [2022-02-20 17:32:43,607 INFO L290 TraceCheckUtils]: 16: Hoare triple {4067#true} assume !(0 == ~cond); {4067#true} is VALID [2022-02-20 17:32:43,607 INFO L290 TraceCheckUtils]: 15: Hoare triple {4067#true} ~cond := #in~cond; {4067#true} is VALID [2022-02-20 17:32:43,608 INFO L272 TraceCheckUtils]: 14: Hoare triple {4267#(= (+ |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)); {4067#true} is VALID [2022-02-20 17:32:43,608 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {4067#true} {4267#(= (+ |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; {4267#(= (+ |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:43,608 INFO L290 TraceCheckUtils]: 12: Hoare triple {4067#true} assume true; {4067#true} is VALID [2022-02-20 17:32:43,608 INFO L290 TraceCheckUtils]: 11: Hoare triple {4067#true} assume !(0 == ~cond); {4067#true} is VALID [2022-02-20 17:32:43,608 INFO L290 TraceCheckUtils]: 10: Hoare triple {4067#true} ~cond := #in~cond; {4067#true} is VALID [2022-02-20 17:32:43,608 INFO L272 TraceCheckUtils]: 9: Hoare triple {4267#(= (+ |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)); {4067#true} is VALID [2022-02-20 17:32:43,609 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {4067#true} {4267#(= (+ |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; {4267#(= (+ |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:43,609 INFO L290 TraceCheckUtils]: 7: Hoare triple {4067#true} assume true; {4067#true} is VALID [2022-02-20 17:32:43,609 INFO L290 TraceCheckUtils]: 6: Hoare triple {4067#true} assume !(0 == ~cond); {4067#true} is VALID [2022-02-20 17:32:43,609 INFO L290 TraceCheckUtils]: 5: Hoare triple {4067#true} ~cond := #in~cond; {4067#true} is VALID [2022-02-20 17:32:43,609 INFO L272 TraceCheckUtils]: 4: Hoare triple {4267#(= (+ |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)); {4067#true} is VALID [2022-02-20 17:32:43,610 INFO L290 TraceCheckUtils]: 3: Hoare triple {4267#(= (+ |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 < 5);havoc main_#t~post5#1; {4267#(= (+ |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:43,610 INFO L290 TraceCheckUtils]: 2: Hoare triple {4267#(= (+ |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; {4267#(= (+ |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:43,610 INFO L290 TraceCheckUtils]: 1: Hoare triple {4067#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; {4267#(= (+ |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:43,611 INFO L290 TraceCheckUtils]: 0: Hoare triple {4067#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; {4067#true} is VALID [2022-02-20 17:32:43,611 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:43,611 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:32:43,611 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2133359077] [2022-02-20 17:32:43,611 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:32:43,611 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1014720596] [2022-02-20 17:32:43,611 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1014720596] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:32:43,611 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:32:43,611 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-02-20 17:32:43,611 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [470009114] [2022-02-20 17:32:43,611 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:32:43,612 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:43,612 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:32:43,612 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:43,707 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:43,707 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 17:32:43,707 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:32:43,707 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 17:32:43,707 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-02-20 17:32:43,707 INFO L87 Difference]: Start difference. First operand 168 states and 201 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:47,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:47,832 INFO L93 Difference]: Finished difference Result 266 states and 340 transitions. [2022-02-20 17:32:47,832 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 17:32:47,832 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:47,833 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:32:47,833 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:47,835 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 149 transitions. [2022-02-20 17:32:47,835 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:47,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 149 transitions. [2022-02-20 17:32:47,837 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 149 transitions. [2022-02-20 17:32:48,090 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:48,094 INFO L225 Difference]: With dead ends: 266 [2022-02-20 17:32:48,094 INFO L226 Difference]: Without dead ends: 221 [2022-02-20 17:32:48,095 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 118 GetRequests, 103 SyntacticMatches, 3 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=50, Invalid=132, Unknown=0, NotChecked=0, Total=182 [2022-02-20 17:32:48,096 INFO L933 BasicCegarLoop]: 46 mSDtfsCounter, 50 mSDsluCounter, 216 mSDsCounter, 0 mSdLazyCounter, 229 mSolverCounterSat, 70 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 56 SdHoareTripleChecker+Valid, 262 SdHoareTripleChecker+Invalid, 299 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 70 IncrementalHoareTripleChecker+Valid, 229 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-02-20 17:32:48,096 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [56 Valid, 262 Invalid, 299 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [70 Valid, 229 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-02-20 17:32:48,096 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 221 states. [2022-02-20 17:32:48,187 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 221 to 208. [2022-02-20 17:32:48,187 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:32:48,187 INFO L82 GeneralOperation]: Start isEquivalent. First operand 221 states. Second operand has 208 states, 140 states have (on average 1.2214285714285715) internal successors, (171), 146 states have internal predecessors, (171), 43 states have call successors, (43), 24 states have call predecessors, (43), 24 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-02-20 17:32:48,188 INFO L74 IsIncluded]: Start isIncluded. First operand 221 states. Second operand has 208 states, 140 states have (on average 1.2214285714285715) internal successors, (171), 146 states have internal predecessors, (171), 43 states have call successors, (43), 24 states have call predecessors, (43), 24 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-02-20 17:32:48,189 INFO L87 Difference]: Start difference. First operand 221 states. Second operand has 208 states, 140 states have (on average 1.2214285714285715) internal successors, (171), 146 states have internal predecessors, (171), 43 states have call successors, (43), 24 states have call predecessors, (43), 24 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-02-20 17:32:48,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:48,195 INFO L93 Difference]: Finished difference Result 221 states and 276 transitions. [2022-02-20 17:32:48,195 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 276 transitions. [2022-02-20 17:32:48,196 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:48,196 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:48,196 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 140 states have (on average 1.2214285714285715) internal successors, (171), 146 states have internal predecessors, (171), 43 states have call successors, (43), 24 states have call predecessors, (43), 24 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) Second operand 221 states. [2022-02-20 17:32:48,197 INFO L87 Difference]: Start difference. First operand has 208 states, 140 states have (on average 1.2214285714285715) internal successors, (171), 146 states have internal predecessors, (171), 43 states have call successors, (43), 24 states have call predecessors, (43), 24 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) Second operand 221 states. [2022-02-20 17:32:48,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:32:48,202 INFO L93 Difference]: Finished difference Result 221 states and 276 transitions. [2022-02-20 17:32:48,202 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 276 transitions. [2022-02-20 17:32:48,203 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:32:48,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:32:48,203 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:32:48,203 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:32:48,203 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 140 states have (on average 1.2214285714285715) internal successors, (171), 146 states have internal predecessors, (171), 43 states have call successors, (43), 24 states have call predecessors, (43), 24 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-02-20 17:32:48,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 255 transitions. [2022-02-20 17:32:48,207 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 255 transitions. Word has length 58 [2022-02-20 17:32:48,207 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:32:48,207 INFO L470 AbstractCegarLoop]: Abstraction has 208 states and 255 transitions. [2022-02-20 17:32:48,208 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:48,208 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 255 transitions. [2022-02-20 17:32:48,208 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-02-20 17:32:48,208 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:32:48,208 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:48,225 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:48,424 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:48,425 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:32:48,425 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:32:48,425 INFO L85 PathProgramCache]: Analyzing trace with hash -1688778742, now seen corresponding path program 1 times [2022-02-20 17:32:48,425 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:32:48,425 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1836697860] [2022-02-20 17:32:48,425 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:48,425 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:32:48,437 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:32:48,437 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [345299347] [2022-02-20 17:32:48,437 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:32:48,438 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:32:48,438 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:32:48,439 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:48,440 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:48,484 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:48,485 INFO L263 TraceCheckSpWp]: Trace formula consists of 176 conjuncts, 35 conjunts are in the unsatisfiable core [2022-02-20 17:32:48,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:32:48,497 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:32:49,239 INFO L290 TraceCheckUtils]: 0: Hoare triple {5517#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; {5517#true} is VALID [2022-02-20 17:32:49,239 INFO L290 TraceCheckUtils]: 1: Hoare triple {5517#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; {5525#(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:49,240 INFO L290 TraceCheckUtils]: 2: Hoare triple {5525#(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; {5525#(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:49,240 INFO L290 TraceCheckUtils]: 3: Hoare triple {5525#(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 < 5);havoc main_#t~post5#1; {5525#(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:49,240 INFO L272 TraceCheckUtils]: 4: Hoare triple {5525#(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)); {5517#true} is VALID [2022-02-20 17:32:49,241 INFO L290 TraceCheckUtils]: 5: Hoare triple {5517#true} ~cond := #in~cond; {5517#true} is VALID [2022-02-20 17:32:49,241 INFO L290 TraceCheckUtils]: 6: Hoare triple {5517#true} assume !(0 == ~cond); {5517#true} is VALID [2022-02-20 17:32:49,241 INFO L290 TraceCheckUtils]: 7: Hoare triple {5517#true} assume true; {5517#true} is VALID [2022-02-20 17:32:49,241 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {5517#true} {5525#(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; {5525#(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:49,241 INFO L272 TraceCheckUtils]: 9: Hoare triple {5525#(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)); {5517#true} is VALID [2022-02-20 17:32:49,242 INFO L290 TraceCheckUtils]: 10: Hoare triple {5517#true} ~cond := #in~cond; {5517#true} is VALID [2022-02-20 17:32:49,242 INFO L290 TraceCheckUtils]: 11: Hoare triple {5517#true} assume !(0 == ~cond); {5517#true} is VALID [2022-02-20 17:32:49,242 INFO L290 TraceCheckUtils]: 12: Hoare triple {5517#true} assume true; {5517#true} is VALID [2022-02-20 17:32:49,242 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {5517#true} {5525#(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; {5525#(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:49,242 INFO L272 TraceCheckUtils]: 14: Hoare triple {5525#(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)); {5517#true} is VALID [2022-02-20 17:32:49,243 INFO L290 TraceCheckUtils]: 15: Hoare triple {5517#true} ~cond := #in~cond; {5517#true} is VALID [2022-02-20 17:32:49,243 INFO L290 TraceCheckUtils]: 16: Hoare triple {5517#true} assume !(0 == ~cond); {5517#true} is VALID [2022-02-20 17:32:49,243 INFO L290 TraceCheckUtils]: 17: Hoare triple {5517#true} assume true; {5517#true} is VALID [2022-02-20 17:32:49,243 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5517#true} {5525#(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; {5525#(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:49,244 INFO L290 TraceCheckUtils]: 19: Hoare triple {5525#(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; {5580#(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:49,244 INFO L290 TraceCheckUtils]: 20: Hoare triple {5580#(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; {5580#(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:49,245 INFO L290 TraceCheckUtils]: 21: Hoare triple {5580#(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 < 5);havoc main_#t~post5#1; {5580#(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:49,245 INFO L272 TraceCheckUtils]: 22: Hoare triple {5580#(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)); {5517#true} is VALID [2022-02-20 17:32:49,245 INFO L290 TraceCheckUtils]: 23: Hoare triple {5517#true} ~cond := #in~cond; {5517#true} is VALID [2022-02-20 17:32:49,245 INFO L290 TraceCheckUtils]: 24: Hoare triple {5517#true} assume !(0 == ~cond); {5517#true} is VALID [2022-02-20 17:32:49,245 INFO L290 TraceCheckUtils]: 25: Hoare triple {5517#true} assume true; {5517#true} is VALID [2022-02-20 17:32:49,246 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5517#true} {5580#(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; {5580#(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:49,246 INFO L272 TraceCheckUtils]: 27: Hoare triple {5580#(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)); {5517#true} is VALID [2022-02-20 17:32:49,246 INFO L290 TraceCheckUtils]: 28: Hoare triple {5517#true} ~cond := #in~cond; {5517#true} is VALID [2022-02-20 17:32:49,246 INFO L290 TraceCheckUtils]: 29: Hoare triple {5517#true} assume !(0 == ~cond); {5517#true} is VALID [2022-02-20 17:32:49,246 INFO L290 TraceCheckUtils]: 30: Hoare triple {5517#true} assume true; {5517#true} is VALID [2022-02-20 17:32:49,247 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {5517#true} {5580#(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; {5580#(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:49,247 INFO L272 TraceCheckUtils]: 32: Hoare triple {5580#(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)); {5517#true} is VALID [2022-02-20 17:32:49,247 INFO L290 TraceCheckUtils]: 33: Hoare triple {5517#true} ~cond := #in~cond; {5517#true} is VALID [2022-02-20 17:32:49,247 INFO L290 TraceCheckUtils]: 34: Hoare triple {5517#true} assume !(0 == ~cond); {5517#true} is VALID [2022-02-20 17:32:49,247 INFO L290 TraceCheckUtils]: 35: Hoare triple {5517#true} assume true; {5517#true} is VALID [2022-02-20 17:32:49,248 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5517#true} {5580#(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; {5580#(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:49,248 INFO L290 TraceCheckUtils]: 37: Hoare triple {5580#(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); {5580#(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:49,249 INFO L290 TraceCheckUtils]: 38: Hoare triple {5580#(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; {5580#(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:49,249 INFO L290 TraceCheckUtils]: 39: Hoare triple {5580#(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 < 5);havoc main_#t~post6#1; {5580#(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:49,249 INFO L272 TraceCheckUtils]: 40: Hoare triple {5580#(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)); {5517#true} is VALID [2022-02-20 17:32:49,249 INFO L290 TraceCheckUtils]: 41: Hoare triple {5517#true} ~cond := #in~cond; {5517#true} is VALID [2022-02-20 17:32:49,249 INFO L290 TraceCheckUtils]: 42: Hoare triple {5517#true} assume !(0 == ~cond); {5517#true} is VALID [2022-02-20 17:32:49,250 INFO L290 TraceCheckUtils]: 43: Hoare triple {5517#true} assume true; {5517#true} is VALID [2022-02-20 17:32:49,250 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {5517#true} {5580#(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; {5580#(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:49,250 INFO L272 TraceCheckUtils]: 45: Hoare triple {5580#(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)); {5517#true} is VALID [2022-02-20 17:32:49,250 INFO L290 TraceCheckUtils]: 46: Hoare triple {5517#true} ~cond := #in~cond; {5517#true} is VALID [2022-02-20 17:32:49,250 INFO L290 TraceCheckUtils]: 47: Hoare triple {5517#true} assume !(0 == ~cond); {5517#true} is VALID [2022-02-20 17:32:49,251 INFO L290 TraceCheckUtils]: 48: Hoare triple {5517#true} assume true; {5517#true} is VALID [2022-02-20 17:32:49,251 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {5517#true} {5580#(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; {5580#(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:49,252 INFO L290 TraceCheckUtils]: 50: Hoare triple {5580#(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); {5525#(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:49,253 INFO L290 TraceCheckUtils]: 51: Hoare triple {5525#(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; {5677#(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:49,253 INFO L290 TraceCheckUtils]: 52: Hoare triple {5677#(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; {5677#(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:49,254 INFO L290 TraceCheckUtils]: 53: Hoare triple {5677#(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 < 5);havoc main_#t~post6#1; {5677#(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:49,254 INFO L272 TraceCheckUtils]: 54: Hoare triple {5677#(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)); {5517#true} is VALID [2022-02-20 17:32:49,254 INFO L290 TraceCheckUtils]: 55: Hoare triple {5517#true} ~cond := #in~cond; {5690#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:49,254 INFO L290 TraceCheckUtils]: 56: Hoare triple {5690#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5694#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:32:49,255 INFO L290 TraceCheckUtils]: 57: Hoare triple {5694#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5694#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:32:49,255 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {5694#(not (= |__VERIFIER_assert_#in~cond| 0))} {5677#(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; {5701#(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:49,256 INFO L272 TraceCheckUtils]: 59: Hoare triple {5701#(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)); {5517#true} is VALID [2022-02-20 17:32:49,256 INFO L290 TraceCheckUtils]: 60: Hoare triple {5517#true} ~cond := #in~cond; {5690#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:49,256 INFO L290 TraceCheckUtils]: 61: Hoare triple {5690#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5694#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:32:49,257 INFO L290 TraceCheckUtils]: 62: Hoare triple {5694#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5694#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:32:49,257 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {5694#(not (= |__VERIFIER_assert_#in~cond| 0))} {5701#(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; {5717#(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:49,258 INFO L290 TraceCheckUtils]: 64: Hoare triple {5717#(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); {5721#(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:49,258 INFO L272 TraceCheckUtils]: 65: Hoare triple {5721#(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)); {5725#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:32:49,259 INFO L290 TraceCheckUtils]: 66: Hoare triple {5725#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5729#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:32:49,259 INFO L290 TraceCheckUtils]: 67: Hoare triple {5729#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5518#false} is VALID [2022-02-20 17:32:49,259 INFO L290 TraceCheckUtils]: 68: Hoare triple {5518#false} assume !false; {5518#false} is VALID [2022-02-20 17:32:49,260 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:49,260 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:33:03,170 INFO L290 TraceCheckUtils]: 68: Hoare triple {5518#false} assume !false; {5518#false} is VALID [2022-02-20 17:33:03,171 INFO L290 TraceCheckUtils]: 67: Hoare triple {5729#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5518#false} is VALID [2022-02-20 17:33:03,171 INFO L290 TraceCheckUtils]: 66: Hoare triple {5725#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5729#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:33:03,172 INFO L272 TraceCheckUtils]: 65: Hoare triple {5745#(= (+ (* |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)); {5725#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:33:03,172 INFO L290 TraceCheckUtils]: 64: Hoare triple {5749#(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); {5745#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:33:03,173 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {5694#(not (= |__VERIFIER_assert_#in~cond| 0))} {5753#(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; {5749#(or (not (= |ULTIMATE.start_main_~p~0#1| 1)) (= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))} is VALID [2022-02-20 17:33:03,173 INFO L290 TraceCheckUtils]: 62: Hoare triple {5694#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5694#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:33:03,174 INFO L290 TraceCheckUtils]: 61: Hoare triple {5763#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5694#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:33:03,174 INFO L290 TraceCheckUtils]: 60: Hoare triple {5517#true} ~cond := #in~cond; {5763#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:33:03,174 INFO L272 TraceCheckUtils]: 59: Hoare triple {5753#(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)); {5517#true} is VALID [2022-02-20 17:33:03,176 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {5694#(not (= |__VERIFIER_assert_#in~cond| 0))} {5517#true} #73#return; {5753#(or (not (= |ULTIMATE.start_main_~p~0#1| 1)) (not (= (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~d~0#1|)) (= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))} is VALID [2022-02-20 17:33:03,176 INFO L290 TraceCheckUtils]: 57: Hoare triple {5694#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5694#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:33:03,176 INFO L290 TraceCheckUtils]: 56: Hoare triple {5763#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5694#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:33:03,177 INFO L290 TraceCheckUtils]: 55: Hoare triple {5517#true} ~cond := #in~cond; {5763#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:33:03,177 INFO L272 TraceCheckUtils]: 54: Hoare triple {5517#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)); {5517#true} is VALID [2022-02-20 17:33:03,177 INFO L290 TraceCheckUtils]: 53: Hoare triple {5517#true} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {5517#true} is VALID [2022-02-20 17:33:03,177 INFO L290 TraceCheckUtils]: 52: Hoare triple {5517#true} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {5517#true} is VALID [2022-02-20 17:33:03,177 INFO L290 TraceCheckUtils]: 51: Hoare triple {5517#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; {5517#true} is VALID [2022-02-20 17:33:03,177 INFO L290 TraceCheckUtils]: 50: Hoare triple {5517#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); {5517#true} is VALID [2022-02-20 17:33:03,177 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {5517#true} {5517#true} #75#return; {5517#true} is VALID [2022-02-20 17:33:03,177 INFO L290 TraceCheckUtils]: 48: Hoare triple {5517#true} assume true; {5517#true} is VALID [2022-02-20 17:33:03,177 INFO L290 TraceCheckUtils]: 47: Hoare triple {5517#true} assume !(0 == ~cond); {5517#true} is VALID [2022-02-20 17:33:03,177 INFO L290 TraceCheckUtils]: 46: Hoare triple {5517#true} ~cond := #in~cond; {5517#true} is VALID [2022-02-20 17:33:03,177 INFO L272 TraceCheckUtils]: 45: Hoare triple {5517#true} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {5517#true} is VALID [2022-02-20 17:33:03,177 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {5517#true} {5517#true} #73#return; {5517#true} is VALID [2022-02-20 17:33:03,177 INFO L290 TraceCheckUtils]: 43: Hoare triple {5517#true} assume true; {5517#true} is VALID [2022-02-20 17:33:03,177 INFO L290 TraceCheckUtils]: 42: Hoare triple {5517#true} assume !(0 == ~cond); {5517#true} is VALID [2022-02-20 17:33:03,177 INFO L290 TraceCheckUtils]: 41: Hoare triple {5517#true} ~cond := #in~cond; {5517#true} is VALID [2022-02-20 17:33:03,177 INFO L272 TraceCheckUtils]: 40: Hoare triple {5517#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)); {5517#true} is VALID [2022-02-20 17:33:03,177 INFO L290 TraceCheckUtils]: 39: Hoare triple {5517#true} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {5517#true} is VALID [2022-02-20 17:33:03,177 INFO L290 TraceCheckUtils]: 38: Hoare triple {5517#true} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {5517#true} is VALID [2022-02-20 17:33:03,177 INFO L290 TraceCheckUtils]: 37: Hoare triple {5517#true} assume !(main_~r~0#1 >= main_~d~0#1); {5517#true} is VALID [2022-02-20 17:33:03,177 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5517#true} {5517#true} #71#return; {5517#true} is VALID [2022-02-20 17:33:03,177 INFO L290 TraceCheckUtils]: 35: Hoare triple {5517#true} assume true; {5517#true} is VALID [2022-02-20 17:33:03,178 INFO L290 TraceCheckUtils]: 34: Hoare triple {5517#true} assume !(0 == ~cond); {5517#true} is VALID [2022-02-20 17:33:03,178 INFO L290 TraceCheckUtils]: 33: Hoare triple {5517#true} ~cond := #in~cond; {5517#true} is VALID [2022-02-20 17:33:03,178 INFO L272 TraceCheckUtils]: 32: Hoare triple {5517#true} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {5517#true} is VALID [2022-02-20 17:33:03,178 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {5517#true} {5517#true} #69#return; {5517#true} is VALID [2022-02-20 17:33:03,178 INFO L290 TraceCheckUtils]: 30: Hoare triple {5517#true} assume true; {5517#true} is VALID [2022-02-20 17:33:03,178 INFO L290 TraceCheckUtils]: 29: Hoare triple {5517#true} assume !(0 == ~cond); {5517#true} is VALID [2022-02-20 17:33:03,178 INFO L290 TraceCheckUtils]: 28: Hoare triple {5517#true} ~cond := #in~cond; {5517#true} is VALID [2022-02-20 17:33:03,178 INFO L272 TraceCheckUtils]: 27: Hoare triple {5517#true} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {5517#true} is VALID [2022-02-20 17:33:03,178 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5517#true} {5517#true} #67#return; {5517#true} is VALID [2022-02-20 17:33:03,178 INFO L290 TraceCheckUtils]: 25: Hoare triple {5517#true} assume true; {5517#true} is VALID [2022-02-20 17:33:03,178 INFO L290 TraceCheckUtils]: 24: Hoare triple {5517#true} assume !(0 == ~cond); {5517#true} is VALID [2022-02-20 17:33:03,178 INFO L290 TraceCheckUtils]: 23: Hoare triple {5517#true} ~cond := #in~cond; {5517#true} is VALID [2022-02-20 17:33:03,178 INFO L272 TraceCheckUtils]: 22: Hoare triple {5517#true} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {5517#true} is VALID [2022-02-20 17:33:03,178 INFO L290 TraceCheckUtils]: 21: Hoare triple {5517#true} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {5517#true} is VALID [2022-02-20 17:33:03,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {5517#true} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {5517#true} is VALID [2022-02-20 17:33:03,178 INFO L290 TraceCheckUtils]: 19: Hoare triple {5517#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; {5517#true} is VALID [2022-02-20 17:33:03,179 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5517#true} {5517#true} #71#return; {5517#true} is VALID [2022-02-20 17:33:03,179 INFO L290 TraceCheckUtils]: 17: Hoare triple {5517#true} assume true; {5517#true} is VALID [2022-02-20 17:33:03,179 INFO L290 TraceCheckUtils]: 16: Hoare triple {5517#true} assume !(0 == ~cond); {5517#true} is VALID [2022-02-20 17:33:03,179 INFO L290 TraceCheckUtils]: 15: Hoare triple {5517#true} ~cond := #in~cond; {5517#true} is VALID [2022-02-20 17:33:03,179 INFO L272 TraceCheckUtils]: 14: Hoare triple {5517#true} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {5517#true} is VALID [2022-02-20 17:33:03,179 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {5517#true} {5517#true} #69#return; {5517#true} is VALID [2022-02-20 17:33:03,179 INFO L290 TraceCheckUtils]: 12: Hoare triple {5517#true} assume true; {5517#true} is VALID [2022-02-20 17:33:03,179 INFO L290 TraceCheckUtils]: 11: Hoare triple {5517#true} assume !(0 == ~cond); {5517#true} is VALID [2022-02-20 17:33:03,179 INFO L290 TraceCheckUtils]: 10: Hoare triple {5517#true} ~cond := #in~cond; {5517#true} is VALID [2022-02-20 17:33:03,179 INFO L272 TraceCheckUtils]: 9: Hoare triple {5517#true} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {5517#true} is VALID [2022-02-20 17:33:03,179 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {5517#true} {5517#true} #67#return; {5517#true} is VALID [2022-02-20 17:33:03,179 INFO L290 TraceCheckUtils]: 7: Hoare triple {5517#true} assume true; {5517#true} is VALID [2022-02-20 17:33:03,179 INFO L290 TraceCheckUtils]: 6: Hoare triple {5517#true} assume !(0 == ~cond); {5517#true} is VALID [2022-02-20 17:33:03,179 INFO L290 TraceCheckUtils]: 5: Hoare triple {5517#true} ~cond := #in~cond; {5517#true} is VALID [2022-02-20 17:33:03,179 INFO L272 TraceCheckUtils]: 4: Hoare triple {5517#true} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {5517#true} is VALID [2022-02-20 17:33:03,179 INFO L290 TraceCheckUtils]: 3: Hoare triple {5517#true} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {5517#true} is VALID [2022-02-20 17:33:03,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {5517#true} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {5517#true} is VALID [2022-02-20 17:33:03,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {5517#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; {5517#true} is VALID [2022-02-20 17:33:03,180 INFO L290 TraceCheckUtils]: 0: Hoare triple {5517#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; {5517#true} is VALID [2022-02-20 17:33:03,180 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:33:03,180 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:33:03,180 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1836697860] [2022-02-20 17:33:03,180 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:33:03,180 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [345299347] [2022-02-20 17:33:03,180 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [345299347] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:33:03,180 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:33:03,180 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-02-20 17:33:03,180 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [763011846] [2022-02-20 17:33:03,180 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:33:03,181 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:33:03,181 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:33:03,181 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:33:03,248 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:33:03,249 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-20 17:33:03,249 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:33:03,249 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-20 17:33:03,249 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=189, Unknown=0, NotChecked=0, Total=240 [2022-02-20 17:33:03,249 INFO L87 Difference]: Start difference. First operand 208 states and 255 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:33:04,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:04,407 INFO L93 Difference]: Finished difference Result 256 states and 316 transitions. [2022-02-20 17:33:04,408 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 17:33:04,408 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:33:04,409 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:33:04,409 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:33:04,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 122 transitions. [2022-02-20 17:33:04,413 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:33:04,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 122 transitions. [2022-02-20 17:33:04,415 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 122 transitions. [2022-02-20 17:33:04,521 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:33:04,523 INFO L225 Difference]: With dead ends: 256 [2022-02-20 17:33:04,523 INFO L226 Difference]: Without dead ends: 180 [2022-02-20 17:33:04,524 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:33:04,524 INFO L933 BasicCegarLoop]: 30 mSDtfsCounter, 59 mSDsluCounter, 169 mSDsCounter, 0 mSdLazyCounter, 301 mSolverCounterSat, 74 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 199 SdHoareTripleChecker+Invalid, 375 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 74 IncrementalHoareTripleChecker+Valid, 301 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 17:33:04,524 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [73 Valid, 199 Invalid, 375 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [74 Valid, 301 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 17:33:04,525 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 180 states. [2022-02-20 17:33:04,585 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 180 to 169. [2022-02-20 17:33:04,585 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:33:04,586 INFO L82 GeneralOperation]: Start isEquivalent. First operand 180 states. Second operand has 169 states, 113 states have (on average 1.1858407079646018) internal successors, (134), 117 states have internal predecessors, (134), 34 states have call successors, (34), 22 states have call predecessors, (34), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-02-20 17:33:04,586 INFO L74 IsIncluded]: Start isIncluded. First operand 180 states. Second operand has 169 states, 113 states have (on average 1.1858407079646018) internal successors, (134), 117 states have internal predecessors, (134), 34 states have call successors, (34), 22 states have call predecessors, (34), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-02-20 17:33:04,587 INFO L87 Difference]: Start difference. First operand 180 states. Second operand has 169 states, 113 states have (on average 1.1858407079646018) internal successors, (134), 117 states have internal predecessors, (134), 34 states have call successors, (34), 22 states have call predecessors, (34), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-02-20 17:33:04,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:04,595 INFO L93 Difference]: Finished difference Result 180 states and 212 transitions. [2022-02-20 17:33:04,595 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 212 transitions. [2022-02-20 17:33:04,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:33:04,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:33:04,598 INFO L74 IsIncluded]: Start isIncluded. First operand has 169 states, 113 states have (on average 1.1858407079646018) internal successors, (134), 117 states have internal predecessors, (134), 34 states have call successors, (34), 22 states have call predecessors, (34), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) Second operand 180 states. [2022-02-20 17:33:04,599 INFO L87 Difference]: Start difference. First operand has 169 states, 113 states have (on average 1.1858407079646018) internal successors, (134), 117 states have internal predecessors, (134), 34 states have call successors, (34), 22 states have call predecessors, (34), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) Second operand 180 states. [2022-02-20 17:33:04,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:04,605 INFO L93 Difference]: Finished difference Result 180 states and 212 transitions. [2022-02-20 17:33:04,605 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 212 transitions. [2022-02-20 17:33:04,606 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:33:04,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:33:04,606 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:33:04,606 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:33:04,606 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 169 states, 113 states have (on average 1.1858407079646018) internal successors, (134), 117 states have internal predecessors, (134), 34 states have call successors, (34), 22 states have call predecessors, (34), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-02-20 17:33:04,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 169 states to 169 states and 200 transitions. [2022-02-20 17:33:04,609 INFO L78 Accepts]: Start accepts. Automaton has 169 states and 200 transitions. Word has length 69 [2022-02-20 17:33:04,609 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:33:04,609 INFO L470 AbstractCegarLoop]: Abstraction has 169 states and 200 transitions. [2022-02-20 17:33:04,609 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:33:04,609 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 200 transitions. [2022-02-20 17:33:04,610 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2022-02-20 17:33:04,610 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:33:04,611 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:33:04,647 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-02-20 17:33:04,827 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:33:04,827 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:33:04,828 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:33:04,828 INFO L85 PathProgramCache]: Analyzing trace with hash -1687889621, now seen corresponding path program 1 times [2022-02-20 17:33:04,828 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:33:04,828 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2138592268] [2022-02-20 17:33:04,828 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:33:04,828 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:33:04,842 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:33:04,842 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [488478060] [2022-02-20 17:33:04,842 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:33:04,842 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:33:04,842 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:33:04,843 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:33:04,844 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-02-20 17:33:04,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:33:04,881 INFO L263 TraceCheckSpWp]: Trace formula consists of 189 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 17:33:04,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:33:04,891 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:33:06,738 INFO L290 TraceCheckUtils]: 0: Hoare triple {6887#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; {6887#true} is VALID [2022-02-20 17:33:06,739 INFO L290 TraceCheckUtils]: 1: Hoare triple {6887#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; {6895#(<= 1 |ULTIMATE.start_main_~p~0#1|)} is VALID [2022-02-20 17:33:06,739 INFO L290 TraceCheckUtils]: 2: Hoare triple {6895#(<= 1 |ULTIMATE.start_main_~p~0#1|)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {6895#(<= 1 |ULTIMATE.start_main_~p~0#1|)} is VALID [2022-02-20 17:33:06,739 INFO L290 TraceCheckUtils]: 3: Hoare triple {6895#(<= 1 |ULTIMATE.start_main_~p~0#1|)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {6895#(<= 1 |ULTIMATE.start_main_~p~0#1|)} is VALID [2022-02-20 17:33:06,739 INFO L272 TraceCheckUtils]: 4: Hoare triple {6895#(<= 1 |ULTIMATE.start_main_~p~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {6887#true} is VALID [2022-02-20 17:33:06,739 INFO L290 TraceCheckUtils]: 5: Hoare triple {6887#true} ~cond := #in~cond; {6887#true} is VALID [2022-02-20 17:33:06,740 INFO L290 TraceCheckUtils]: 6: Hoare triple {6887#true} assume !(0 == ~cond); {6887#true} is VALID [2022-02-20 17:33:06,740 INFO L290 TraceCheckUtils]: 7: Hoare triple {6887#true} assume true; {6887#true} is VALID [2022-02-20 17:33:06,740 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {6887#true} {6895#(<= 1 |ULTIMATE.start_main_~p~0#1|)} #67#return; {6895#(<= 1 |ULTIMATE.start_main_~p~0#1|)} is VALID [2022-02-20 17:33:06,740 INFO L272 TraceCheckUtils]: 9: Hoare triple {6895#(<= 1 |ULTIMATE.start_main_~p~0#1|)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {6887#true} is VALID [2022-02-20 17:33:06,740 INFO L290 TraceCheckUtils]: 10: Hoare triple {6887#true} ~cond := #in~cond; {6887#true} is VALID [2022-02-20 17:33:06,740 INFO L290 TraceCheckUtils]: 11: Hoare triple {6887#true} assume !(0 == ~cond); {6887#true} is VALID [2022-02-20 17:33:06,741 INFO L290 TraceCheckUtils]: 12: Hoare triple {6887#true} assume true; {6887#true} is VALID [2022-02-20 17:33:06,741 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {6887#true} {6895#(<= 1 |ULTIMATE.start_main_~p~0#1|)} #69#return; {6895#(<= 1 |ULTIMATE.start_main_~p~0#1|)} is VALID [2022-02-20 17:33:06,741 INFO L272 TraceCheckUtils]: 14: Hoare triple {6895#(<= 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)); {6887#true} is VALID [2022-02-20 17:33:06,741 INFO L290 TraceCheckUtils]: 15: Hoare triple {6887#true} ~cond := #in~cond; {6887#true} is VALID [2022-02-20 17:33:06,741 INFO L290 TraceCheckUtils]: 16: Hoare triple {6887#true} assume !(0 == ~cond); {6887#true} is VALID [2022-02-20 17:33:06,741 INFO L290 TraceCheckUtils]: 17: Hoare triple {6887#true} assume true; {6887#true} is VALID [2022-02-20 17:33:06,742 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6887#true} {6895#(<= 1 |ULTIMATE.start_main_~p~0#1|)} #71#return; {6895#(<= 1 |ULTIMATE.start_main_~p~0#1|)} is VALID [2022-02-20 17:33:06,742 INFO L290 TraceCheckUtils]: 19: Hoare triple {6895#(<= 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; {6950#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} is VALID [2022-02-20 17:33:06,743 INFO L290 TraceCheckUtils]: 20: Hoare triple {6950#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {6950#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} is VALID [2022-02-20 17:33:06,743 INFO L290 TraceCheckUtils]: 21: Hoare triple {6950#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {6950#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} is VALID [2022-02-20 17:33:06,743 INFO L272 TraceCheckUtils]: 22: Hoare triple {6950#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {6887#true} is VALID [2022-02-20 17:33:06,743 INFO L290 TraceCheckUtils]: 23: Hoare triple {6887#true} ~cond := #in~cond; {6887#true} is VALID [2022-02-20 17:33:06,743 INFO L290 TraceCheckUtils]: 24: Hoare triple {6887#true} assume !(0 == ~cond); {6887#true} is VALID [2022-02-20 17:33:06,744 INFO L290 TraceCheckUtils]: 25: Hoare triple {6887#true} assume true; {6887#true} is VALID [2022-02-20 17:33:06,744 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6887#true} {6950#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} #67#return; {6950#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} is VALID [2022-02-20 17:33:06,744 INFO L272 TraceCheckUtils]: 27: Hoare triple {6950#(<= 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)); {6887#true} is VALID [2022-02-20 17:33:06,744 INFO L290 TraceCheckUtils]: 28: Hoare triple {6887#true} ~cond := #in~cond; {6887#true} is VALID [2022-02-20 17:33:06,744 INFO L290 TraceCheckUtils]: 29: Hoare triple {6887#true} assume !(0 == ~cond); {6887#true} is VALID [2022-02-20 17:33:06,744 INFO L290 TraceCheckUtils]: 30: Hoare triple {6887#true} assume true; {6887#true} is VALID [2022-02-20 17:33:06,745 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {6887#true} {6950#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} #69#return; {6950#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} is VALID [2022-02-20 17:33:06,745 INFO L272 TraceCheckUtils]: 32: Hoare triple {6950#(<= 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)); {6887#true} is VALID [2022-02-20 17:33:06,745 INFO L290 TraceCheckUtils]: 33: Hoare triple {6887#true} ~cond := #in~cond; {6887#true} is VALID [2022-02-20 17:33:06,745 INFO L290 TraceCheckUtils]: 34: Hoare triple {6887#true} assume !(0 == ~cond); {6887#true} is VALID [2022-02-20 17:33:06,745 INFO L290 TraceCheckUtils]: 35: Hoare triple {6887#true} assume true; {6887#true} is VALID [2022-02-20 17:33:06,746 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6887#true} {6950#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} #71#return; {6950#(<= 1 (div |ULTIMATE.start_main_~p~0#1| 2))} is VALID [2022-02-20 17:33:06,746 INFO L290 TraceCheckUtils]: 37: Hoare triple {6950#(<= 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; {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:06,747 INFO L290 TraceCheckUtils]: 38: Hoare triple {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:06,747 INFO L290 TraceCheckUtils]: 39: Hoare triple {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:06,747 INFO L272 TraceCheckUtils]: 40: Hoare triple {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {6887#true} is VALID [2022-02-20 17:33:06,747 INFO L290 TraceCheckUtils]: 41: Hoare triple {6887#true} ~cond := #in~cond; {6887#true} is VALID [2022-02-20 17:33:06,747 INFO L290 TraceCheckUtils]: 42: Hoare triple {6887#true} assume !(0 == ~cond); {6887#true} is VALID [2022-02-20 17:33:06,747 INFO L290 TraceCheckUtils]: 43: Hoare triple {6887#true} assume true; {6887#true} is VALID [2022-02-20 17:33:06,748 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6887#true} {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} #67#return; {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:06,749 INFO L272 TraceCheckUtils]: 45: Hoare triple {7005#(<= 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)); {6887#true} is VALID [2022-02-20 17:33:06,749 INFO L290 TraceCheckUtils]: 46: Hoare triple {6887#true} ~cond := #in~cond; {6887#true} is VALID [2022-02-20 17:33:06,749 INFO L290 TraceCheckUtils]: 47: Hoare triple {6887#true} assume !(0 == ~cond); {6887#true} is VALID [2022-02-20 17:33:06,749 INFO L290 TraceCheckUtils]: 48: Hoare triple {6887#true} assume true; {6887#true} is VALID [2022-02-20 17:33:06,750 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {6887#true} {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} #69#return; {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:06,750 INFO L272 TraceCheckUtils]: 50: Hoare triple {7005#(<= 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)); {6887#true} is VALID [2022-02-20 17:33:06,750 INFO L290 TraceCheckUtils]: 51: Hoare triple {6887#true} ~cond := #in~cond; {6887#true} is VALID [2022-02-20 17:33:06,750 INFO L290 TraceCheckUtils]: 52: Hoare triple {6887#true} assume !(0 == ~cond); {6887#true} is VALID [2022-02-20 17:33:06,750 INFO L290 TraceCheckUtils]: 53: Hoare triple {6887#true} assume true; {6887#true} is VALID [2022-02-20 17:33:06,751 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {6887#true} {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} #71#return; {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:06,751 INFO L290 TraceCheckUtils]: 55: Hoare triple {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} assume !(main_~r~0#1 >= main_~d~0#1); {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:06,751 INFO L290 TraceCheckUtils]: 56: Hoare triple {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:06,752 INFO L290 TraceCheckUtils]: 57: Hoare triple {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:06,752 INFO L272 TraceCheckUtils]: 58: Hoare triple {7005#(<= 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)); {6887#true} is VALID [2022-02-20 17:33:06,752 INFO L290 TraceCheckUtils]: 59: Hoare triple {6887#true} ~cond := #in~cond; {6887#true} is VALID [2022-02-20 17:33:06,752 INFO L290 TraceCheckUtils]: 60: Hoare triple {6887#true} assume !(0 == ~cond); {6887#true} is VALID [2022-02-20 17:33:06,752 INFO L290 TraceCheckUtils]: 61: Hoare triple {6887#true} assume true; {6887#true} is VALID [2022-02-20 17:33:06,753 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6887#true} {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} #73#return; {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:06,753 INFO L272 TraceCheckUtils]: 63: Hoare triple {7005#(<= 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)); {6887#true} is VALID [2022-02-20 17:33:06,753 INFO L290 TraceCheckUtils]: 64: Hoare triple {6887#true} ~cond := #in~cond; {6887#true} is VALID [2022-02-20 17:33:06,753 INFO L290 TraceCheckUtils]: 65: Hoare triple {6887#true} assume !(0 == ~cond); {6887#true} is VALID [2022-02-20 17:33:06,753 INFO L290 TraceCheckUtils]: 66: Hoare triple {6887#true} assume true; {6887#true} is VALID [2022-02-20 17:33:06,754 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6887#true} {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} #75#return; {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} is VALID [2022-02-20 17:33:06,754 INFO L290 TraceCheckUtils]: 68: Hoare triple {7005#(<= 1 (div (div |ULTIMATE.start_main_~p~0#1| 2) 2))} assume !(1 != main_~p~0#1); {6888#false} is VALID [2022-02-20 17:33:06,754 INFO L272 TraceCheckUtils]: 69: Hoare triple {6888#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)); {6888#false} is VALID [2022-02-20 17:33:06,754 INFO L290 TraceCheckUtils]: 70: Hoare triple {6888#false} ~cond := #in~cond; {6888#false} is VALID [2022-02-20 17:33:06,754 INFO L290 TraceCheckUtils]: 71: Hoare triple {6888#false} assume !(0 == ~cond); {6888#false} is VALID [2022-02-20 17:33:06,754 INFO L290 TraceCheckUtils]: 72: Hoare triple {6888#false} assume true; {6888#false} is VALID [2022-02-20 17:33:06,754 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6888#false} {6888#false} #77#return; {6888#false} is VALID [2022-02-20 17:33:06,754 INFO L272 TraceCheckUtils]: 74: Hoare triple {6888#false} call __VERIFIER_assert((if main_~B~0#1 == main_~d~0#1 then 1 else 0)); {6888#false} is VALID [2022-02-20 17:33:06,755 INFO L290 TraceCheckUtils]: 75: Hoare triple {6888#false} ~cond := #in~cond; {6888#false} is VALID [2022-02-20 17:33:06,755 INFO L290 TraceCheckUtils]: 76: Hoare triple {6888#false} assume 0 == ~cond; {6888#false} is VALID [2022-02-20 17:33:06,755 INFO L290 TraceCheckUtils]: 77: Hoare triple {6888#false} assume !false; {6888#false} is VALID [2022-02-20 17:33:06,755 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:33:06,755 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:33:06,755 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:33:06,755 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2138592268] [2022-02-20 17:33:06,756 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:33:06,756 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [488478060] [2022-02-20 17:33:06,756 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [488478060] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:33:06,756 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:33:06,756 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:33:06,756 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [550763619] [2022-02-20 17:33:06,756 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:33:06,757 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:33:06,757 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:33:06,758 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:33:06,790 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:33:06,790 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:33:06,790 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:33:06,791 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:33:06,792 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:33:06,792 INFO L87 Difference]: Start difference. First operand 169 states and 200 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:33:06,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:06,982 INFO L93 Difference]: Finished difference Result 188 states and 223 transitions. [2022-02-20 17:33:06,982 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:33:06,982 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:33:06,982 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:33:06,982 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:33:06,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 84 transitions. [2022-02-20 17:33:06,984 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:33:06,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 84 transitions. [2022-02-20 17:33:06,985 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 84 transitions. [2022-02-20 17:33:07,052 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:33:07,054 INFO L225 Difference]: With dead ends: 188 [2022-02-20 17:33:07,054 INFO L226 Difference]: Without dead ends: 168 [2022-02-20 17:33:07,055 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:33:07,055 INFO L933 BasicCegarLoop]: 50 mSDtfsCounter, 18 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 25 SdHoareTripleChecker+Valid, 100 SdHoareTripleChecker+Invalid, 33 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 25 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:33:07,055 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [25 Valid, 100 Invalid, 33 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:33:07,056 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 168 states. [2022-02-20 17:33:07,125 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 168 to 163. [2022-02-20 17:33:07,126 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:33:07,126 INFO L82 GeneralOperation]: Start isEquivalent. First operand 168 states. Second operand has 163 states, 110 states have (on average 1.1727272727272726) internal successors, (129), 112 states have internal predecessors, (129), 32 states have call successors, (32), 20 states have call predecessors, (32), 20 states have return successors, (31), 30 states have call predecessors, (31), 31 states have call successors, (31) [2022-02-20 17:33:07,126 INFO L74 IsIncluded]: Start isIncluded. First operand 168 states. Second operand has 163 states, 110 states have (on average 1.1727272727272726) internal successors, (129), 112 states have internal predecessors, (129), 32 states have call successors, (32), 20 states have call predecessors, (32), 20 states have return successors, (31), 30 states have call predecessors, (31), 31 states have call successors, (31) [2022-02-20 17:33:07,127 INFO L87 Difference]: Start difference. First operand 168 states. Second operand has 163 states, 110 states have (on average 1.1727272727272726) internal successors, (129), 112 states have internal predecessors, (129), 32 states have call successors, (32), 20 states have call predecessors, (32), 20 states have return successors, (31), 30 states have call predecessors, (31), 31 states have call successors, (31) [2022-02-20 17:33:07,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:07,129 INFO L93 Difference]: Finished difference Result 168 states and 200 transitions. [2022-02-20 17:33:07,129 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 200 transitions. [2022-02-20 17:33:07,130 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:33:07,130 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:33:07,130 INFO L74 IsIncluded]: Start isIncluded. First operand has 163 states, 110 states have (on average 1.1727272727272726) internal successors, (129), 112 states have internal predecessors, (129), 32 states have call successors, (32), 20 states have call predecessors, (32), 20 states have return successors, (31), 30 states have call predecessors, (31), 31 states have call successors, (31) Second operand 168 states. [2022-02-20 17:33:07,130 INFO L87 Difference]: Start difference. First operand has 163 states, 110 states have (on average 1.1727272727272726) internal successors, (129), 112 states have internal predecessors, (129), 32 states have call successors, (32), 20 states have call predecessors, (32), 20 states have return successors, (31), 30 states have call predecessors, (31), 31 states have call successors, (31) Second operand 168 states. [2022-02-20 17:33:07,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:07,133 INFO L93 Difference]: Finished difference Result 168 states and 200 transitions. [2022-02-20 17:33:07,134 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 200 transitions. [2022-02-20 17:33:07,134 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:33:07,134 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:33:07,134 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:33:07,134 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:33:07,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 163 states, 110 states have (on average 1.1727272727272726) internal successors, (129), 112 states have internal predecessors, (129), 32 states have call successors, (32), 20 states have call predecessors, (32), 20 states have return successors, (31), 30 states have call predecessors, (31), 31 states have call successors, (31) [2022-02-20 17:33:07,137 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 163 states to 163 states and 192 transitions. [2022-02-20 17:33:07,137 INFO L78 Accepts]: Start accepts. Automaton has 163 states and 192 transitions. Word has length 78 [2022-02-20 17:33:07,137 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:33:07,137 INFO L470 AbstractCegarLoop]: Abstraction has 163 states and 192 transitions. [2022-02-20 17:33:07,137 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:33:07,137 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 192 transitions. [2022-02-20 17:33:07,138 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 88 [2022-02-20 17:33:07,138 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:33:07,138 INFO L514 BasicCegarLoop]: trace histogram [14, 13, 13, 5, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:33:07,154 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-02-20 17:33:07,354 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:33:07,354 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:33:07,355 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:33:07,355 INFO L85 PathProgramCache]: Analyzing trace with hash 1496336062, now seen corresponding path program 1 times [2022-02-20 17:33:07,355 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:33:07,355 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [416127073] [2022-02-20 17:33:07,355 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:33:07,355 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:33:07,364 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:33:07,365 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1172197534] [2022-02-20 17:33:07,365 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:33:07,365 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:33:07,365 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:33:07,366 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:33:07,367 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-02-20 17:33:07,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:33:07,404 INFO L263 TraceCheckSpWp]: Trace formula consists of 215 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 17:33:07,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:33:07,430 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:33:07,719 INFO L290 TraceCheckUtils]: 0: Hoare triple {7939#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; {7944#(<= ~counter~0 0)} is VALID [2022-02-20 17:33:07,720 INFO L290 TraceCheckUtils]: 1: Hoare triple {7944#(<= ~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; {7944#(<= ~counter~0 0)} is VALID [2022-02-20 17:33:07,720 INFO L290 TraceCheckUtils]: 2: Hoare triple {7944#(<= ~counter~0 0)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:07,721 INFO L290 TraceCheckUtils]: 3: Hoare triple {7951#(<= ~counter~0 1)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:07,721 INFO L272 TraceCheckUtils]: 4: Hoare triple {7951#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:07,721 INFO L290 TraceCheckUtils]: 5: Hoare triple {7951#(<= ~counter~0 1)} ~cond := #in~cond; {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:07,722 INFO L290 TraceCheckUtils]: 6: Hoare triple {7951#(<= ~counter~0 1)} assume !(0 == ~cond); {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:07,722 INFO L290 TraceCheckUtils]: 7: Hoare triple {7951#(<= ~counter~0 1)} assume true; {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:07,722 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {7951#(<= ~counter~0 1)} {7951#(<= ~counter~0 1)} #67#return; {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:07,723 INFO L272 TraceCheckUtils]: 9: Hoare triple {7951#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:07,723 INFO L290 TraceCheckUtils]: 10: Hoare triple {7951#(<= ~counter~0 1)} ~cond := #in~cond; {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:07,723 INFO L290 TraceCheckUtils]: 11: Hoare triple {7951#(<= ~counter~0 1)} assume !(0 == ~cond); {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:07,723 INFO L290 TraceCheckUtils]: 12: Hoare triple {7951#(<= ~counter~0 1)} assume true; {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:07,724 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {7951#(<= ~counter~0 1)} {7951#(<= ~counter~0 1)} #69#return; {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:07,724 INFO L272 TraceCheckUtils]: 14: Hoare triple {7951#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:07,724 INFO L290 TraceCheckUtils]: 15: Hoare triple {7951#(<= ~counter~0 1)} ~cond := #in~cond; {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:07,725 INFO L290 TraceCheckUtils]: 16: Hoare triple {7951#(<= ~counter~0 1)} assume !(0 == ~cond); {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:07,725 INFO L290 TraceCheckUtils]: 17: Hoare triple {7951#(<= ~counter~0 1)} assume true; {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:07,725 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7951#(<= ~counter~0 1)} {7951#(<= ~counter~0 1)} #71#return; {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:07,726 INFO L290 TraceCheckUtils]: 19: Hoare triple {7951#(<= ~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; {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:07,726 INFO L290 TraceCheckUtils]: 20: Hoare triple {7951#(<= ~counter~0 1)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:07,726 INFO L290 TraceCheckUtils]: 21: Hoare triple {8006#(<= ~counter~0 2)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:07,727 INFO L272 TraceCheckUtils]: 22: Hoare triple {8006#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:07,727 INFO L290 TraceCheckUtils]: 23: Hoare triple {8006#(<= ~counter~0 2)} ~cond := #in~cond; {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:07,727 INFO L290 TraceCheckUtils]: 24: Hoare triple {8006#(<= ~counter~0 2)} assume !(0 == ~cond); {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:07,727 INFO L290 TraceCheckUtils]: 25: Hoare triple {8006#(<= ~counter~0 2)} assume true; {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:07,728 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8006#(<= ~counter~0 2)} {8006#(<= ~counter~0 2)} #67#return; {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:07,728 INFO L272 TraceCheckUtils]: 27: Hoare triple {8006#(<= ~counter~0 2)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:07,728 INFO L290 TraceCheckUtils]: 28: Hoare triple {8006#(<= ~counter~0 2)} ~cond := #in~cond; {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:07,729 INFO L290 TraceCheckUtils]: 29: Hoare triple {8006#(<= ~counter~0 2)} assume !(0 == ~cond); {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:07,729 INFO L290 TraceCheckUtils]: 30: Hoare triple {8006#(<= ~counter~0 2)} assume true; {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:07,729 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {8006#(<= ~counter~0 2)} {8006#(<= ~counter~0 2)} #69#return; {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:07,730 INFO L272 TraceCheckUtils]: 32: Hoare triple {8006#(<= ~counter~0 2)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:07,730 INFO L290 TraceCheckUtils]: 33: Hoare triple {8006#(<= ~counter~0 2)} ~cond := #in~cond; {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:07,730 INFO L290 TraceCheckUtils]: 34: Hoare triple {8006#(<= ~counter~0 2)} assume !(0 == ~cond); {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:07,730 INFO L290 TraceCheckUtils]: 35: Hoare triple {8006#(<= ~counter~0 2)} assume true; {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:07,731 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8006#(<= ~counter~0 2)} {8006#(<= ~counter~0 2)} #71#return; {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:07,731 INFO L290 TraceCheckUtils]: 37: Hoare triple {8006#(<= ~counter~0 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; {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:07,731 INFO L290 TraceCheckUtils]: 38: Hoare triple {8006#(<= ~counter~0 2)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:07,732 INFO L290 TraceCheckUtils]: 39: Hoare triple {8061#(<= ~counter~0 3)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:07,732 INFO L272 TraceCheckUtils]: 40: Hoare triple {8061#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:07,732 INFO L290 TraceCheckUtils]: 41: Hoare triple {8061#(<= ~counter~0 3)} ~cond := #in~cond; {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:07,732 INFO L290 TraceCheckUtils]: 42: Hoare triple {8061#(<= ~counter~0 3)} assume !(0 == ~cond); {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:07,733 INFO L290 TraceCheckUtils]: 43: Hoare triple {8061#(<= ~counter~0 3)} assume true; {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:07,733 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {8061#(<= ~counter~0 3)} {8061#(<= ~counter~0 3)} #67#return; {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:07,733 INFO L272 TraceCheckUtils]: 45: Hoare triple {8061#(<= ~counter~0 3)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:07,734 INFO L290 TraceCheckUtils]: 46: Hoare triple {8061#(<= ~counter~0 3)} ~cond := #in~cond; {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:07,734 INFO L290 TraceCheckUtils]: 47: Hoare triple {8061#(<= ~counter~0 3)} assume !(0 == ~cond); {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:07,734 INFO L290 TraceCheckUtils]: 48: Hoare triple {8061#(<= ~counter~0 3)} assume true; {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:07,735 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {8061#(<= ~counter~0 3)} {8061#(<= ~counter~0 3)} #69#return; {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:07,743 INFO L272 TraceCheckUtils]: 50: Hoare triple {8061#(<= ~counter~0 3)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:07,743 INFO L290 TraceCheckUtils]: 51: Hoare triple {8061#(<= ~counter~0 3)} ~cond := #in~cond; {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:07,744 INFO L290 TraceCheckUtils]: 52: Hoare triple {8061#(<= ~counter~0 3)} assume !(0 == ~cond); {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:07,744 INFO L290 TraceCheckUtils]: 53: Hoare triple {8061#(<= ~counter~0 3)} assume true; {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:07,744 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {8061#(<= ~counter~0 3)} {8061#(<= ~counter~0 3)} #71#return; {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:07,745 INFO L290 TraceCheckUtils]: 55: Hoare triple {8061#(<= ~counter~0 3)} 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; {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:07,745 INFO L290 TraceCheckUtils]: 56: Hoare triple {8061#(<= ~counter~0 3)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:07,745 INFO L290 TraceCheckUtils]: 57: Hoare triple {8116#(<= ~counter~0 4)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:07,746 INFO L272 TraceCheckUtils]: 58: Hoare triple {8116#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:07,746 INFO L290 TraceCheckUtils]: 59: Hoare triple {8116#(<= ~counter~0 4)} ~cond := #in~cond; {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:07,746 INFO L290 TraceCheckUtils]: 60: Hoare triple {8116#(<= ~counter~0 4)} assume !(0 == ~cond); {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:07,746 INFO L290 TraceCheckUtils]: 61: Hoare triple {8116#(<= ~counter~0 4)} assume true; {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:07,747 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8116#(<= ~counter~0 4)} {8116#(<= ~counter~0 4)} #67#return; {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:07,747 INFO L272 TraceCheckUtils]: 63: Hoare triple {8116#(<= ~counter~0 4)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:07,747 INFO L290 TraceCheckUtils]: 64: Hoare triple {8116#(<= ~counter~0 4)} ~cond := #in~cond; {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:07,748 INFO L290 TraceCheckUtils]: 65: Hoare triple {8116#(<= ~counter~0 4)} assume !(0 == ~cond); {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:07,748 INFO L290 TraceCheckUtils]: 66: Hoare triple {8116#(<= ~counter~0 4)} assume true; {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:07,748 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8116#(<= ~counter~0 4)} {8116#(<= ~counter~0 4)} #69#return; {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:07,749 INFO L272 TraceCheckUtils]: 68: Hoare triple {8116#(<= ~counter~0 4)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:07,749 INFO L290 TraceCheckUtils]: 69: Hoare triple {8116#(<= ~counter~0 4)} ~cond := #in~cond; {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:07,749 INFO L290 TraceCheckUtils]: 70: Hoare triple {8116#(<= ~counter~0 4)} assume !(0 == ~cond); {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:07,749 INFO L290 TraceCheckUtils]: 71: Hoare triple {8116#(<= ~counter~0 4)} assume true; {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:07,750 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8116#(<= ~counter~0 4)} {8116#(<= ~counter~0 4)} #71#return; {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:07,750 INFO L290 TraceCheckUtils]: 73: Hoare triple {8116#(<= ~counter~0 4)} 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; {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:07,750 INFO L290 TraceCheckUtils]: 74: Hoare triple {8116#(<= ~counter~0 4)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {8171#(<= |ULTIMATE.start_main_#t~post5#1| 4)} is VALID [2022-02-20 17:33:07,751 INFO L290 TraceCheckUtils]: 75: Hoare triple {8171#(<= |ULTIMATE.start_main_#t~post5#1| 4)} assume !(main_#t~post5#1 < 5);havoc main_#t~post5#1; {7940#false} is VALID [2022-02-20 17:33:07,751 INFO L290 TraceCheckUtils]: 76: Hoare triple {7940#false} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {7940#false} is VALID [2022-02-20 17:33:07,751 INFO L290 TraceCheckUtils]: 77: Hoare triple {7940#false} assume !(main_#t~post6#1 < 5);havoc main_#t~post6#1; {7940#false} is VALID [2022-02-20 17:33:07,751 INFO L272 TraceCheckUtils]: 78: Hoare triple {7940#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)); {7940#false} is VALID [2022-02-20 17:33:07,751 INFO L290 TraceCheckUtils]: 79: Hoare triple {7940#false} ~cond := #in~cond; {7940#false} is VALID [2022-02-20 17:33:07,751 INFO L290 TraceCheckUtils]: 80: Hoare triple {7940#false} assume !(0 == ~cond); {7940#false} is VALID [2022-02-20 17:33:07,751 INFO L290 TraceCheckUtils]: 81: Hoare triple {7940#false} assume true; {7940#false} is VALID [2022-02-20 17:33:07,751 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {7940#false} {7940#false} #77#return; {7940#false} is VALID [2022-02-20 17:33:07,751 INFO L272 TraceCheckUtils]: 83: Hoare triple {7940#false} call __VERIFIER_assert((if main_~B~0#1 == main_~d~0#1 then 1 else 0)); {7940#false} is VALID [2022-02-20 17:33:07,752 INFO L290 TraceCheckUtils]: 84: Hoare triple {7940#false} ~cond := #in~cond; {7940#false} is VALID [2022-02-20 17:33:07,752 INFO L290 TraceCheckUtils]: 85: Hoare triple {7940#false} assume 0 == ~cond; {7940#false} is VALID [2022-02-20 17:33:07,752 INFO L290 TraceCheckUtils]: 86: Hoare triple {7940#false} assume !false; {7940#false} is VALID [2022-02-20 17:33:07,752 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 72 proven. 260 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2022-02-20 17:33:07,752 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:33:08,038 INFO L290 TraceCheckUtils]: 86: Hoare triple {7940#false} assume !false; {7940#false} is VALID [2022-02-20 17:33:08,038 INFO L290 TraceCheckUtils]: 85: Hoare triple {7940#false} assume 0 == ~cond; {7940#false} is VALID [2022-02-20 17:33:08,038 INFO L290 TraceCheckUtils]: 84: Hoare triple {7940#false} ~cond := #in~cond; {7940#false} is VALID [2022-02-20 17:33:08,038 INFO L272 TraceCheckUtils]: 83: Hoare triple {7940#false} call __VERIFIER_assert((if main_~B~0#1 == main_~d~0#1 then 1 else 0)); {7940#false} is VALID [2022-02-20 17:33:08,038 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {7939#true} {7940#false} #77#return; {7940#false} is VALID [2022-02-20 17:33:08,038 INFO L290 TraceCheckUtils]: 81: Hoare triple {7939#true} assume true; {7939#true} is VALID [2022-02-20 17:33:08,038 INFO L290 TraceCheckUtils]: 80: Hoare triple {7939#true} assume !(0 == ~cond); {7939#true} is VALID [2022-02-20 17:33:08,039 INFO L290 TraceCheckUtils]: 79: Hoare triple {7939#true} ~cond := #in~cond; {7939#true} is VALID [2022-02-20 17:33:08,039 INFO L272 TraceCheckUtils]: 78: Hoare triple {7940#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)); {7939#true} is VALID [2022-02-20 17:33:08,039 INFO L290 TraceCheckUtils]: 77: Hoare triple {7940#false} assume !(main_#t~post6#1 < 5);havoc main_#t~post6#1; {7940#false} is VALID [2022-02-20 17:33:08,039 INFO L290 TraceCheckUtils]: 76: Hoare triple {7940#false} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {7940#false} is VALID [2022-02-20 17:33:08,039 INFO L290 TraceCheckUtils]: 75: Hoare triple {8171#(<= |ULTIMATE.start_main_#t~post5#1| 4)} assume !(main_#t~post5#1 < 5);havoc main_#t~post5#1; {7940#false} is VALID [2022-02-20 17:33:08,040 INFO L290 TraceCheckUtils]: 74: Hoare triple {8116#(<= ~counter~0 4)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {8171#(<= |ULTIMATE.start_main_#t~post5#1| 4)} is VALID [2022-02-20 17:33:08,040 INFO L290 TraceCheckUtils]: 73: Hoare triple {8116#(<= ~counter~0 4)} 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; {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:08,040 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7939#true} {8116#(<= ~counter~0 4)} #71#return; {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:08,040 INFO L290 TraceCheckUtils]: 71: Hoare triple {7939#true} assume true; {7939#true} is VALID [2022-02-20 17:33:08,040 INFO L290 TraceCheckUtils]: 70: Hoare triple {7939#true} assume !(0 == ~cond); {7939#true} is VALID [2022-02-20 17:33:08,041 INFO L290 TraceCheckUtils]: 69: Hoare triple {7939#true} ~cond := #in~cond; {7939#true} is VALID [2022-02-20 17:33:08,041 INFO L272 TraceCheckUtils]: 68: Hoare triple {8116#(<= ~counter~0 4)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {7939#true} is VALID [2022-02-20 17:33:08,047 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7939#true} {8116#(<= ~counter~0 4)} #69#return; {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:08,047 INFO L290 TraceCheckUtils]: 66: Hoare triple {7939#true} assume true; {7939#true} is VALID [2022-02-20 17:33:08,047 INFO L290 TraceCheckUtils]: 65: Hoare triple {7939#true} assume !(0 == ~cond); {7939#true} is VALID [2022-02-20 17:33:08,048 INFO L290 TraceCheckUtils]: 64: Hoare triple {7939#true} ~cond := #in~cond; {7939#true} is VALID [2022-02-20 17:33:08,048 INFO L272 TraceCheckUtils]: 63: Hoare triple {8116#(<= ~counter~0 4)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {7939#true} is VALID [2022-02-20 17:33:08,048 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7939#true} {8116#(<= ~counter~0 4)} #67#return; {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:08,048 INFO L290 TraceCheckUtils]: 61: Hoare triple {7939#true} assume true; {7939#true} is VALID [2022-02-20 17:33:08,048 INFO L290 TraceCheckUtils]: 60: Hoare triple {7939#true} assume !(0 == ~cond); {7939#true} is VALID [2022-02-20 17:33:08,049 INFO L290 TraceCheckUtils]: 59: Hoare triple {7939#true} ~cond := #in~cond; {7939#true} is VALID [2022-02-20 17:33:08,049 INFO L272 TraceCheckUtils]: 58: Hoare triple {8116#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {7939#true} is VALID [2022-02-20 17:33:08,049 INFO L290 TraceCheckUtils]: 57: Hoare triple {8116#(<= ~counter~0 4)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:08,050 INFO L290 TraceCheckUtils]: 56: Hoare triple {8061#(<= ~counter~0 3)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {8116#(<= ~counter~0 4)} is VALID [2022-02-20 17:33:08,050 INFO L290 TraceCheckUtils]: 55: Hoare triple {8061#(<= ~counter~0 3)} 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; {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:08,051 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7939#true} {8061#(<= ~counter~0 3)} #71#return; {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:08,051 INFO L290 TraceCheckUtils]: 53: Hoare triple {7939#true} assume true; {7939#true} is VALID [2022-02-20 17:33:08,051 INFO L290 TraceCheckUtils]: 52: Hoare triple {7939#true} assume !(0 == ~cond); {7939#true} is VALID [2022-02-20 17:33:08,051 INFO L290 TraceCheckUtils]: 51: Hoare triple {7939#true} ~cond := #in~cond; {7939#true} is VALID [2022-02-20 17:33:08,051 INFO L272 TraceCheckUtils]: 50: Hoare triple {8061#(<= ~counter~0 3)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {7939#true} is VALID [2022-02-20 17:33:08,052 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {7939#true} {8061#(<= ~counter~0 3)} #69#return; {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:08,052 INFO L290 TraceCheckUtils]: 48: Hoare triple {7939#true} assume true; {7939#true} is VALID [2022-02-20 17:33:08,052 INFO L290 TraceCheckUtils]: 47: Hoare triple {7939#true} assume !(0 == ~cond); {7939#true} is VALID [2022-02-20 17:33:08,052 INFO L290 TraceCheckUtils]: 46: Hoare triple {7939#true} ~cond := #in~cond; {7939#true} is VALID [2022-02-20 17:33:08,052 INFO L272 TraceCheckUtils]: 45: Hoare triple {8061#(<= ~counter~0 3)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {7939#true} is VALID [2022-02-20 17:33:08,053 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7939#true} {8061#(<= ~counter~0 3)} #67#return; {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:08,053 INFO L290 TraceCheckUtils]: 43: Hoare triple {7939#true} assume true; {7939#true} is VALID [2022-02-20 17:33:08,053 INFO L290 TraceCheckUtils]: 42: Hoare triple {7939#true} assume !(0 == ~cond); {7939#true} is VALID [2022-02-20 17:33:08,053 INFO L290 TraceCheckUtils]: 41: Hoare triple {7939#true} ~cond := #in~cond; {7939#true} is VALID [2022-02-20 17:33:08,053 INFO L272 TraceCheckUtils]: 40: Hoare triple {8061#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {7939#true} is VALID [2022-02-20 17:33:08,053 INFO L290 TraceCheckUtils]: 39: Hoare triple {8061#(<= ~counter~0 3)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:08,054 INFO L290 TraceCheckUtils]: 38: Hoare triple {8006#(<= ~counter~0 2)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {8061#(<= ~counter~0 3)} is VALID [2022-02-20 17:33:08,054 INFO L290 TraceCheckUtils]: 37: Hoare triple {8006#(<= ~counter~0 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; {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:08,055 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7939#true} {8006#(<= ~counter~0 2)} #71#return; {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:08,055 INFO L290 TraceCheckUtils]: 35: Hoare triple {7939#true} assume true; {7939#true} is VALID [2022-02-20 17:33:08,055 INFO L290 TraceCheckUtils]: 34: Hoare triple {7939#true} assume !(0 == ~cond); {7939#true} is VALID [2022-02-20 17:33:08,055 INFO L290 TraceCheckUtils]: 33: Hoare triple {7939#true} ~cond := #in~cond; {7939#true} is VALID [2022-02-20 17:33:08,055 INFO L272 TraceCheckUtils]: 32: Hoare triple {8006#(<= ~counter~0 2)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {7939#true} is VALID [2022-02-20 17:33:08,056 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {7939#true} {8006#(<= ~counter~0 2)} #69#return; {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:08,056 INFO L290 TraceCheckUtils]: 30: Hoare triple {7939#true} assume true; {7939#true} is VALID [2022-02-20 17:33:08,056 INFO L290 TraceCheckUtils]: 29: Hoare triple {7939#true} assume !(0 == ~cond); {7939#true} is VALID [2022-02-20 17:33:08,056 INFO L290 TraceCheckUtils]: 28: Hoare triple {7939#true} ~cond := #in~cond; {7939#true} is VALID [2022-02-20 17:33:08,056 INFO L272 TraceCheckUtils]: 27: Hoare triple {8006#(<= ~counter~0 2)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {7939#true} is VALID [2022-02-20 17:33:08,059 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7939#true} {8006#(<= ~counter~0 2)} #67#return; {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:08,060 INFO L290 TraceCheckUtils]: 25: Hoare triple {7939#true} assume true; {7939#true} is VALID [2022-02-20 17:33:08,060 INFO L290 TraceCheckUtils]: 24: Hoare triple {7939#true} assume !(0 == ~cond); {7939#true} is VALID [2022-02-20 17:33:08,060 INFO L290 TraceCheckUtils]: 23: Hoare triple {7939#true} ~cond := #in~cond; {7939#true} is VALID [2022-02-20 17:33:08,060 INFO L272 TraceCheckUtils]: 22: Hoare triple {8006#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {7939#true} is VALID [2022-02-20 17:33:08,060 INFO L290 TraceCheckUtils]: 21: Hoare triple {8006#(<= ~counter~0 2)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:08,061 INFO L290 TraceCheckUtils]: 20: Hoare triple {7951#(<= ~counter~0 1)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {8006#(<= ~counter~0 2)} is VALID [2022-02-20 17:33:08,061 INFO L290 TraceCheckUtils]: 19: Hoare triple {7951#(<= ~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; {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:08,062 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7939#true} {7951#(<= ~counter~0 1)} #71#return; {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:08,062 INFO L290 TraceCheckUtils]: 17: Hoare triple {7939#true} assume true; {7939#true} is VALID [2022-02-20 17:33:08,062 INFO L290 TraceCheckUtils]: 16: Hoare triple {7939#true} assume !(0 == ~cond); {7939#true} is VALID [2022-02-20 17:33:08,062 INFO L290 TraceCheckUtils]: 15: Hoare triple {7939#true} ~cond := #in~cond; {7939#true} is VALID [2022-02-20 17:33:08,062 INFO L272 TraceCheckUtils]: 14: Hoare triple {7951#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {7939#true} is VALID [2022-02-20 17:33:08,063 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {7939#true} {7951#(<= ~counter~0 1)} #69#return; {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:08,063 INFO L290 TraceCheckUtils]: 12: Hoare triple {7939#true} assume true; {7939#true} is VALID [2022-02-20 17:33:08,063 INFO L290 TraceCheckUtils]: 11: Hoare triple {7939#true} assume !(0 == ~cond); {7939#true} is VALID [2022-02-20 17:33:08,063 INFO L290 TraceCheckUtils]: 10: Hoare triple {7939#true} ~cond := #in~cond; {7939#true} is VALID [2022-02-20 17:33:08,063 INFO L272 TraceCheckUtils]: 9: Hoare triple {7951#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {7939#true} is VALID [2022-02-20 17:33:08,064 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {7939#true} {7951#(<= ~counter~0 1)} #67#return; {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:08,064 INFO L290 TraceCheckUtils]: 7: Hoare triple {7939#true} assume true; {7939#true} is VALID [2022-02-20 17:33:08,064 INFO L290 TraceCheckUtils]: 6: Hoare triple {7939#true} assume !(0 == ~cond); {7939#true} is VALID [2022-02-20 17:33:08,064 INFO L290 TraceCheckUtils]: 5: Hoare triple {7939#true} ~cond := #in~cond; {7939#true} is VALID [2022-02-20 17:33:08,064 INFO L272 TraceCheckUtils]: 4: Hoare triple {7951#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {7939#true} is VALID [2022-02-20 17:33:08,064 INFO L290 TraceCheckUtils]: 3: Hoare triple {7951#(<= ~counter~0 1)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:08,065 INFO L290 TraceCheckUtils]: 2: Hoare triple {7944#(<= ~counter~0 0)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {7951#(<= ~counter~0 1)} is VALID [2022-02-20 17:33:08,066 INFO L290 TraceCheckUtils]: 1: Hoare triple {7944#(<= ~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; {7944#(<= ~counter~0 0)} is VALID [2022-02-20 17:33:08,066 INFO L290 TraceCheckUtils]: 0: Hoare triple {7939#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; {7944#(<= ~counter~0 0)} is VALID [2022-02-20 17:33:08,067 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 26 proven. 44 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-02-20 17:33:08,067 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:33:08,067 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [416127073] [2022-02-20 17:33:08,067 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:33:08,067 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1172197534] [2022-02-20 17:33:08,067 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1172197534] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:33:08,067 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:33:08,067 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 8] total 8 [2022-02-20 17:33:08,067 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1284831604] [2022-02-20 17:33:08,068 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:33:08,068 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 8 states have internal predecessors, (38), 5 states have call successors, (27), 6 states have call predecessors, (27), 6 states have return successors, (26), 5 states have call predecessors, (26), 5 states have call successors, (26) Word has length 87 [2022-02-20 17:33:08,162 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:33:08,162 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.75) internal successors, (38), 8 states have internal predecessors, (38), 5 states have call successors, (27), 6 states have call predecessors, (27), 6 states have return successors, (26), 5 states have call predecessors, (26), 5 states have call successors, (26) [2022-02-20 17:33:08,225 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:33:08,225 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 17:33:08,225 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:33:08,225 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 17:33:08,226 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=33, Unknown=0, NotChecked=0, Total=56 [2022-02-20 17:33:08,226 INFO L87 Difference]: Start difference. First operand 163 states and 192 transitions. Second operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 8 states have internal predecessors, (38), 5 states have call successors, (27), 6 states have call predecessors, (27), 6 states have return successors, (26), 5 states have call predecessors, (26), 5 states have call successors, (26) [2022-02-20 17:33:08,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:08,509 INFO L93 Difference]: Finished difference Result 224 states and 276 transitions. [2022-02-20 17:33:08,509 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 17:33:08,509 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 8 states have internal predecessors, (38), 5 states have call successors, (27), 6 states have call predecessors, (27), 6 states have return successors, (26), 5 states have call predecessors, (26), 5 states have call successors, (26) Word has length 87 [2022-02-20 17:33:08,509 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:33:08,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 8 states have internal predecessors, (38), 5 states have call successors, (27), 6 states have call predecessors, (27), 6 states have return successors, (26), 5 states have call predecessors, (26), 5 states have call successors, (26) [2022-02-20 17:33:08,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 114 transitions. [2022-02-20 17:33:08,510 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 8 states have internal predecessors, (38), 5 states have call successors, (27), 6 states have call predecessors, (27), 6 states have return successors, (26), 5 states have call predecessors, (26), 5 states have call successors, (26) [2022-02-20 17:33:08,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 114 transitions. [2022-02-20 17:33:08,511 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 114 transitions. [2022-02-20 17:33:08,586 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:33:08,588 INFO L225 Difference]: With dead ends: 224 [2022-02-20 17:33:08,588 INFO L226 Difference]: Without dead ends: 165 [2022-02-20 17:33:08,589 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 176 GetRequests, 165 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-02-20 17:33:08,589 INFO L933 BasicCegarLoop]: 43 mSDtfsCounter, 13 mSDsluCounter, 104 mSDsCounter, 0 mSdLazyCounter, 81 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 84 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 81 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:33:08,589 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 147 Invalid, 84 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 81 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:33:08,590 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 165 states. [2022-02-20 17:33:08,661 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 165 to 165. [2022-02-20 17:33:08,661 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:33:08,662 INFO L82 GeneralOperation]: Start isEquivalent. First operand 165 states. Second operand has 165 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 114 states have internal predecessors, (131), 32 states have call successors, (32), 20 states have call predecessors, (32), 20 states have return successors, (31), 30 states have call predecessors, (31), 31 states have call successors, (31) [2022-02-20 17:33:08,662 INFO L74 IsIncluded]: Start isIncluded. First operand 165 states. Second operand has 165 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 114 states have internal predecessors, (131), 32 states have call successors, (32), 20 states have call predecessors, (32), 20 states have return successors, (31), 30 states have call predecessors, (31), 31 states have call successors, (31) [2022-02-20 17:33:08,662 INFO L87 Difference]: Start difference. First operand 165 states. Second operand has 165 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 114 states have internal predecessors, (131), 32 states have call successors, (32), 20 states have call predecessors, (32), 20 states have return successors, (31), 30 states have call predecessors, (31), 31 states have call successors, (31) [2022-02-20 17:33:08,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:08,665 INFO L93 Difference]: Finished difference Result 165 states and 194 transitions. [2022-02-20 17:33:08,665 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 194 transitions. [2022-02-20 17:33:08,665 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:33:08,665 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:33:08,666 INFO L74 IsIncluded]: Start isIncluded. First operand has 165 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 114 states have internal predecessors, (131), 32 states have call successors, (32), 20 states have call predecessors, (32), 20 states have return successors, (31), 30 states have call predecessors, (31), 31 states have call successors, (31) Second operand 165 states. [2022-02-20 17:33:08,666 INFO L87 Difference]: Start difference. First operand has 165 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 114 states have internal predecessors, (131), 32 states have call successors, (32), 20 states have call predecessors, (32), 20 states have return successors, (31), 30 states have call predecessors, (31), 31 states have call successors, (31) Second operand 165 states. [2022-02-20 17:33:08,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:08,668 INFO L93 Difference]: Finished difference Result 165 states and 194 transitions. [2022-02-20 17:33:08,668 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 194 transitions. [2022-02-20 17:33:08,669 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:33:08,669 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:33:08,669 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:33:08,669 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:33:08,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 165 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 114 states have internal predecessors, (131), 32 states have call successors, (32), 20 states have call predecessors, (32), 20 states have return successors, (31), 30 states have call predecessors, (31), 31 states have call successors, (31) [2022-02-20 17:33:08,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 165 states to 165 states and 194 transitions. [2022-02-20 17:33:08,672 INFO L78 Accepts]: Start accepts. Automaton has 165 states and 194 transitions. Word has length 87 [2022-02-20 17:33:08,672 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:33:08,672 INFO L470 AbstractCegarLoop]: Abstraction has 165 states and 194 transitions. [2022-02-20 17:33:08,672 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 8 states have internal predecessors, (38), 5 states have call successors, (27), 6 states have call predecessors, (27), 6 states have return successors, (26), 5 states have call predecessors, (26), 5 states have call successors, (26) [2022-02-20 17:33:08,672 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 194 transitions. [2022-02-20 17:33:08,673 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-02-20 17:33:08,673 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:33:08,673 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:33:08,705 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-02-20 17:33:08,889 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-02-20 17:33:08,889 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:33:08,890 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:33:08,890 INFO L85 PathProgramCache]: Analyzing trace with hash 1611798954, now seen corresponding path program 2 times [2022-02-20 17:33:08,890 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:33:08,890 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [664135427] [2022-02-20 17:33:08,890 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:33:08,890 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:33:08,901 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:33:08,901 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1059753843] [2022-02-20 17:33:08,901 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 17:33:08,901 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:33:08,901 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:33:08,902 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:33:08,908 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-02-20 17:33:08,948 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 17:33:08,948 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 17:33:08,949 INFO L263 TraceCheckSpWp]: Trace formula consists of 226 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 17:33:08,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:33:08,963 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:33:09,292 INFO L290 TraceCheckUtils]: 0: Hoare triple {9328#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; {9333#(<= 0 ~counter~0)} is VALID [2022-02-20 17:33:09,292 INFO L290 TraceCheckUtils]: 1: Hoare triple {9333#(<= 0 ~counter~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; {9333#(<= 0 ~counter~0)} is VALID [2022-02-20 17:33:09,293 INFO L290 TraceCheckUtils]: 2: Hoare triple {9333#(<= 0 ~counter~0)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,293 INFO L290 TraceCheckUtils]: 3: Hoare triple {9340#(<= 1 ~counter~0)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,293 INFO L272 TraceCheckUtils]: 4: Hoare triple {9340#(<= 1 ~counter~0)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,294 INFO L290 TraceCheckUtils]: 5: Hoare triple {9340#(<= 1 ~counter~0)} ~cond := #in~cond; {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,294 INFO L290 TraceCheckUtils]: 6: Hoare triple {9340#(<= 1 ~counter~0)} assume !(0 == ~cond); {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,294 INFO L290 TraceCheckUtils]: 7: Hoare triple {9340#(<= 1 ~counter~0)} assume true; {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,295 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {9340#(<= 1 ~counter~0)} {9340#(<= 1 ~counter~0)} #67#return; {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,295 INFO L272 TraceCheckUtils]: 9: Hoare triple {9340#(<= 1 ~counter~0)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,295 INFO L290 TraceCheckUtils]: 10: Hoare triple {9340#(<= 1 ~counter~0)} ~cond := #in~cond; {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,295 INFO L290 TraceCheckUtils]: 11: Hoare triple {9340#(<= 1 ~counter~0)} assume !(0 == ~cond); {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,296 INFO L290 TraceCheckUtils]: 12: Hoare triple {9340#(<= 1 ~counter~0)} assume true; {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,296 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {9340#(<= 1 ~counter~0)} {9340#(<= 1 ~counter~0)} #69#return; {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,296 INFO L272 TraceCheckUtils]: 14: Hoare triple {9340#(<= 1 ~counter~0)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,297 INFO L290 TraceCheckUtils]: 15: Hoare triple {9340#(<= 1 ~counter~0)} ~cond := #in~cond; {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,297 INFO L290 TraceCheckUtils]: 16: Hoare triple {9340#(<= 1 ~counter~0)} assume !(0 == ~cond); {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,299 INFO L290 TraceCheckUtils]: 17: Hoare triple {9340#(<= 1 ~counter~0)} assume true; {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,299 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {9340#(<= 1 ~counter~0)} {9340#(<= 1 ~counter~0)} #71#return; {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,299 INFO L290 TraceCheckUtils]: 19: Hoare triple {9340#(<= 1 ~counter~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; {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,300 INFO L290 TraceCheckUtils]: 20: Hoare triple {9340#(<= 1 ~counter~0)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,300 INFO L290 TraceCheckUtils]: 21: Hoare triple {9395#(<= 2 ~counter~0)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,300 INFO L272 TraceCheckUtils]: 22: Hoare triple {9395#(<= 2 ~counter~0)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,301 INFO L290 TraceCheckUtils]: 23: Hoare triple {9395#(<= 2 ~counter~0)} ~cond := #in~cond; {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,301 INFO L290 TraceCheckUtils]: 24: Hoare triple {9395#(<= 2 ~counter~0)} assume !(0 == ~cond); {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,301 INFO L290 TraceCheckUtils]: 25: Hoare triple {9395#(<= 2 ~counter~0)} assume true; {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,301 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9395#(<= 2 ~counter~0)} {9395#(<= 2 ~counter~0)} #67#return; {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,302 INFO L272 TraceCheckUtils]: 27: Hoare triple {9395#(<= 2 ~counter~0)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,302 INFO L290 TraceCheckUtils]: 28: Hoare triple {9395#(<= 2 ~counter~0)} ~cond := #in~cond; {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,302 INFO L290 TraceCheckUtils]: 29: Hoare triple {9395#(<= 2 ~counter~0)} assume !(0 == ~cond); {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,303 INFO L290 TraceCheckUtils]: 30: Hoare triple {9395#(<= 2 ~counter~0)} assume true; {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,303 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {9395#(<= 2 ~counter~0)} {9395#(<= 2 ~counter~0)} #69#return; {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,303 INFO L272 TraceCheckUtils]: 32: Hoare triple {9395#(<= 2 ~counter~0)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,304 INFO L290 TraceCheckUtils]: 33: Hoare triple {9395#(<= 2 ~counter~0)} ~cond := #in~cond; {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,304 INFO L290 TraceCheckUtils]: 34: Hoare triple {9395#(<= 2 ~counter~0)} assume !(0 == ~cond); {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,304 INFO L290 TraceCheckUtils]: 35: Hoare triple {9395#(<= 2 ~counter~0)} assume true; {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,304 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {9395#(<= 2 ~counter~0)} {9395#(<= 2 ~counter~0)} #71#return; {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,305 INFO L290 TraceCheckUtils]: 37: Hoare triple {9395#(<= 2 ~counter~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; {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,305 INFO L290 TraceCheckUtils]: 38: Hoare triple {9395#(<= 2 ~counter~0)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,305 INFO L290 TraceCheckUtils]: 39: Hoare triple {9450#(<= 3 ~counter~0)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,306 INFO L272 TraceCheckUtils]: 40: Hoare triple {9450#(<= 3 ~counter~0)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,306 INFO L290 TraceCheckUtils]: 41: Hoare triple {9450#(<= 3 ~counter~0)} ~cond := #in~cond; {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,307 INFO L290 TraceCheckUtils]: 42: Hoare triple {9450#(<= 3 ~counter~0)} assume !(0 == ~cond); {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,307 INFO L290 TraceCheckUtils]: 43: Hoare triple {9450#(<= 3 ~counter~0)} assume true; {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,307 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9450#(<= 3 ~counter~0)} {9450#(<= 3 ~counter~0)} #67#return; {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,308 INFO L272 TraceCheckUtils]: 45: Hoare triple {9450#(<= 3 ~counter~0)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,308 INFO L290 TraceCheckUtils]: 46: Hoare triple {9450#(<= 3 ~counter~0)} ~cond := #in~cond; {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,308 INFO L290 TraceCheckUtils]: 47: Hoare triple {9450#(<= 3 ~counter~0)} assume !(0 == ~cond); {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,308 INFO L290 TraceCheckUtils]: 48: Hoare triple {9450#(<= 3 ~counter~0)} assume true; {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,309 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {9450#(<= 3 ~counter~0)} {9450#(<= 3 ~counter~0)} #69#return; {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,309 INFO L272 TraceCheckUtils]: 50: Hoare triple {9450#(<= 3 ~counter~0)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,309 INFO L290 TraceCheckUtils]: 51: Hoare triple {9450#(<= 3 ~counter~0)} ~cond := #in~cond; {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,310 INFO L290 TraceCheckUtils]: 52: Hoare triple {9450#(<= 3 ~counter~0)} assume !(0 == ~cond); {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,310 INFO L290 TraceCheckUtils]: 53: Hoare triple {9450#(<= 3 ~counter~0)} assume true; {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,310 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9450#(<= 3 ~counter~0)} {9450#(<= 3 ~counter~0)} #71#return; {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,311 INFO L290 TraceCheckUtils]: 55: Hoare triple {9450#(<= 3 ~counter~0)} assume !(main_~r~0#1 >= main_~d~0#1); {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,311 INFO L290 TraceCheckUtils]: 56: Hoare triple {9450#(<= 3 ~counter~0)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,311 INFO L290 TraceCheckUtils]: 57: Hoare triple {9505#(<= 4 ~counter~0)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,312 INFO L272 TraceCheckUtils]: 58: Hoare triple {9505#(<= 4 ~counter~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)); {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,312 INFO L290 TraceCheckUtils]: 59: Hoare triple {9505#(<= 4 ~counter~0)} ~cond := #in~cond; {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,312 INFO L290 TraceCheckUtils]: 60: Hoare triple {9505#(<= 4 ~counter~0)} assume !(0 == ~cond); {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,313 INFO L290 TraceCheckUtils]: 61: Hoare triple {9505#(<= 4 ~counter~0)} assume true; {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,313 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9505#(<= 4 ~counter~0)} {9505#(<= 4 ~counter~0)} #73#return; {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,313 INFO L272 TraceCheckUtils]: 63: Hoare triple {9505#(<= 4 ~counter~0)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,314 INFO L290 TraceCheckUtils]: 64: Hoare triple {9505#(<= 4 ~counter~0)} ~cond := #in~cond; {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,314 INFO L290 TraceCheckUtils]: 65: Hoare triple {9505#(<= 4 ~counter~0)} assume !(0 == ~cond); {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,314 INFO L290 TraceCheckUtils]: 66: Hoare triple {9505#(<= 4 ~counter~0)} assume true; {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,315 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9505#(<= 4 ~counter~0)} {9505#(<= 4 ~counter~0)} #75#return; {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,315 INFO L290 TraceCheckUtils]: 68: Hoare triple {9505#(<= 4 ~counter~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); {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,315 INFO L290 TraceCheckUtils]: 69: Hoare triple {9505#(<= 4 ~counter~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; {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,316 INFO L290 TraceCheckUtils]: 70: Hoare triple {9505#(<= 4 ~counter~0)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,316 INFO L290 TraceCheckUtils]: 71: Hoare triple {9548#(<= 5 ~counter~0)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,316 INFO L272 TraceCheckUtils]: 72: Hoare triple {9548#(<= 5 ~counter~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)); {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,316 INFO L290 TraceCheckUtils]: 73: Hoare triple {9548#(<= 5 ~counter~0)} ~cond := #in~cond; {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,317 INFO L290 TraceCheckUtils]: 74: Hoare triple {9548#(<= 5 ~counter~0)} assume !(0 == ~cond); {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,317 INFO L290 TraceCheckUtils]: 75: Hoare triple {9548#(<= 5 ~counter~0)} assume true; {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,317 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {9548#(<= 5 ~counter~0)} {9548#(<= 5 ~counter~0)} #73#return; {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,318 INFO L272 TraceCheckUtils]: 77: Hoare triple {9548#(<= 5 ~counter~0)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,318 INFO L290 TraceCheckUtils]: 78: Hoare triple {9548#(<= 5 ~counter~0)} ~cond := #in~cond; {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,318 INFO L290 TraceCheckUtils]: 79: Hoare triple {9548#(<= 5 ~counter~0)} assume !(0 == ~cond); {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,319 INFO L290 TraceCheckUtils]: 80: Hoare triple {9548#(<= 5 ~counter~0)} assume true; {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,319 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {9548#(<= 5 ~counter~0)} {9548#(<= 5 ~counter~0)} #75#return; {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,319 INFO L290 TraceCheckUtils]: 82: Hoare triple {9548#(<= 5 ~counter~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); {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,319 INFO L290 TraceCheckUtils]: 83: Hoare triple {9548#(<= 5 ~counter~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; {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,320 INFO L290 TraceCheckUtils]: 84: Hoare triple {9548#(<= 5 ~counter~0)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {9591#(<= 5 |ULTIMATE.start_main_#t~post6#1|)} is VALID [2022-02-20 17:33:09,320 INFO L290 TraceCheckUtils]: 85: Hoare triple {9591#(<= 5 |ULTIMATE.start_main_#t~post6#1|)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {9329#false} is VALID [2022-02-20 17:33:09,320 INFO L272 TraceCheckUtils]: 86: Hoare triple {9329#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)); {9329#false} is VALID [2022-02-20 17:33:09,320 INFO L290 TraceCheckUtils]: 87: Hoare triple {9329#false} ~cond := #in~cond; {9329#false} is VALID [2022-02-20 17:33:09,320 INFO L290 TraceCheckUtils]: 88: Hoare triple {9329#false} assume 0 == ~cond; {9329#false} is VALID [2022-02-20 17:33:09,320 INFO L290 TraceCheckUtils]: 89: Hoare triple {9329#false} assume !false; {9329#false} is VALID [2022-02-20 17:33:09,321 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 322 proven. 2 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-02-20 17:33:09,321 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:33:09,614 INFO L290 TraceCheckUtils]: 89: Hoare triple {9329#false} assume !false; {9329#false} is VALID [2022-02-20 17:33:09,615 INFO L290 TraceCheckUtils]: 88: Hoare triple {9329#false} assume 0 == ~cond; {9329#false} is VALID [2022-02-20 17:33:09,615 INFO L290 TraceCheckUtils]: 87: Hoare triple {9329#false} ~cond := #in~cond; {9329#false} is VALID [2022-02-20 17:33:09,615 INFO L272 TraceCheckUtils]: 86: Hoare triple {9329#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)); {9329#false} is VALID [2022-02-20 17:33:09,615 INFO L290 TraceCheckUtils]: 85: Hoare triple {9591#(<= 5 |ULTIMATE.start_main_#t~post6#1|)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {9329#false} is VALID [2022-02-20 17:33:09,616 INFO L290 TraceCheckUtils]: 84: Hoare triple {9548#(<= 5 ~counter~0)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {9591#(<= 5 |ULTIMATE.start_main_#t~post6#1|)} is VALID [2022-02-20 17:33:09,616 INFO L290 TraceCheckUtils]: 83: Hoare triple {9548#(<= 5 ~counter~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; {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,616 INFO L290 TraceCheckUtils]: 82: Hoare triple {9548#(<= 5 ~counter~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); {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,617 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {9328#true} {9548#(<= 5 ~counter~0)} #75#return; {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,617 INFO L290 TraceCheckUtils]: 80: Hoare triple {9328#true} assume true; {9328#true} is VALID [2022-02-20 17:33:09,618 INFO L290 TraceCheckUtils]: 79: Hoare triple {9328#true} assume !(0 == ~cond); {9328#true} is VALID [2022-02-20 17:33:09,618 INFO L290 TraceCheckUtils]: 78: Hoare triple {9328#true} ~cond := #in~cond; {9328#true} is VALID [2022-02-20 17:33:09,618 INFO L272 TraceCheckUtils]: 77: Hoare triple {9548#(<= 5 ~counter~0)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {9328#true} is VALID [2022-02-20 17:33:09,618 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {9328#true} {9548#(<= 5 ~counter~0)} #73#return; {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,618 INFO L290 TraceCheckUtils]: 75: Hoare triple {9328#true} assume true; {9328#true} is VALID [2022-02-20 17:33:09,618 INFO L290 TraceCheckUtils]: 74: Hoare triple {9328#true} assume !(0 == ~cond); {9328#true} is VALID [2022-02-20 17:33:09,618 INFO L290 TraceCheckUtils]: 73: Hoare triple {9328#true} ~cond := #in~cond; {9328#true} is VALID [2022-02-20 17:33:09,619 INFO L272 TraceCheckUtils]: 72: Hoare triple {9548#(<= 5 ~counter~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)); {9328#true} is VALID [2022-02-20 17:33:09,619 INFO L290 TraceCheckUtils]: 71: Hoare triple {9548#(<= 5 ~counter~0)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,619 INFO L290 TraceCheckUtils]: 70: Hoare triple {9505#(<= 4 ~counter~0)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {9548#(<= 5 ~counter~0)} is VALID [2022-02-20 17:33:09,620 INFO L290 TraceCheckUtils]: 69: Hoare triple {9505#(<= 4 ~counter~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; {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,620 INFO L290 TraceCheckUtils]: 68: Hoare triple {9505#(<= 4 ~counter~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); {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,620 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9328#true} {9505#(<= 4 ~counter~0)} #75#return; {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,620 INFO L290 TraceCheckUtils]: 66: Hoare triple {9328#true} assume true; {9328#true} is VALID [2022-02-20 17:33:09,620 INFO L290 TraceCheckUtils]: 65: Hoare triple {9328#true} assume !(0 == ~cond); {9328#true} is VALID [2022-02-20 17:33:09,621 INFO L290 TraceCheckUtils]: 64: Hoare triple {9328#true} ~cond := #in~cond; {9328#true} is VALID [2022-02-20 17:33:09,621 INFO L272 TraceCheckUtils]: 63: Hoare triple {9505#(<= 4 ~counter~0)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {9328#true} is VALID [2022-02-20 17:33:09,622 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9328#true} {9505#(<= 4 ~counter~0)} #73#return; {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,623 INFO L290 TraceCheckUtils]: 61: Hoare triple {9328#true} assume true; {9328#true} is VALID [2022-02-20 17:33:09,623 INFO L290 TraceCheckUtils]: 60: Hoare triple {9328#true} assume !(0 == ~cond); {9328#true} is VALID [2022-02-20 17:33:09,623 INFO L290 TraceCheckUtils]: 59: Hoare triple {9328#true} ~cond := #in~cond; {9328#true} is VALID [2022-02-20 17:33:09,623 INFO L272 TraceCheckUtils]: 58: Hoare triple {9505#(<= 4 ~counter~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)); {9328#true} is VALID [2022-02-20 17:33:09,623 INFO L290 TraceCheckUtils]: 57: Hoare triple {9505#(<= 4 ~counter~0)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,624 INFO L290 TraceCheckUtils]: 56: Hoare triple {9450#(<= 3 ~counter~0)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {9505#(<= 4 ~counter~0)} is VALID [2022-02-20 17:33:09,624 INFO L290 TraceCheckUtils]: 55: Hoare triple {9450#(<= 3 ~counter~0)} assume !(main_~r~0#1 >= main_~d~0#1); {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,624 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9328#true} {9450#(<= 3 ~counter~0)} #71#return; {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,624 INFO L290 TraceCheckUtils]: 53: Hoare triple {9328#true} assume true; {9328#true} is VALID [2022-02-20 17:33:09,624 INFO L290 TraceCheckUtils]: 52: Hoare triple {9328#true} assume !(0 == ~cond); {9328#true} is VALID [2022-02-20 17:33:09,625 INFO L290 TraceCheckUtils]: 51: Hoare triple {9328#true} ~cond := #in~cond; {9328#true} is VALID [2022-02-20 17:33:09,625 INFO L272 TraceCheckUtils]: 50: Hoare triple {9450#(<= 3 ~counter~0)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {9328#true} is VALID [2022-02-20 17:33:09,625 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {9328#true} {9450#(<= 3 ~counter~0)} #69#return; {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,625 INFO L290 TraceCheckUtils]: 48: Hoare triple {9328#true} assume true; {9328#true} is VALID [2022-02-20 17:33:09,625 INFO L290 TraceCheckUtils]: 47: Hoare triple {9328#true} assume !(0 == ~cond); {9328#true} is VALID [2022-02-20 17:33:09,625 INFO L290 TraceCheckUtils]: 46: Hoare triple {9328#true} ~cond := #in~cond; {9328#true} is VALID [2022-02-20 17:33:09,625 INFO L272 TraceCheckUtils]: 45: Hoare triple {9450#(<= 3 ~counter~0)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {9328#true} is VALID [2022-02-20 17:33:09,626 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9328#true} {9450#(<= 3 ~counter~0)} #67#return; {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,626 INFO L290 TraceCheckUtils]: 43: Hoare triple {9328#true} assume true; {9328#true} is VALID [2022-02-20 17:33:09,626 INFO L290 TraceCheckUtils]: 42: Hoare triple {9328#true} assume !(0 == ~cond); {9328#true} is VALID [2022-02-20 17:33:09,626 INFO L290 TraceCheckUtils]: 41: Hoare triple {9328#true} ~cond := #in~cond; {9328#true} is VALID [2022-02-20 17:33:09,626 INFO L272 TraceCheckUtils]: 40: Hoare triple {9450#(<= 3 ~counter~0)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {9328#true} is VALID [2022-02-20 17:33:09,627 INFO L290 TraceCheckUtils]: 39: Hoare triple {9450#(<= 3 ~counter~0)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,627 INFO L290 TraceCheckUtils]: 38: Hoare triple {9395#(<= 2 ~counter~0)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {9450#(<= 3 ~counter~0)} is VALID [2022-02-20 17:33:09,627 INFO L290 TraceCheckUtils]: 37: Hoare triple {9395#(<= 2 ~counter~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; {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,628 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {9328#true} {9395#(<= 2 ~counter~0)} #71#return; {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,628 INFO L290 TraceCheckUtils]: 35: Hoare triple {9328#true} assume true; {9328#true} is VALID [2022-02-20 17:33:09,628 INFO L290 TraceCheckUtils]: 34: Hoare triple {9328#true} assume !(0 == ~cond); {9328#true} is VALID [2022-02-20 17:33:09,628 INFO L290 TraceCheckUtils]: 33: Hoare triple {9328#true} ~cond := #in~cond; {9328#true} is VALID [2022-02-20 17:33:09,628 INFO L272 TraceCheckUtils]: 32: Hoare triple {9395#(<= 2 ~counter~0)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {9328#true} is VALID [2022-02-20 17:33:09,628 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {9328#true} {9395#(<= 2 ~counter~0)} #69#return; {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,629 INFO L290 TraceCheckUtils]: 30: Hoare triple {9328#true} assume true; {9328#true} is VALID [2022-02-20 17:33:09,629 INFO L290 TraceCheckUtils]: 29: Hoare triple {9328#true} assume !(0 == ~cond); {9328#true} is VALID [2022-02-20 17:33:09,629 INFO L290 TraceCheckUtils]: 28: Hoare triple {9328#true} ~cond := #in~cond; {9328#true} is VALID [2022-02-20 17:33:09,629 INFO L272 TraceCheckUtils]: 27: Hoare triple {9395#(<= 2 ~counter~0)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {9328#true} is VALID [2022-02-20 17:33:09,629 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9328#true} {9395#(<= 2 ~counter~0)} #67#return; {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,629 INFO L290 TraceCheckUtils]: 25: Hoare triple {9328#true} assume true; {9328#true} is VALID [2022-02-20 17:33:09,629 INFO L290 TraceCheckUtils]: 24: Hoare triple {9328#true} assume !(0 == ~cond); {9328#true} is VALID [2022-02-20 17:33:09,629 INFO L290 TraceCheckUtils]: 23: Hoare triple {9328#true} ~cond := #in~cond; {9328#true} is VALID [2022-02-20 17:33:09,630 INFO L272 TraceCheckUtils]: 22: Hoare triple {9395#(<= 2 ~counter~0)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {9328#true} is VALID [2022-02-20 17:33:09,630 INFO L290 TraceCheckUtils]: 21: Hoare triple {9395#(<= 2 ~counter~0)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,630 INFO L290 TraceCheckUtils]: 20: Hoare triple {9340#(<= 1 ~counter~0)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {9395#(<= 2 ~counter~0)} is VALID [2022-02-20 17:33:09,630 INFO L290 TraceCheckUtils]: 19: Hoare triple {9340#(<= 1 ~counter~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; {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,631 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {9328#true} {9340#(<= 1 ~counter~0)} #71#return; {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,631 INFO L290 TraceCheckUtils]: 17: Hoare triple {9328#true} assume true; {9328#true} is VALID [2022-02-20 17:33:09,631 INFO L290 TraceCheckUtils]: 16: Hoare triple {9328#true} assume !(0 == ~cond); {9328#true} is VALID [2022-02-20 17:33:09,631 INFO L290 TraceCheckUtils]: 15: Hoare triple {9328#true} ~cond := #in~cond; {9328#true} is VALID [2022-02-20 17:33:09,631 INFO L272 TraceCheckUtils]: 14: Hoare triple {9340#(<= 1 ~counter~0)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {9328#true} is VALID [2022-02-20 17:33:09,632 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {9328#true} {9340#(<= 1 ~counter~0)} #69#return; {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,632 INFO L290 TraceCheckUtils]: 12: Hoare triple {9328#true} assume true; {9328#true} is VALID [2022-02-20 17:33:09,632 INFO L290 TraceCheckUtils]: 11: Hoare triple {9328#true} assume !(0 == ~cond); {9328#true} is VALID [2022-02-20 17:33:09,632 INFO L290 TraceCheckUtils]: 10: Hoare triple {9328#true} ~cond := #in~cond; {9328#true} is VALID [2022-02-20 17:33:09,632 INFO L272 TraceCheckUtils]: 9: Hoare triple {9340#(<= 1 ~counter~0)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {9328#true} is VALID [2022-02-20 17:33:09,632 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {9328#true} {9340#(<= 1 ~counter~0)} #67#return; {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,632 INFO L290 TraceCheckUtils]: 7: Hoare triple {9328#true} assume true; {9328#true} is VALID [2022-02-20 17:33:09,633 INFO L290 TraceCheckUtils]: 6: Hoare triple {9328#true} assume !(0 == ~cond); {9328#true} is VALID [2022-02-20 17:33:09,633 INFO L290 TraceCheckUtils]: 5: Hoare triple {9328#true} ~cond := #in~cond; {9328#true} is VALID [2022-02-20 17:33:09,633 INFO L272 TraceCheckUtils]: 4: Hoare triple {9340#(<= 1 ~counter~0)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {9328#true} is VALID [2022-02-20 17:33:09,633 INFO L290 TraceCheckUtils]: 3: Hoare triple {9340#(<= 1 ~counter~0)} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,633 INFO L290 TraceCheckUtils]: 2: Hoare triple {9333#(<= 0 ~counter~0)} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {9340#(<= 1 ~counter~0)} is VALID [2022-02-20 17:33:09,634 INFO L290 TraceCheckUtils]: 1: Hoare triple {9333#(<= 0 ~counter~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; {9333#(<= 0 ~counter~0)} is VALID [2022-02-20 17:33:09,634 INFO L290 TraceCheckUtils]: 0: Hoare triple {9328#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; {9333#(<= 0 ~counter~0)} is VALID [2022-02-20 17:33:09,634 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 54 proven. 2 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-02-20 17:33:09,634 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:33:09,635 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [664135427] [2022-02-20 17:33:09,635 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:33:09,635 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1059753843] [2022-02-20 17:33:09,635 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1059753843] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:33:09,635 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:33:09,635 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 9 [2022-02-20 17:33:09,635 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2100046894] [2022-02-20 17:33:09,635 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:33:09,636 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 6 states have call successors, (27), 7 states have call predecessors, (27), 6 states have return successors, (26), 5 states have call predecessors, (26), 5 states have call successors, (26) Word has length 90 [2022-02-20 17:33:09,708 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:33:09,708 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 6 states have call successors, (27), 7 states have call predecessors, (27), 6 states have return successors, (26), 5 states have call predecessors, (26), 5 states have call successors, (26) [2022-02-20 17:33:09,769 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:33:09,769 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 17:33:09,769 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:33:09,770 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 17:33:09,770 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=42, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:33:09,770 INFO L87 Difference]: Start difference. First operand 165 states and 194 transitions. Second operand has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 6 states have call successors, (27), 7 states have call predecessors, (27), 6 states have return successors, (26), 5 states have call predecessors, (26), 5 states have call successors, (26) [2022-02-20 17:33:10,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:10,218 INFO L93 Difference]: Finished difference Result 212 states and 252 transitions. [2022-02-20 17:33:10,218 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 17:33:10,218 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 6 states have call successors, (27), 7 states have call predecessors, (27), 6 states have return successors, (26), 5 states have call predecessors, (26), 5 states have call successors, (26) Word has length 90 [2022-02-20 17:33:10,218 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:33:10,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 6 states have call successors, (27), 7 states have call predecessors, (27), 6 states have return successors, (26), 5 states have call predecessors, (26), 5 states have call successors, (26) [2022-02-20 17:33:10,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 112 transitions. [2022-02-20 17:33:10,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 6 states have call successors, (27), 7 states have call predecessors, (27), 6 states have return successors, (26), 5 states have call predecessors, (26), 5 states have call successors, (26) [2022-02-20 17:33:10,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 112 transitions. [2022-02-20 17:33:10,221 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 112 transitions. [2022-02-20 17:33:10,307 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:33:10,309 INFO L225 Difference]: With dead ends: 212 [2022-02-20 17:33:10,309 INFO L226 Difference]: Without dead ends: 155 [2022-02-20 17:33:10,309 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 179 GetRequests, 170 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2022-02-20 17:33:10,309 INFO L933 BasicCegarLoop]: 82 mSDtfsCounter, 56 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 84 mSolverCounterSat, 58 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 56 SdHoareTripleChecker+Valid, 209 SdHoareTripleChecker+Invalid, 142 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 58 IncrementalHoareTripleChecker+Valid, 84 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:33:10,310 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [56 Valid, 209 Invalid, 142 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [58 Valid, 84 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:33:10,310 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 155 states. [2022-02-20 17:33:10,408 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 155 to 145. [2022-02-20 17:33:10,408 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:33:10,408 INFO L82 GeneralOperation]: Start isEquivalent. First operand 155 states. Second operand has 145 states, 98 states have (on average 1.0816326530612246) internal successors, (106), 101 states have internal predecessors, (106), 26 states have call successors, (26), 20 states have call predecessors, (26), 20 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-02-20 17:33:10,409 INFO L74 IsIncluded]: Start isIncluded. First operand 155 states. Second operand has 145 states, 98 states have (on average 1.0816326530612246) internal successors, (106), 101 states have internal predecessors, (106), 26 states have call successors, (26), 20 states have call predecessors, (26), 20 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-02-20 17:33:10,409 INFO L87 Difference]: Start difference. First operand 155 states. Second operand has 145 states, 98 states have (on average 1.0816326530612246) internal successors, (106), 101 states have internal predecessors, (106), 26 states have call successors, (26), 20 states have call predecessors, (26), 20 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-02-20 17:33:10,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:10,411 INFO L93 Difference]: Finished difference Result 155 states and 168 transitions. [2022-02-20 17:33:10,411 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 168 transitions. [2022-02-20 17:33:10,412 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:33:10,412 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:33:10,412 INFO L74 IsIncluded]: Start isIncluded. First operand has 145 states, 98 states have (on average 1.0816326530612246) internal successors, (106), 101 states have internal predecessors, (106), 26 states have call successors, (26), 20 states have call predecessors, (26), 20 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 155 states. [2022-02-20 17:33:10,412 INFO L87 Difference]: Start difference. First operand has 145 states, 98 states have (on average 1.0816326530612246) internal successors, (106), 101 states have internal predecessors, (106), 26 states have call successors, (26), 20 states have call predecessors, (26), 20 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 155 states. [2022-02-20 17:33:10,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:33:10,414 INFO L93 Difference]: Finished difference Result 155 states and 168 transitions. [2022-02-20 17:33:10,414 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 168 transitions. [2022-02-20 17:33:10,415 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:33:10,415 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:33:10,415 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:33:10,415 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:33:10,416 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 145 states, 98 states have (on average 1.0816326530612246) internal successors, (106), 101 states have internal predecessors, (106), 26 states have call successors, (26), 20 states have call predecessors, (26), 20 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-02-20 17:33:10,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 145 states to 145 states and 157 transitions. [2022-02-20 17:33:10,418 INFO L78 Accepts]: Start accepts. Automaton has 145 states and 157 transitions. Word has length 90 [2022-02-20 17:33:10,418 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:33:10,418 INFO L470 AbstractCegarLoop]: Abstraction has 145 states and 157 transitions. [2022-02-20 17:33:10,419 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 6 states have call successors, (27), 7 states have call predecessors, (27), 6 states have return successors, (26), 5 states have call predecessors, (26), 5 states have call successors, (26) [2022-02-20 17:33:10,419 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 157 transitions. [2022-02-20 17:33:10,419 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-02-20 17:33:10,419 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:33:10,419 INFO L514 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:33:10,435 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-02-20 17:33:10,635 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-02-20 17:33:10,636 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:33:10,636 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:33:10,636 INFO L85 PathProgramCache]: Analyzing trace with hash 1610071076, now seen corresponding path program 1 times [2022-02-20 17:33:10,636 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:33:10,636 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1095176631] [2022-02-20 17:33:10,636 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:33:10,636 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:33:10,646 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:33:10,646 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2027905154] [2022-02-20 17:33:10,647 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:33:10,647 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:33:10,647 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:33:10,648 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:33:10,649 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-02-20 17:33:10,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:33:10,691 INFO L263 TraceCheckSpWp]: Trace formula consists of 226 conjuncts, 37 conjunts are in the unsatisfiable core [2022-02-20 17:33:10,704 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:33:10,705 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:33:11,196 INFO L290 TraceCheckUtils]: 0: Hoare triple {10666#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; {10666#true} is VALID [2022-02-20 17:33:11,197 INFO L290 TraceCheckUtils]: 1: Hoare triple {10666#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; {10674#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= |ULTIMATE.start_main_~p~0#1| 1) (= |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:33:11,197 INFO L290 TraceCheckUtils]: 2: Hoare triple {10674#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= |ULTIMATE.start_main_~p~0#1| 1) (= |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; {10674#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= |ULTIMATE.start_main_~p~0#1| 1) (= |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:33:11,197 INFO L290 TraceCheckUtils]: 3: Hoare triple {10674#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {10674#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= |ULTIMATE.start_main_~p~0#1| 1) (= |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:33:11,198 INFO L272 TraceCheckUtils]: 4: Hoare triple {10674#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= |ULTIMATE.start_main_~p~0#1| 1) (= |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)); {10666#true} is VALID [2022-02-20 17:33:11,198 INFO L290 TraceCheckUtils]: 5: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:11,198 INFO L290 TraceCheckUtils]: 6: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:11,198 INFO L290 TraceCheckUtils]: 7: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:11,199 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {10666#true} {10674#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} #67#return; {10674#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= |ULTIMATE.start_main_~p~0#1| 1) (= |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:33:11,199 INFO L272 TraceCheckUtils]: 9: Hoare triple {10674#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= |ULTIMATE.start_main_~p~0#1| 1) (= |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)); {10666#true} is VALID [2022-02-20 17:33:11,199 INFO L290 TraceCheckUtils]: 10: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:11,199 INFO L290 TraceCheckUtils]: 11: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:11,199 INFO L290 TraceCheckUtils]: 12: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:11,200 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {10666#true} {10674#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} #69#return; {10674#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= |ULTIMATE.start_main_~p~0#1| 1) (= |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:33:11,200 INFO L272 TraceCheckUtils]: 14: Hoare triple {10674#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= |ULTIMATE.start_main_~p~0#1| 1) (= |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)); {10666#true} is VALID [2022-02-20 17:33:11,201 INFO L290 TraceCheckUtils]: 15: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:11,201 INFO L290 TraceCheckUtils]: 16: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:11,201 INFO L290 TraceCheckUtils]: 17: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:11,202 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10666#true} {10674#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} #71#return; {10674#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= |ULTIMATE.start_main_~p~0#1| 1) (= |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:33:11,202 INFO L290 TraceCheckUtils]: 19: Hoare triple {10674#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= |ULTIMATE.start_main_~p~0#1| 1) (= |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);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {10729#(and (= 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|) (= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:11,202 INFO L290 TraceCheckUtils]: 20: Hoare triple {10729#(and (= 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|) (= 2 |ULTIMATE.start_main_~d~0#1|))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {10729#(and (= 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|) (= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:11,203 INFO L290 TraceCheckUtils]: 21: Hoare triple {10729#(and (= 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|) (= 2 |ULTIMATE.start_main_~d~0#1|))} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {10729#(and (= 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|) (= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:11,203 INFO L272 TraceCheckUtils]: 22: Hoare triple {10729#(and (= 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|) (= 2 |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {10666#true} is VALID [2022-02-20 17:33:11,203 INFO L290 TraceCheckUtils]: 23: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:11,203 INFO L290 TraceCheckUtils]: 24: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:11,203 INFO L290 TraceCheckUtils]: 25: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:11,204 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10666#true} {10729#(and (= 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|) (= 2 |ULTIMATE.start_main_~d~0#1|))} #67#return; {10729#(and (= 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|) (= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:11,204 INFO L272 TraceCheckUtils]: 27: Hoare triple {10729#(and (= 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|) (= 2 |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {10666#true} is VALID [2022-02-20 17:33:11,204 INFO L290 TraceCheckUtils]: 28: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:11,204 INFO L290 TraceCheckUtils]: 29: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:11,204 INFO L290 TraceCheckUtils]: 30: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:11,205 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {10666#true} {10729#(and (= 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|) (= 2 |ULTIMATE.start_main_~d~0#1|))} #69#return; {10729#(and (= 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|) (= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:11,205 INFO L272 TraceCheckUtils]: 32: Hoare triple {10729#(and (= 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|) (= 2 |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {10666#true} is VALID [2022-02-20 17:33:11,205 INFO L290 TraceCheckUtils]: 33: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:11,205 INFO L290 TraceCheckUtils]: 34: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:11,205 INFO L290 TraceCheckUtils]: 35: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:11,205 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10666#true} {10729#(and (= 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|) (= 2 |ULTIMATE.start_main_~d~0#1|))} #71#return; {10729#(and (= 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|) (= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:11,206 INFO L290 TraceCheckUtils]: 37: Hoare triple {10729#(and (= 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|) (= 2 |ULTIMATE.start_main_~d~0#1|))} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} is VALID [2022-02-20 17:33:11,206 INFO L290 TraceCheckUtils]: 38: Hoare triple {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} is VALID [2022-02-20 17:33:11,207 INFO L290 TraceCheckUtils]: 39: Hoare triple {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} is VALID [2022-02-20 17:33:11,207 INFO L272 TraceCheckUtils]: 40: Hoare triple {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {10666#true} is VALID [2022-02-20 17:33:11,207 INFO L290 TraceCheckUtils]: 41: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:11,207 INFO L290 TraceCheckUtils]: 42: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:11,207 INFO L290 TraceCheckUtils]: 43: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:11,207 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {10666#true} {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} #67#return; {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} is VALID [2022-02-20 17:33:11,208 INFO L272 TraceCheckUtils]: 45: Hoare triple {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 then 1 else 0)); {10666#true} is VALID [2022-02-20 17:33:11,208 INFO L290 TraceCheckUtils]: 46: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:11,208 INFO L290 TraceCheckUtils]: 47: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:11,208 INFO L290 TraceCheckUtils]: 48: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:11,208 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {10666#true} {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} #69#return; {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} is VALID [2022-02-20 17:33:11,208 INFO L272 TraceCheckUtils]: 50: Hoare triple {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {10666#true} is VALID [2022-02-20 17:33:11,209 INFO L290 TraceCheckUtils]: 51: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:11,209 INFO L290 TraceCheckUtils]: 52: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:11,209 INFO L290 TraceCheckUtils]: 53: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:11,209 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10666#true} {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} #71#return; {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} is VALID [2022-02-20 17:33:11,210 INFO L290 TraceCheckUtils]: 55: Hoare triple {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} assume !(main_~r~0#1 >= main_~d~0#1); {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} is VALID [2022-02-20 17:33:11,210 INFO L290 TraceCheckUtils]: 56: Hoare triple {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} is VALID [2022-02-20 17:33:11,210 INFO L290 TraceCheckUtils]: 57: Hoare triple {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} is VALID [2022-02-20 17:33:11,211 INFO L272 TraceCheckUtils]: 58: Hoare triple {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {10666#true} is VALID [2022-02-20 17:33:11,211 INFO L290 TraceCheckUtils]: 59: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:11,211 INFO L290 TraceCheckUtils]: 60: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:11,211 INFO L290 TraceCheckUtils]: 61: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:11,211 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {10666#true} {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} #73#return; {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} is VALID [2022-02-20 17:33:11,211 INFO L272 TraceCheckUtils]: 63: Hoare triple {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {10666#true} is VALID [2022-02-20 17:33:11,212 INFO L290 TraceCheckUtils]: 64: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:11,212 INFO L290 TraceCheckUtils]: 65: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:11,212 INFO L290 TraceCheckUtils]: 66: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:11,212 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {10666#true} {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} #75#return; {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} is VALID [2022-02-20 17:33:11,213 INFO L290 TraceCheckUtils]: 68: Hoare triple {10784#(and (= |ULTIMATE.start_main_~p~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_~d~0#1| 4))} assume !!(1 != main_~p~0#1);main_~d~0#1 := (if main_~d~0#1 < 0 && 0 != main_~d~0#1 % 2 then 1 + main_~d~0#1 / 2 else main_~d~0#1 / 2);main_~p~0#1 := (if main_~p~0#1 < 0 && 0 != main_~p~0#1 % 2 then 1 + main_~p~0#1 / 2 else main_~p~0#1 / 2); {10729#(and (= 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|) (= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:11,213 INFO L290 TraceCheckUtils]: 69: Hoare triple {10729#(and (= 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|) (= 2 |ULTIMATE.start_main_~d~0#1|))} assume main_~r~0#1 >= main_~d~0#1;main_~r~0#1 := main_~r~0#1 - main_~d~0#1;main_~q~0#1 := main_~q~0#1 + main_~p~0#1; {10881#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~q~0#1|) 0) (= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:11,214 INFO L290 TraceCheckUtils]: 70: Hoare triple {10881#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~q~0#1|) 0) (= 2 |ULTIMATE.start_main_~d~0#1|))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {10881#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~q~0#1|) 0) (= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:11,214 INFO L290 TraceCheckUtils]: 71: Hoare triple {10881#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~q~0#1|) 0) (= 2 |ULTIMATE.start_main_~d~0#1|))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {10881#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~q~0#1|) 0) (= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:11,214 INFO L272 TraceCheckUtils]: 72: Hoare triple {10881#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~q~0#1|) 0) (= 2 |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if main_~A~0#1 == main_~q~0#1 * main_~B~0#1 + main_~r~0#1 then 1 else 0)); {10666#true} is VALID [2022-02-20 17:33:11,214 INFO L290 TraceCheckUtils]: 73: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:11,214 INFO L290 TraceCheckUtils]: 74: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:11,214 INFO L290 TraceCheckUtils]: 75: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:11,215 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {10666#true} {10881#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~q~0#1|) 0) (= 2 |ULTIMATE.start_main_~d~0#1|))} #73#return; {10881#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~q~0#1|) 0) (= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:11,215 INFO L272 TraceCheckUtils]: 77: Hoare triple {10881#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~q~0#1|) 0) (= 2 |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 * main_~p~0#1 then 1 else 0)); {10666#true} is VALID [2022-02-20 17:33:11,215 INFO L290 TraceCheckUtils]: 78: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:11,215 INFO L290 TraceCheckUtils]: 79: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:11,215 INFO L290 TraceCheckUtils]: 80: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:11,216 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {10666#true} {10881#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~q~0#1|) 0) (= 2 |ULTIMATE.start_main_~d~0#1|))} #75#return; {10881#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~q~0#1|) 0) (= 2 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:33:11,216 INFO L290 TraceCheckUtils]: 82: Hoare triple {10881#(and (= (+ |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~q~0#1|) 0) (= 2 |ULTIMATE.start_main_~d~0#1|))} assume !!(1 != main_~p~0#1);main_~d~0#1 := (if main_~d~0#1 < 0 && 0 != main_~d~0#1 % 2 then 1 + main_~d~0#1 / 2 else main_~d~0#1 / 2);main_~p~0#1 := (if main_~p~0#1 < 0 && 0 != main_~p~0#1 % 2 then 1 + main_~p~0#1 / 2 else main_~p~0#1 / 2); {10921#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= (div |ULTIMATE.start_main_~q~0#1| 2) |ULTIMATE.start_main_~p~0#1|) (= 2 |ULTIMATE.start_main_~q~0#1|) (= (+ 2 |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|))} is VALID [2022-02-20 17:33:11,217 INFO L290 TraceCheckUtils]: 83: Hoare triple {10921#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= (div |ULTIMATE.start_main_~q~0#1| 2) |ULTIMATE.start_main_~p~0#1|) (= 2 |ULTIMATE.start_main_~q~0#1|) (= (+ 2 |ULTIMATE.start_main_~r~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; {10925#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= (+ (- 2) |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~r~0#1|) (= 3 |ULTIMATE.start_main_~q~0#1|))} is VALID [2022-02-20 17:33:11,218 INFO L290 TraceCheckUtils]: 84: Hoare triple {10925#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= (+ (- 2) |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~r~0#1|) (= 3 |ULTIMATE.start_main_~q~0#1|))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {10925#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= (+ (- 2) |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~r~0#1|) (= 3 |ULTIMATE.start_main_~q~0#1|))} is VALID [2022-02-20 17:33:11,218 INFO L290 TraceCheckUtils]: 85: Hoare triple {10925#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= (+ (- 2) |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~r~0#1|) (= 3 |ULTIMATE.start_main_~q~0#1|))} assume !(main_#t~post6#1 < 5);havoc main_#t~post6#1; {10925#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= (+ (- 2) |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~r~0#1|) (= 3 |ULTIMATE.start_main_~q~0#1|))} is VALID [2022-02-20 17:33:11,219 INFO L272 TraceCheckUtils]: 86: Hoare triple {10925#(and (= |ULTIMATE.start_main_~d~0#1| 1) (= (+ (- 2) |ULTIMATE.start_main_~A~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~r~0#1|) (= 3 |ULTIMATE.start_main_~q~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)); {10935#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:33:11,219 INFO L290 TraceCheckUtils]: 87: Hoare triple {10935#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10939#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:33:11,219 INFO L290 TraceCheckUtils]: 88: Hoare triple {10939#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10667#false} is VALID [2022-02-20 17:33:11,219 INFO L290 TraceCheckUtils]: 89: Hoare triple {10667#false} assume !false; {10667#false} is VALID [2022-02-20 17:33:11,220 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 26 proven. 28 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-02-20 17:33:11,220 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:33:38,132 INFO L290 TraceCheckUtils]: 89: Hoare triple {10667#false} assume !false; {10667#false} is VALID [2022-02-20 17:33:38,132 INFO L290 TraceCheckUtils]: 88: Hoare triple {10939#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10667#false} is VALID [2022-02-20 17:33:38,133 INFO L290 TraceCheckUtils]: 87: Hoare triple {10935#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10939#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:33:38,133 INFO L272 TraceCheckUtils]: 86: Hoare triple {10955#(= (+ (* |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)); {10935#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:33:38,133 INFO L290 TraceCheckUtils]: 85: Hoare triple {10955#(= (+ (* |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 !(main_#t~post6#1 < 5);havoc main_#t~post6#1; {10955#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:33:38,134 INFO L290 TraceCheckUtils]: 84: Hoare triple {10955#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#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; {10955#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:33:38,135 INFO L290 TraceCheckUtils]: 83: Hoare triple {10965#(= (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~d~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~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; {10955#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:33:38,155 INFO L290 TraceCheckUtils]: 82: Hoare triple {10969#(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) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~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_~A~0#1| (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))) (or (and (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| (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1))))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~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))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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); {10965#(= (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* |ULTIMATE.start_main_~d~0#1| (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|))) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:33:38,155 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {10666#true} {10969#(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) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~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_~A~0#1| (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))) (or (and (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| (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1))))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~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))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} #75#return; {10969#(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) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~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_~A~0#1| (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))) (or (and (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| (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1))))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~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))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} is VALID [2022-02-20 17:33:38,155 INFO L290 TraceCheckUtils]: 80: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:38,155 INFO L290 TraceCheckUtils]: 79: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:38,155 INFO L290 TraceCheckUtils]: 78: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:38,155 INFO L272 TraceCheckUtils]: 77: Hoare triple {10969#(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) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~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_~A~0#1| (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))) (or (and (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| (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1))))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~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))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (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)); {10666#true} is VALID [2022-02-20 17:33:38,156 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {10666#true} {10969#(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) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~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_~A~0#1| (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))) (or (and (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| (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1))))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~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))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} #73#return; {10969#(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) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~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_~A~0#1| (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))) (or (and (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| (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1))))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~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))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} is VALID [2022-02-20 17:33:38,156 INFO L290 TraceCheckUtils]: 75: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:38,156 INFO L290 TraceCheckUtils]: 74: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:38,156 INFO L290 TraceCheckUtils]: 73: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:38,156 INFO L272 TraceCheckUtils]: 72: Hoare triple {10969#(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) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~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_~A~0#1| (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))) (or (and (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| (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1))))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~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))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~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)); {10666#true} is VALID [2022-02-20 17:33:38,157 INFO L290 TraceCheckUtils]: 71: Hoare triple {10969#(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) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~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_~A~0#1| (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))) (or (and (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| (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1))))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~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))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {10969#(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) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~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_~A~0#1| (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))) (or (and (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| (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1))))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~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))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} is VALID [2022-02-20 17:33:38,159 INFO L290 TraceCheckUtils]: 70: Hoare triple {10969#(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) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~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_~A~0#1| (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))) (or (and (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| (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1))))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~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))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {10969#(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) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~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_~A~0#1| (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))) (or (and (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| (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1))))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~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))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} is VALID [2022-02-20 17:33:38,173 INFO L290 TraceCheckUtils]: 69: Hoare triple {11009#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 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_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1))) |ULTIMATE.start_main_~A~0#1|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~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)))) (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 (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~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| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 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; {10969#(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) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~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_~A~0#1| (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))) (or (and (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| (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1))))) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= |ULTIMATE.start_main_~A~0#1| (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~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))) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0))))} is VALID [2022-02-20 17:33:38,357 INFO L290 TraceCheckUtils]: 68: Hoare triple {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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); {11009#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 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_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1))) |ULTIMATE.start_main_~A~0#1|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~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)))) (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 (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~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| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))))} is VALID [2022-02-20 17:33:38,360 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {10666#true} {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} #75#return; {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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:38,361 INFO L290 TraceCheckUtils]: 66: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:38,361 INFO L290 TraceCheckUtils]: 65: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:38,361 INFO L290 TraceCheckUtils]: 64: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:38,361 INFO L272 TraceCheckUtils]: 63: Hoare triple {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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)); {10666#true} is VALID [2022-02-20 17:33:38,362 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {10666#true} {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} #73#return; {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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:38,362 INFO L290 TraceCheckUtils]: 61: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:38,362 INFO L290 TraceCheckUtils]: 60: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:38,362 INFO L290 TraceCheckUtils]: 59: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:38,362 INFO L272 TraceCheckUtils]: 58: Hoare triple {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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)); {10666#true} is VALID [2022-02-20 17:33:38,366 INFO L290 TraceCheckUtils]: 57: Hoare triple {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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:38,370 INFO L290 TraceCheckUtils]: 56: Hoare triple {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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; {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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:38,373 INFO L290 TraceCheckUtils]: 55: Hoare triple {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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); {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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:38,388 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10666#true} {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} #71#return; {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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:38,388 INFO L290 TraceCheckUtils]: 53: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:38,389 INFO L290 TraceCheckUtils]: 52: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:38,389 INFO L290 TraceCheckUtils]: 51: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:38,389 INFO L272 TraceCheckUtils]: 50: Hoare triple {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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)); {10666#true} is VALID [2022-02-20 17:33:38,390 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {10666#true} {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} #69#return; {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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:38,390 INFO L290 TraceCheckUtils]: 48: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:38,390 INFO L290 TraceCheckUtils]: 47: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:38,390 INFO L290 TraceCheckUtils]: 46: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:38,390 INFO L272 TraceCheckUtils]: 45: Hoare triple {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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)); {10666#true} is VALID [2022-02-20 17:33:38,391 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {10666#true} {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} #67#return; {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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:38,392 INFO L290 TraceCheckUtils]: 43: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:38,392 INFO L290 TraceCheckUtils]: 42: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:38,392 INFO L290 TraceCheckUtils]: 41: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:38,392 INFO L272 TraceCheckUtils]: 40: Hoare triple {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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)); {10666#true} is VALID [2022-02-20 17:33:38,395 INFO L290 TraceCheckUtils]: 39: Hoare triple {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))))} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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:38,399 INFO L290 TraceCheckUtils]: 38: Hoare triple {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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; {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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:38,648 INFO L290 TraceCheckUtils]: 37: Hoare triple {11009#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 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_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1))) |ULTIMATE.start_main_~A~0#1|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~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)))) (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 (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~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| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 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; {11013#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (and (< (div |ULTIMATE.start_main_~p~0#1| 2) 0) (not (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)) (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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 (= |ULTIMATE.start_main_~A~0#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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)))) (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0)))) (or (and (or (= (mod (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 0) (= |ULTIMATE.start_main_~A~0#1| (+ (- 2) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (* (- 1) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2))))) (or (= (+ (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 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)) (- 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)))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (mod (div |ULTIMATE.start_main_~p~0#1| 2) 2) 0))) (= (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)) (and (or (and (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_~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) (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|)) (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| (* (+ (div (div |ULTIMATE.start_main_~p~0#1| 2) 2) |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1))) |ULTIMATE.start_main_~A~0#1|) (not (< (div |ULTIMATE.start_main_~d~0#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)))) (or (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| (* (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_~A~0#1|)) (or (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0) (not (< (div |ULTIMATE.start_main_~d~0#1| 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| (* (+ (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) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 1)))))) (not (< (div |ULTIMATE.start_main_~p~0#1| 2) 0)) (= (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 (< |ULTIMATE.start_main_~d~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| (+ (* (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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)) (- 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)))) (= (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| (* (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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) 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))))) (or (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0) (and (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)) (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2)) (* (- 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))) (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)) (+ (div (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1) 2) 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))))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (not (= (mod (+ (div |ULTIMATE.start_main_~p~0#1| 2) 1) 2) 0)) (and (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| (* (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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|) (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)) (= |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| (* (div (div |ULTIMATE.start_main_~d~0#1| 2) 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) 1))))))) (or (and (or (and (not (= (mod (div |ULTIMATE.start_main_~d~0#1| 2) 2) 0)) (< (div |ULTIMATE.start_main_~d~0#1| 2) 0)) (= |ULTIMATE.start_main_~A~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)) (div (div |ULTIMATE.start_main_~d~0#1| 2) 2)) (* (- 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|))) (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)) (+ (div (div |ULTIMATE.start_main_~d~0#1| 2) 2) 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))) (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:38,649 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10666#true} {11009#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 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_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1))) |ULTIMATE.start_main_~A~0#1|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~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)))) (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 (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~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| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))))} #71#return; {11009#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 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_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1))) |ULTIMATE.start_main_~A~0#1|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~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)))) (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 (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~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| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))))} is VALID [2022-02-20 17:33:38,649 INFO L290 TraceCheckUtils]: 35: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:38,650 INFO L290 TraceCheckUtils]: 34: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:38,650 INFO L290 TraceCheckUtils]: 33: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:38,650 INFO L272 TraceCheckUtils]: 32: Hoare triple {11009#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 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_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1))) |ULTIMATE.start_main_~A~0#1|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~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)))) (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 (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~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| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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|) (= (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)); {10666#true} is VALID [2022-02-20 17:33:38,650 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {10666#true} {11009#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 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_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1))) |ULTIMATE.start_main_~A~0#1|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~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)))) (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 (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~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| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))))} #69#return; {11009#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 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_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1))) |ULTIMATE.start_main_~A~0#1|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~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)))) (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 (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~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| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))))} is VALID [2022-02-20 17:33:38,650 INFO L290 TraceCheckUtils]: 30: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:38,650 INFO L290 TraceCheckUtils]: 29: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:38,651 INFO L290 TraceCheckUtils]: 28: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:38,651 INFO L272 TraceCheckUtils]: 27: Hoare triple {11009#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 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_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1))) |ULTIMATE.start_main_~A~0#1|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~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)))) (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 (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~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| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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|) (= (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)); {10666#true} is VALID [2022-02-20 17:33:38,651 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10666#true} {11009#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 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_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1))) |ULTIMATE.start_main_~A~0#1|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~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)))) (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 (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~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| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))))} #67#return; {11009#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 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_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1))) |ULTIMATE.start_main_~A~0#1|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~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)))) (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 (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~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| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))))} is VALID [2022-02-20 17:33:38,651 INFO L290 TraceCheckUtils]: 25: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:38,651 INFO L290 TraceCheckUtils]: 24: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:38,652 INFO L290 TraceCheckUtils]: 23: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:38,652 INFO L272 TraceCheckUtils]: 22: Hoare triple {11009#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 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_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1))) |ULTIMATE.start_main_~A~0#1|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~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)))) (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 (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~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| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {10666#true} is VALID [2022-02-20 17:33:38,653 INFO L290 TraceCheckUtils]: 21: Hoare triple {11009#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 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_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1))) |ULTIMATE.start_main_~A~0#1|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~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)))) (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 (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~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| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))))} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {11009#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 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_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1))) |ULTIMATE.start_main_~A~0#1|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~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)))) (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 (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~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| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))))} is VALID [2022-02-20 17:33:38,654 INFO L290 TraceCheckUtils]: 20: Hoare triple {11009#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 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_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1))) |ULTIMATE.start_main_~A~0#1|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~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)))) (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 (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~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| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))))} main_#t~post5#1 := ~counter~0;~counter~0 := 1 + main_#t~post5#1; {11009#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 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_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1))) |ULTIMATE.start_main_~A~0#1|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~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)))) (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 (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~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| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))))} is VALID [2022-02-20 17:33:38,658 INFO L290 TraceCheckUtils]: 19: Hoare triple {11161#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) (* 3 (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~p~0#1|)) |ULTIMATE.start_main_~r~0#1|) (+ |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; {11009#(and (or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 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_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 1))) |ULTIMATE.start_main_~A~0#1|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2))) |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~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)))) (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 (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (* (div |ULTIMATE.start_main_~d~0#1| 2) (+ |ULTIMATE.start_main_~p~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| (* (- 1) |ULTIMATE.start_main_~d~0#1|)) |ULTIMATE.start_main_~A~0#1|)) (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (= (+ (- 1) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (+ (div |ULTIMATE.start_main_~d~0#1| 2) 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|) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)))))} is VALID [2022-02-20 17:33:38,658 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10666#true} {11161#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) (* 3 (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~p~0#1|)) |ULTIMATE.start_main_~r~0#1|) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} #71#return; {11161#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) (* 3 (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~p~0#1|)) |ULTIMATE.start_main_~r~0#1|) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} is VALID [2022-02-20 17:33:38,658 INFO L290 TraceCheckUtils]: 17: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:38,659 INFO L290 TraceCheckUtils]: 16: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:38,659 INFO L290 TraceCheckUtils]: 15: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:38,659 INFO L272 TraceCheckUtils]: 14: Hoare triple {11161#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) (* 3 (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~p~0#1|)) |ULTIMATE.start_main_~r~0#1|) (+ |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)); {10666#true} is VALID [2022-02-20 17:33:38,659 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {10666#true} {11161#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) (* 3 (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~p~0#1|)) |ULTIMATE.start_main_~r~0#1|) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} #69#return; {11161#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) (* 3 (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~p~0#1|)) |ULTIMATE.start_main_~r~0#1|) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} is VALID [2022-02-20 17:33:38,659 INFO L290 TraceCheckUtils]: 12: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:38,659 INFO L290 TraceCheckUtils]: 11: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:38,659 INFO L290 TraceCheckUtils]: 10: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:38,660 INFO L272 TraceCheckUtils]: 9: Hoare triple {11161#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) (* 3 (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~p~0#1|)) |ULTIMATE.start_main_~r~0#1|) (+ |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)); {10666#true} is VALID [2022-02-20 17:33:38,660 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {10666#true} {11161#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) (* 3 (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~p~0#1|)) |ULTIMATE.start_main_~r~0#1|) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} #67#return; {11161#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) (* 3 (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~p~0#1|)) |ULTIMATE.start_main_~r~0#1|) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} is VALID [2022-02-20 17:33:38,660 INFO L290 TraceCheckUtils]: 7: Hoare triple {10666#true} assume true; {10666#true} is VALID [2022-02-20 17:33:38,660 INFO L290 TraceCheckUtils]: 6: Hoare triple {10666#true} assume !(0 == ~cond); {10666#true} is VALID [2022-02-20 17:33:38,660 INFO L290 TraceCheckUtils]: 5: Hoare triple {10666#true} ~cond := #in~cond; {10666#true} is VALID [2022-02-20 17:33:38,660 INFO L272 TraceCheckUtils]: 4: Hoare triple {11161#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) (* 3 (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~p~0#1|)) |ULTIMATE.start_main_~r~0#1|) (+ |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)); {10666#true} is VALID [2022-02-20 17:33:38,661 INFO L290 TraceCheckUtils]: 3: Hoare triple {11161#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) (* 3 (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~p~0#1|)) |ULTIMATE.start_main_~r~0#1|) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} assume !!(main_#t~post5#1 < 5);havoc main_#t~post5#1; {11161#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) (* 3 (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~p~0#1|)) |ULTIMATE.start_main_~r~0#1|) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} is VALID [2022-02-20 17:33:38,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {11161#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) (* 3 (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~p~0#1|)) |ULTIMATE.start_main_~r~0#1|) (+ |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; {11161#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) (* 3 (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~p~0#1|)) |ULTIMATE.start_main_~r~0#1|) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} is VALID [2022-02-20 17:33:38,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {10666#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; {11161#(= (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) (* 3 (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~p~0#1|)) |ULTIMATE.start_main_~r~0#1|) (+ |ULTIMATE.start_main_~A~0#1| (* 3 |ULTIMATE.start_main_~d~0#1|)))} is VALID [2022-02-20 17:33:38,662 INFO L290 TraceCheckUtils]: 0: Hoare triple {10666#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; {10666#true} is VALID [2022-02-20 17:33:38,663 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 26 proven. 28 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-02-20 17:33:38,663 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:33:38,663 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1095176631] [2022-02-20 17:33:38,663 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:33:38,663 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2027905154] [2022-02-20 17:33:38,663 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2027905154] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:33:38,664 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:33:38,664 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-02-20 17:33:38,664 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1329200813] [2022-02-20 17:33:38,664 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:33:38,664 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:38,665 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:33:38,665 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)