/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/nla-digbench/hard2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 11:52:14,889 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 11:52:14,890 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 11:52:14,918 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 11:52:14,919 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 11:52:14,920 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 11:52:14,922 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 11:52:14,926 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 11:52:14,927 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 11:52:14,931 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 11:52:14,932 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 11:52:14,932 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 11:52:14,933 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 11:52:14,935 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 11:52:14,935 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 11:52:14,937 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 11:52:14,938 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 11:52:14,938 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 11:52:14,940 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 11:52:14,944 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 11:52:14,945 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 11:52:14,946 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 11:52:14,946 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 11:52:14,947 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 11:52:14,948 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 11:52:14,953 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 11:52:14,953 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 11:52:14,953 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 11:52:14,954 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 11:52:14,954 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 11:52:14,955 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 11:52:14,955 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 11:52:14,956 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 11:52:14,957 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 11:52:14,957 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 11:52:14,958 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 11:52:14,958 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 11:52:14,958 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 11:52:14,958 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 11:52:14,958 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 11:52:14,959 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 11:52:14,960 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 11:52:14,960 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-27 11:52:14,986 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 11:52:14,986 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 11:52:14,987 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 11:52:14,987 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 11:52:14,987 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 11:52:14,987 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 11:52:14,988 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 11:52:14,988 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 11:52:14,988 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 11:52:14,989 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 11:52:14,989 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 11:52:14,989 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 11:52:14,989 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 11:52:14,989 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 11:52:14,989 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 11:52:14,989 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 11:52:14,989 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 11:52:14,990 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 11:52:14,990 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 11:52:14,990 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 11:52:14,990 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 11:52:14,990 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 11:52:14,991 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 11:52:14,991 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 11:52:14,991 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 11:52:14,991 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 11:52:14,991 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 11:52:14,991 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 11:52:14,991 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 11:52:14,991 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 11:52:14,991 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 11:52:14,991 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 11:52:14,992 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 11:52:14,992 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.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-27 11:52:15,235 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 11:52:15,267 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 11:52:15,269 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 11:52:15,269 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 11:52:15,270 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 11:52:15,270 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench/hard2.c [2022-04-27 11:52:15,315 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/707882e46/07296478df754c539e3afee6bedac176/FLAG15dc0150a [2022-04-27 11:52:15,654 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 11:52:15,655 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/hard2.c [2022-04-27 11:52:15,659 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/707882e46/07296478df754c539e3afee6bedac176/FLAG15dc0150a [2022-04-27 11:52:16,098 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/707882e46/07296478df754c539e3afee6bedac176 [2022-04-27 11:52:16,100 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 11:52:16,100 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 11:52:16,106 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 11:52:16,106 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 11:52:16,111 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 11:52:16,112 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 11:52:16" (1/1) ... [2022-04-27 11:52:16,113 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@12cea09c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:52:16, skipping insertion in model container [2022-04-27 11:52:16,113 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 11:52:16" (1/1) ... [2022-04-27 11:52:16,118 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 11:52:16,128 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 11:52:16,256 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/hard2.c[526,539] [2022-04-27 11:52:16,266 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 11:52:16,271 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 11:52:16,278 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/hard2.c[526,539] [2022-04-27 11:52:16,282 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 11:52:16,290 INFO L208 MainTranslator]: Completed translation [2022-04-27 11:52:16,291 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:52:16 WrapperNode [2022-04-27 11:52:16,291 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 11:52:16,291 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 11:52:16,291 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 11:52:16,292 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 11:52:16,297 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:52:16" (1/1) ... [2022-04-27 11:52:16,298 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:52:16" (1/1) ... [2022-04-27 11:52:16,301 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:52:16" (1/1) ... [2022-04-27 11:52:16,301 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:52:16" (1/1) ... [2022-04-27 11:52:16,305 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:52:16" (1/1) ... [2022-04-27 11:52:16,308 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:52:16" (1/1) ... [2022-04-27 11:52:16,308 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:52:16" (1/1) ... [2022-04-27 11:52:16,309 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 11:52:16,310 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 11:52:16,310 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 11:52:16,310 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 11:52:16,311 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:52:16" (1/1) ... [2022-04-27 11:52:16,318 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 11:52:16,324 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:52:16,333 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-04-27 11:52:16,340 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-04-27 11:52:16,358 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 11:52:16,358 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 11:52:16,358 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 11:52:16,359 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 11:52:16,359 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 11:52:16,359 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 11:52:16,359 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 11:52:16,360 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 11:52:16,360 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 11:52:16,360 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 11:52:16,360 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 11:52:16,360 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 11:52:16,363 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 11:52:16,363 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 11:52:16,363 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 11:52:16,363 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 11:52:16,363 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 11:52:16,363 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 11:52:16,363 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 11:52:16,364 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 11:52:16,419 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 11:52:16,420 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 11:52:16,556 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 11:52:16,569 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 11:52:16,570 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-27 11:52:16,571 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 11:52:16 BoogieIcfgContainer [2022-04-27 11:52:16,571 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 11:52:16,585 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 11:52:16,585 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 11:52:16,587 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 11:52:16,588 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 11:52:16" (1/3) ... [2022-04-27 11:52:16,588 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@65a272a4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 11:52:16, skipping insertion in model container [2022-04-27 11:52:16,588 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:52:16" (2/3) ... [2022-04-27 11:52:16,588 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@65a272a4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 11:52:16, skipping insertion in model container [2022-04-27 11:52:16,589 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 11:52:16" (3/3) ... [2022-04-27 11:52:16,589 INFO L111 eAbstractionObserver]: Analyzing ICFG hard2.c [2022-04-27 11:52:16,605 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 11:52:16,606 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 11:52:16,641 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 11:52:16,647 INFO L357 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, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@7bfbf4ac, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@559adfc1 [2022-04-27 11:52:16,647 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 11:52:16,668 INFO L276 IsEmpty]: Start isEmpty. Operand has 29 states, 15 states have (on average 1.6) internal successors, (24), 16 states have internal predecessors, (24), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 11:52:16,674 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-04-27 11:52:16,674 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:52:16,674 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:52:16,675 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:52:16,684 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:52:16,684 INFO L85 PathProgramCache]: Analyzing trace with hash 1030421658, now seen corresponding path program 1 times [2022-04-27 11:52:16,690 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:52:16,691 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [75763932] [2022-04-27 11:52:16,691 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:16,692 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:52:16,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:16,896 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:52:16,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:16,922 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {32#true} is VALID [2022-04-27 11:52:16,923 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#true} assume true; {32#true} is VALID [2022-04-27 11:52:16,923 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {32#true} {32#true} #90#return; {32#true} is VALID [2022-04-27 11:52:16,925 INFO L272 TraceCheckUtils]: 0: Hoare triple {32#true} call ULTIMATE.init(); {40#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:52:16,925 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {32#true} is VALID [2022-04-27 11:52:16,925 INFO L290 TraceCheckUtils]: 2: Hoare triple {32#true} assume true; {32#true} is VALID [2022-04-27 11:52:16,926 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32#true} {32#true} #90#return; {32#true} is VALID [2022-04-27 11:52:16,926 INFO L272 TraceCheckUtils]: 4: Hoare triple {32#true} call #t~ret5 := main(); {32#true} is VALID [2022-04-27 11:52:16,927 INFO L290 TraceCheckUtils]: 5: Hoare triple {32#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {37#(= main_~q~0 0)} is VALID [2022-04-27 11:52:16,927 INFO L290 TraceCheckUtils]: 6: Hoare triple {37#(= main_~q~0 0)} assume !false; {37#(= main_~q~0 0)} is VALID [2022-04-27 11:52:16,928 INFO L272 TraceCheckUtils]: 7: Hoare triple {37#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:52:16,929 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {39#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:52:16,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {33#false} is VALID [2022-04-27 11:52:16,930 INFO L290 TraceCheckUtils]: 10: Hoare triple {33#false} assume !false; {33#false} is VALID [2022-04-27 11:52:16,930 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 11:52:16,931 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:52:16,931 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [75763932] [2022-04-27 11:52:16,931 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [75763932] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:52:16,932 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:52:16,932 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 11:52:16,933 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [306403356] [2022-04-27 11:52:16,934 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:52:16,938 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-04-27 11:52:16,939 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:52:16,941 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 11:52:16,954 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:16,955 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 11:52:16,955 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:52:16,971 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 11:52:16,972 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 11:52:16,974 INFO L87 Difference]: Start difference. First operand has 29 states, 15 states have (on average 1.6) internal successors, (24), 16 states have internal predecessors, (24), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 11:52:17,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:17,365 INFO L93 Difference]: Finished difference Result 66 states and 111 transitions. [2022-04-27 11:52:17,366 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 11:52:17,366 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-04-27 11:52:17,366 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:52:17,367 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 11:52:17,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 111 transitions. [2022-04-27 11:52:17,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 11:52:17,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 111 transitions. [2022-04-27 11:52:17,380 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 111 transitions. [2022-04-27 11:52:17,489 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:17,496 INFO L225 Difference]: With dead ends: 66 [2022-04-27 11:52:17,496 INFO L226 Difference]: Without dead ends: 35 [2022-04-27 11:52:17,498 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 11:52:17,501 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 39 mSDsluCounter, 21 mSDsCounter, 0 mSdLazyCounter, 107 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 43 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 135 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 107 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:52:17,502 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [43 Valid, 48 Invalid, 135 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 107 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 11:52:17,514 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-27 11:52:17,531 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 28. [2022-04-27 11:52:17,531 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:52:17,532 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 28 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 11:52:17,533 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 28 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 11:52:17,533 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 28 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 11:52:17,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:17,545 INFO L93 Difference]: Finished difference Result 35 states and 47 transitions. [2022-04-27 11:52:17,545 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 47 transitions. [2022-04-27 11:52:17,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:17,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:17,550 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 35 states. [2022-04-27 11:52:17,550 INFO L87 Difference]: Start difference. First operand has 28 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 35 states. [2022-04-27 11:52:17,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:17,553 INFO L93 Difference]: Finished difference Result 35 states and 47 transitions. [2022-04-27 11:52:17,553 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 47 transitions. [2022-04-27 11:52:17,553 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:17,553 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:17,553 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:52:17,554 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:52:17,554 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 11:52:17,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 35 transitions. [2022-04-27 11:52:17,561 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 35 transitions. Word has length 11 [2022-04-27 11:52:17,561 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:52:17,561 INFO L495 AbstractCegarLoop]: Abstraction has 28 states and 35 transitions. [2022-04-27 11:52:17,562 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 11:52:17,563 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 35 transitions. [2022-04-27 11:52:17,564 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-04-27 11:52:17,565 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:52:17,565 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:52:17,565 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 11:52:17,565 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:52:17,566 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:52:17,566 INFO L85 PathProgramCache]: Analyzing trace with hash -1237898617, now seen corresponding path program 1 times [2022-04-27 11:52:17,566 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:52:17,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1102544144] [2022-04-27 11:52:17,566 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:17,566 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:52:17,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:17,615 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:52:17,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:17,623 INFO L290 TraceCheckUtils]: 0: Hoare triple {268#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {256#true} is VALID [2022-04-27 11:52:17,624 INFO L290 TraceCheckUtils]: 1: Hoare triple {256#true} assume true; {256#true} is VALID [2022-04-27 11:52:17,624 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {256#true} {256#true} #90#return; {256#true} is VALID [2022-04-27 11:52:17,624 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:52:17,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:17,629 INFO L290 TraceCheckUtils]: 0: Hoare triple {256#true} ~cond := #in~cond; {256#true} is VALID [2022-04-27 11:52:17,629 INFO L290 TraceCheckUtils]: 1: Hoare triple {256#true} assume !(0 == ~cond); {256#true} is VALID [2022-04-27 11:52:17,629 INFO L290 TraceCheckUtils]: 2: Hoare triple {256#true} assume true; {256#true} is VALID [2022-04-27 11:52:17,630 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {256#true} {261#(= main_~A~0 main_~r~0)} #76#return; {261#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 11:52:17,630 INFO L272 TraceCheckUtils]: 0: Hoare triple {256#true} call ULTIMATE.init(); {268#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:52:17,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {268#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {256#true} is VALID [2022-04-27 11:52:17,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {256#true} assume true; {256#true} is VALID [2022-04-27 11:52:17,631 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {256#true} {256#true} #90#return; {256#true} is VALID [2022-04-27 11:52:17,631 INFO L272 TraceCheckUtils]: 4: Hoare triple {256#true} call #t~ret5 := main(); {256#true} is VALID [2022-04-27 11:52:17,631 INFO L290 TraceCheckUtils]: 5: Hoare triple {256#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {261#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 11:52:17,631 INFO L290 TraceCheckUtils]: 6: Hoare triple {261#(= main_~A~0 main_~r~0)} assume !false; {261#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 11:52:17,631 INFO L272 TraceCheckUtils]: 7: Hoare triple {261#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {256#true} is VALID [2022-04-27 11:52:17,632 INFO L290 TraceCheckUtils]: 8: Hoare triple {256#true} ~cond := #in~cond; {256#true} is VALID [2022-04-27 11:52:17,632 INFO L290 TraceCheckUtils]: 9: Hoare triple {256#true} assume !(0 == ~cond); {256#true} is VALID [2022-04-27 11:52:17,632 INFO L290 TraceCheckUtils]: 10: Hoare triple {256#true} assume true; {256#true} is VALID [2022-04-27 11:52:17,632 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {256#true} {261#(= main_~A~0 main_~r~0)} #76#return; {261#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 11:52:17,633 INFO L272 TraceCheckUtils]: 12: Hoare triple {261#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {266#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:52:17,633 INFO L290 TraceCheckUtils]: 13: Hoare triple {266#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {267#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:52:17,634 INFO L290 TraceCheckUtils]: 14: Hoare triple {267#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {257#false} is VALID [2022-04-27 11:52:17,634 INFO L290 TraceCheckUtils]: 15: Hoare triple {257#false} assume !false; {257#false} is VALID [2022-04-27 11:52:17,634 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 11:52:17,634 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:52:17,634 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1102544144] [2022-04-27 11:52:17,634 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1102544144] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:52:17,634 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:52:17,635 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 11:52:17,635 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1462805344] [2022-04-27 11:52:17,635 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:52:17,636 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.6666666666666667) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 16 [2022-04-27 11:52:17,636 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:52:17,636 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 1.6666666666666667) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 11:52:17,647 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:17,648 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 11:52:17,648 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:52:17,648 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 11:52:17,648 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 11:52:17,649 INFO L87 Difference]: Start difference. First operand 28 states and 35 transitions. Second operand has 6 states, 6 states have (on average 1.6666666666666667) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 11:52:17,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:17,933 INFO L93 Difference]: Finished difference Result 41 states and 52 transitions. [2022-04-27 11:52:17,933 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 11:52:17,933 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.6666666666666667) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 16 [2022-04-27 11:52:17,934 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:52:17,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.6666666666666667) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 11:52:17,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 49 transitions. [2022-04-27 11:52:17,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.6666666666666667) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 11:52:17,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 49 transitions. [2022-04-27 11:52:17,937 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 49 transitions. [2022-04-27 11:52:17,982 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:17,995 INFO L225 Difference]: With dead ends: 41 [2022-04-27 11:52:17,996 INFO L226 Difference]: Without dead ends: 39 [2022-04-27 11:52:17,996 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 11:52:17,997 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 28 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 96 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 40 SdHoareTripleChecker+Invalid, 121 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 96 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:52:17,997 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 40 Invalid, 121 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 96 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:52:17,998 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-04-27 11:52:18,001 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 32. [2022-04-27 11:52:18,001 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:52:18,001 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand has 32 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 11:52:18,008 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand has 32 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 11:52:18,009 INFO L87 Difference]: Start difference. First operand 39 states. Second operand has 32 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 11:52:18,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:18,012 INFO L93 Difference]: Finished difference Result 39 states and 50 transitions. [2022-04-27 11:52:18,012 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 50 transitions. [2022-04-27 11:52:18,012 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:18,012 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:18,013 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 39 states. [2022-04-27 11:52:18,013 INFO L87 Difference]: Start difference. First operand has 32 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 39 states. [2022-04-27 11:52:18,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:18,018 INFO L93 Difference]: Finished difference Result 39 states and 50 transitions. [2022-04-27 11:52:18,018 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 50 transitions. [2022-04-27 11:52:18,019 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:18,019 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:18,019 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:52:18,019 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:52:18,019 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 11:52:18,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 38 transitions. [2022-04-27 11:52:18,021 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 38 transitions. Word has length 16 [2022-04-27 11:52:18,021 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:52:18,022 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 38 transitions. [2022-04-27 11:52:18,022 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.6666666666666667) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 11:52:18,022 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 38 transitions. [2022-04-27 11:52:18,022 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-04-27 11:52:18,022 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:52:18,022 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:52:18,022 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 11:52:18,023 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:52:18,023 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:52:18,023 INFO L85 PathProgramCache]: Analyzing trace with hash 998817914, now seen corresponding path program 1 times [2022-04-27 11:52:18,023 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:52:18,023 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1545301382] [2022-04-27 11:52:18,023 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:18,024 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:52:18,032 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:52:18,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [229935483] [2022-04-27 11:52:18,033 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:18,033 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:52:18,033 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:52:18,034 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-04-27 11:52:18,071 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-04-27 11:52:18,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:18,088 INFO L263 TraceCheckSpWp]: Trace formula consists of 81 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 11:52:18,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:18,098 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:52:18,315 INFO L272 TraceCheckUtils]: 0: Hoare triple {464#true} call ULTIMATE.init(); {464#true} is VALID [2022-04-27 11:52:18,316 INFO L290 TraceCheckUtils]: 1: Hoare triple {464#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); {464#true} is VALID [2022-04-27 11:52:18,316 INFO L290 TraceCheckUtils]: 2: Hoare triple {464#true} assume true; {464#true} is VALID [2022-04-27 11:52:18,316 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {464#true} {464#true} #90#return; {464#true} is VALID [2022-04-27 11:52:18,316 INFO L272 TraceCheckUtils]: 4: Hoare triple {464#true} call #t~ret5 := main(); {464#true} is VALID [2022-04-27 11:52:18,316 INFO L290 TraceCheckUtils]: 5: Hoare triple {464#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {484#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:18,317 INFO L290 TraceCheckUtils]: 6: Hoare triple {484#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {484#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:18,317 INFO L272 TraceCheckUtils]: 7: Hoare triple {484#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {464#true} is VALID [2022-04-27 11:52:18,317 INFO L290 TraceCheckUtils]: 8: Hoare triple {464#true} ~cond := #in~cond; {464#true} is VALID [2022-04-27 11:52:18,317 INFO L290 TraceCheckUtils]: 9: Hoare triple {464#true} assume !(0 == ~cond); {464#true} is VALID [2022-04-27 11:52:18,317 INFO L290 TraceCheckUtils]: 10: Hoare triple {464#true} assume true; {464#true} is VALID [2022-04-27 11:52:18,318 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {464#true} {484#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #76#return; {484#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:18,318 INFO L272 TraceCheckUtils]: 12: Hoare triple {484#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {464#true} is VALID [2022-04-27 11:52:18,318 INFO L290 TraceCheckUtils]: 13: Hoare triple {464#true} ~cond := #in~cond; {464#true} is VALID [2022-04-27 11:52:18,319 INFO L290 TraceCheckUtils]: 14: Hoare triple {464#true} assume !(0 == ~cond); {464#true} is VALID [2022-04-27 11:52:18,319 INFO L290 TraceCheckUtils]: 15: Hoare triple {464#true} assume true; {464#true} is VALID [2022-04-27 11:52:18,319 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {464#true} {484#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {484#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:18,320 INFO L272 TraceCheckUtils]: 17: Hoare triple {484#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {521#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:52:18,320 INFO L290 TraceCheckUtils]: 18: Hoare triple {521#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {525#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:52:18,321 INFO L290 TraceCheckUtils]: 19: Hoare triple {525#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {465#false} is VALID [2022-04-27 11:52:18,321 INFO L290 TraceCheckUtils]: 20: Hoare triple {465#false} assume !false; {465#false} is VALID [2022-04-27 11:52:18,321 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 11:52:18,321 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 11:52:18,321 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:52:18,322 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1545301382] [2022-04-27 11:52:18,322 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:52:18,322 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [229935483] [2022-04-27 11:52:18,322 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [229935483] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:52:18,322 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:52:18,322 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 11:52:18,322 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1471966194] [2022-04-27 11:52:18,322 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:52:18,323 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), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 21 [2022-04-27 11:52:18,323 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:52:18,323 INFO L86 InductivityCheck]: Starting inductivity 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), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:52:18,337 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:18,337 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 11:52:18,337 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:52:18,338 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 11:52:18,338 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 11:52:18,338 INFO L87 Difference]: Start difference. First operand 32 states and 38 transitions. Second operand has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:52:18,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:18,472 INFO L93 Difference]: Finished difference Result 60 states and 78 transitions. [2022-04-27 11:52:18,472 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 11:52:18,472 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), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 21 [2022-04-27 11:52:18,473 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:52:18,473 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), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:52:18,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 72 transitions. [2022-04-27 11:52:18,475 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), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:52:18,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 72 transitions. [2022-04-27 11:52:18,476 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 72 transitions. [2022-04-27 11:52:18,525 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:18,527 INFO L225 Difference]: With dead ends: 60 [2022-04-27 11:52:18,527 INFO L226 Difference]: Without dead ends: 46 [2022-04-27 11:52:18,527 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 17 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-04-27 11:52:18,528 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 8 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 105 SdHoareTripleChecker+Invalid, 49 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 11:52:18,528 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 105 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 11:52:18,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-27 11:52:18,534 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-04-27 11:52:18,534 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:52:18,534 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 46 states, 25 states have (on average 1.2) internal successors, (30), 27 states have internal predecessors, (30), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 11:52:18,535 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 46 states, 25 states have (on average 1.2) internal successors, (30), 27 states have internal predecessors, (30), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 11:52:18,535 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 46 states, 25 states have (on average 1.2) internal successors, (30), 27 states have internal predecessors, (30), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 11:52:18,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:18,537 INFO L93 Difference]: Finished difference Result 46 states and 57 transitions. [2022-04-27 11:52:18,537 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 57 transitions. [2022-04-27 11:52:18,538 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:18,538 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:18,538 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 25 states have (on average 1.2) internal successors, (30), 27 states have internal predecessors, (30), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 46 states. [2022-04-27 11:52:18,538 INFO L87 Difference]: Start difference. First operand has 46 states, 25 states have (on average 1.2) internal successors, (30), 27 states have internal predecessors, (30), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 46 states. [2022-04-27 11:52:18,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:18,540 INFO L93 Difference]: Finished difference Result 46 states and 57 transitions. [2022-04-27 11:52:18,540 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 57 transitions. [2022-04-27 11:52:18,541 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:18,541 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:18,541 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:52:18,541 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:52:18,541 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 25 states have (on average 1.2) internal successors, (30), 27 states have internal predecessors, (30), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 11:52:18,543 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 57 transitions. [2022-04-27 11:52:18,543 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 57 transitions. Word has length 21 [2022-04-27 11:52:18,543 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:52:18,543 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 57 transitions. [2022-04-27 11:52:18,543 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:52:18,543 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 57 transitions. [2022-04-27 11:52:18,544 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 11:52:18,544 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:52:18,544 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:52:18,580 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-04-27 11:52:18,779 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:52:18,780 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:52:18,780 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:52:18,780 INFO L85 PathProgramCache]: Analyzing trace with hash 1073979732, now seen corresponding path program 1 times [2022-04-27 11:52:18,780 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:52:18,781 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2060282817] [2022-04-27 11:52:18,781 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:18,781 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:52:18,789 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:52:18,789 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2002665269] [2022-04-27 11:52:18,789 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:18,789 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:52:18,790 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:52:18,791 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-04-27 11:52:18,819 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-04-27 11:52:18,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:18,832 INFO L263 TraceCheckSpWp]: Trace formula consists of 92 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 11:52:18,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:18,840 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:52:20,861 INFO L272 TraceCheckUtils]: 0: Hoare triple {783#true} call ULTIMATE.init(); {783#true} is VALID [2022-04-27 11:52:20,862 INFO L290 TraceCheckUtils]: 1: Hoare triple {783#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); {783#true} is VALID [2022-04-27 11:52:20,862 INFO L290 TraceCheckUtils]: 2: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 11:52:20,863 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {783#true} {783#true} #90#return; {783#true} is VALID [2022-04-27 11:52:20,863 INFO L272 TraceCheckUtils]: 4: Hoare triple {783#true} call #t~ret5 := main(); {783#true} is VALID [2022-04-27 11:52:20,864 INFO L290 TraceCheckUtils]: 5: Hoare triple {783#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {803#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 11:52:20,864 INFO L290 TraceCheckUtils]: 6: Hoare triple {803#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !false; {803#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 11:52:20,864 INFO L272 TraceCheckUtils]: 7: Hoare triple {803#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {783#true} is VALID [2022-04-27 11:52:20,865 INFO L290 TraceCheckUtils]: 8: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-27 11:52:20,865 INFO L290 TraceCheckUtils]: 9: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-27 11:52:20,865 INFO L290 TraceCheckUtils]: 10: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 11:52:20,865 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {783#true} {803#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #76#return; {803#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 11:52:20,866 INFO L272 TraceCheckUtils]: 12: Hoare triple {803#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {783#true} is VALID [2022-04-27 11:52:20,866 INFO L290 TraceCheckUtils]: 13: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-27 11:52:20,866 INFO L290 TraceCheckUtils]: 14: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-27 11:52:20,869 INFO L290 TraceCheckUtils]: 15: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 11:52:20,883 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {783#true} {803#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #78#return; {803#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 11:52:20,884 INFO L272 TraceCheckUtils]: 17: Hoare triple {803#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {783#true} is VALID [2022-04-27 11:52:20,884 INFO L290 TraceCheckUtils]: 18: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-27 11:52:20,884 INFO L290 TraceCheckUtils]: 19: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-27 11:52:20,884 INFO L290 TraceCheckUtils]: 20: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 11:52:20,885 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {783#true} {803#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #80#return; {803#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 11:52:20,885 INFO L290 TraceCheckUtils]: 22: Hoare triple {803#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {803#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 11:52:20,886 INFO L290 TraceCheckUtils]: 23: Hoare triple {803#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !false; {803#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 11:52:20,886 INFO L272 TraceCheckUtils]: 24: Hoare triple {803#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {861#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:52:20,887 INFO L290 TraceCheckUtils]: 25: Hoare triple {861#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {865#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:52:20,887 INFO L290 TraceCheckUtils]: 26: Hoare triple {865#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {784#false} is VALID [2022-04-27 11:52:20,887 INFO L290 TraceCheckUtils]: 27: Hoare triple {784#false} assume !false; {784#false} is VALID [2022-04-27 11:52:20,888 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 11:52:20,888 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 11:52:20,888 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:52:20,891 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2060282817] [2022-04-27 11:52:20,891 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:52:20,891 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2002665269] [2022-04-27 11:52:20,891 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2002665269] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:52:20,891 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:52:20,891 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 11:52:20,891 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [688101117] [2022-04-27 11:52:20,891 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:52:20,892 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-27 11:52:20,892 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:52:20,892 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:52:20,908 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:20,908 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 11:52:20,908 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:52:20,909 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 11:52:20,909 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 11:52:20,909 INFO L87 Difference]: Start difference. First operand 46 states and 57 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:52:21,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:21,058 INFO L93 Difference]: Finished difference Result 59 states and 74 transitions. [2022-04-27 11:52:21,059 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 11:52:21,059 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-27 11:52:21,059 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:52:21,059 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:52:21,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2022-04-27 11:52:21,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:52:21,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2022-04-27 11:52:21,065 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 49 transitions. [2022-04-27 11:52:21,098 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:21,102 INFO L225 Difference]: With dead ends: 59 [2022-04-27 11:52:21,102 INFO L226 Difference]: Without dead ends: 52 [2022-04-27 11:52:21,103 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 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-04-27 11:52:21,104 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 9 mSDsluCounter, 56 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 81 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 11:52:21,106 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 81 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 11:52:21,108 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-27 11:52:21,114 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 51. [2022-04-27 11:52:21,114 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:52:21,114 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 51 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 15 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 11:52:21,115 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 51 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 15 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 11:52:21,115 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 51 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 15 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 11:52:21,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:21,117 INFO L93 Difference]: Finished difference Result 52 states and 64 transitions. [2022-04-27 11:52:21,117 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 64 transitions. [2022-04-27 11:52:21,117 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:21,117 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:21,118 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 15 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-27 11:52:21,118 INFO L87 Difference]: Start difference. First operand has 51 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 15 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-27 11:52:21,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:21,119 INFO L93 Difference]: Finished difference Result 52 states and 64 transitions. [2022-04-27 11:52:21,120 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 64 transitions. [2022-04-27 11:52:21,120 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:21,120 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:21,120 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:52:21,120 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:52:21,120 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 15 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 11:52:21,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 63 transitions. [2022-04-27 11:52:21,122 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 63 transitions. Word has length 28 [2022-04-27 11:52:21,122 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:52:21,122 INFO L495 AbstractCegarLoop]: Abstraction has 51 states and 63 transitions. [2022-04-27 11:52:21,122 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:52:21,122 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 63 transitions. [2022-04-27 11:52:21,122 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-27 11:52:21,122 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:52:21,123 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:52:21,141 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-04-27 11:52:21,331 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-04-27 11:52:21,331 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:52:21,334 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:52:21,334 INFO L85 PathProgramCache]: Analyzing trace with hash 1568039909, now seen corresponding path program 1 times [2022-04-27 11:52:21,334 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:52:21,334 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1067998514] [2022-04-27 11:52:21,334 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:21,334 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:52:21,344 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:52:21,344 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1405449008] [2022-04-27 11:52:21,344 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:21,344 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:52:21,345 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:52:21,346 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-04-27 11:52:21,347 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-04-27 11:52:21,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:21,377 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 11:52:21,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:21,390 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:52:21,547 INFO L272 TraceCheckUtils]: 0: Hoare triple {1139#true} call ULTIMATE.init(); {1139#true} is VALID [2022-04-27 11:52:21,547 INFO L290 TraceCheckUtils]: 1: Hoare triple {1139#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); {1139#true} is VALID [2022-04-27 11:52:21,547 INFO L290 TraceCheckUtils]: 2: Hoare triple {1139#true} assume true; {1139#true} is VALID [2022-04-27 11:52:21,547 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1139#true} {1139#true} #90#return; {1139#true} is VALID [2022-04-27 11:52:21,547 INFO L272 TraceCheckUtils]: 4: Hoare triple {1139#true} call #t~ret5 := main(); {1139#true} is VALID [2022-04-27 11:52:21,548 INFO L290 TraceCheckUtils]: 5: Hoare triple {1139#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1159#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:21,548 INFO L290 TraceCheckUtils]: 6: Hoare triple {1159#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {1159#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:21,548 INFO L272 TraceCheckUtils]: 7: Hoare triple {1159#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1139#true} is VALID [2022-04-27 11:52:21,548 INFO L290 TraceCheckUtils]: 8: Hoare triple {1139#true} ~cond := #in~cond; {1139#true} is VALID [2022-04-27 11:52:21,549 INFO L290 TraceCheckUtils]: 9: Hoare triple {1139#true} assume !(0 == ~cond); {1139#true} is VALID [2022-04-27 11:52:21,549 INFO L290 TraceCheckUtils]: 10: Hoare triple {1139#true} assume true; {1139#true} is VALID [2022-04-27 11:52:21,549 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1139#true} {1159#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #76#return; {1159#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:21,549 INFO L272 TraceCheckUtils]: 12: Hoare triple {1159#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1139#true} is VALID [2022-04-27 11:52:21,549 INFO L290 TraceCheckUtils]: 13: Hoare triple {1139#true} ~cond := #in~cond; {1139#true} is VALID [2022-04-27 11:52:21,549 INFO L290 TraceCheckUtils]: 14: Hoare triple {1139#true} assume !(0 == ~cond); {1139#true} is VALID [2022-04-27 11:52:21,550 INFO L290 TraceCheckUtils]: 15: Hoare triple {1139#true} assume true; {1139#true} is VALID [2022-04-27 11:52:21,550 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1139#true} {1159#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {1159#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:21,550 INFO L272 TraceCheckUtils]: 17: Hoare triple {1159#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1139#true} is VALID [2022-04-27 11:52:21,550 INFO L290 TraceCheckUtils]: 18: Hoare triple {1139#true} ~cond := #in~cond; {1139#true} is VALID [2022-04-27 11:52:21,550 INFO L290 TraceCheckUtils]: 19: Hoare triple {1139#true} assume !(0 == ~cond); {1139#true} is VALID [2022-04-27 11:52:21,550 INFO L290 TraceCheckUtils]: 20: Hoare triple {1139#true} assume true; {1139#true} is VALID [2022-04-27 11:52:21,552 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1139#true} {1159#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {1159#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:21,552 INFO L290 TraceCheckUtils]: 22: Hoare triple {1159#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1211#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 11:52:21,553 INFO L290 TraceCheckUtils]: 23: Hoare triple {1211#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {1211#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 11:52:21,553 INFO L272 TraceCheckUtils]: 24: Hoare triple {1211#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1139#true} is VALID [2022-04-27 11:52:21,553 INFO L290 TraceCheckUtils]: 25: Hoare triple {1139#true} ~cond := #in~cond; {1139#true} is VALID [2022-04-27 11:52:21,553 INFO L290 TraceCheckUtils]: 26: Hoare triple {1139#true} assume !(0 == ~cond); {1139#true} is VALID [2022-04-27 11:52:21,553 INFO L290 TraceCheckUtils]: 27: Hoare triple {1139#true} assume true; {1139#true} is VALID [2022-04-27 11:52:21,553 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1139#true} {1211#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #76#return; {1211#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 11:52:21,554 INFO L272 TraceCheckUtils]: 29: Hoare triple {1211#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1139#true} is VALID [2022-04-27 11:52:21,554 INFO L290 TraceCheckUtils]: 30: Hoare triple {1139#true} ~cond := #in~cond; {1139#true} is VALID [2022-04-27 11:52:21,554 INFO L290 TraceCheckUtils]: 31: Hoare triple {1139#true} assume !(0 == ~cond); {1139#true} is VALID [2022-04-27 11:52:21,554 INFO L290 TraceCheckUtils]: 32: Hoare triple {1139#true} assume true; {1139#true} is VALID [2022-04-27 11:52:21,555 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1139#true} {1211#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #78#return; {1211#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 11:52:21,556 INFO L272 TraceCheckUtils]: 34: Hoare triple {1211#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1248#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:52:21,556 INFO L290 TraceCheckUtils]: 35: Hoare triple {1248#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1252#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:52:21,557 INFO L290 TraceCheckUtils]: 36: Hoare triple {1252#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1140#false} is VALID [2022-04-27 11:52:21,557 INFO L290 TraceCheckUtils]: 37: Hoare triple {1140#false} assume !false; {1140#false} is VALID [2022-04-27 11:52:21,557 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-27 11:52:21,557 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:52:21,732 INFO L290 TraceCheckUtils]: 37: Hoare triple {1140#false} assume !false; {1140#false} is VALID [2022-04-27 11:52:21,733 INFO L290 TraceCheckUtils]: 36: Hoare triple {1252#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1140#false} is VALID [2022-04-27 11:52:21,733 INFO L290 TraceCheckUtils]: 35: Hoare triple {1248#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1252#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:52:21,734 INFO L272 TraceCheckUtils]: 34: Hoare triple {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1248#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:52:21,735 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1139#true} {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} #78#return; {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 11:52:21,736 INFO L290 TraceCheckUtils]: 32: Hoare triple {1139#true} assume true; {1139#true} is VALID [2022-04-27 11:52:21,736 INFO L290 TraceCheckUtils]: 31: Hoare triple {1139#true} assume !(0 == ~cond); {1139#true} is VALID [2022-04-27 11:52:21,736 INFO L290 TraceCheckUtils]: 30: Hoare triple {1139#true} ~cond := #in~cond; {1139#true} is VALID [2022-04-27 11:52:21,737 INFO L272 TraceCheckUtils]: 29: Hoare triple {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1139#true} is VALID [2022-04-27 11:52:21,737 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1139#true} {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} #76#return; {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 11:52:21,737 INFO L290 TraceCheckUtils]: 27: Hoare triple {1139#true} assume true; {1139#true} is VALID [2022-04-27 11:52:21,737 INFO L290 TraceCheckUtils]: 26: Hoare triple {1139#true} assume !(0 == ~cond); {1139#true} is VALID [2022-04-27 11:52:21,737 INFO L290 TraceCheckUtils]: 25: Hoare triple {1139#true} ~cond := #in~cond; {1139#true} is VALID [2022-04-27 11:52:21,737 INFO L272 TraceCheckUtils]: 24: Hoare triple {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1139#true} is VALID [2022-04-27 11:52:21,738 INFO L290 TraceCheckUtils]: 23: Hoare triple {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 11:52:21,740 INFO L290 TraceCheckUtils]: 22: Hoare triple {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 11:52:21,741 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1139#true} {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 11:52:21,741 INFO L290 TraceCheckUtils]: 20: Hoare triple {1139#true} assume true; {1139#true} is VALID [2022-04-27 11:52:21,741 INFO L290 TraceCheckUtils]: 19: Hoare triple {1139#true} assume !(0 == ~cond); {1139#true} is VALID [2022-04-27 11:52:21,741 INFO L290 TraceCheckUtils]: 18: Hoare triple {1139#true} ~cond := #in~cond; {1139#true} is VALID [2022-04-27 11:52:21,741 INFO L272 TraceCheckUtils]: 17: Hoare triple {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1139#true} is VALID [2022-04-27 11:52:21,742 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1139#true} {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} #78#return; {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 11:52:21,742 INFO L290 TraceCheckUtils]: 15: Hoare triple {1139#true} assume true; {1139#true} is VALID [2022-04-27 11:52:21,742 INFO L290 TraceCheckUtils]: 14: Hoare triple {1139#true} assume !(0 == ~cond); {1139#true} is VALID [2022-04-27 11:52:21,742 INFO L290 TraceCheckUtils]: 13: Hoare triple {1139#true} ~cond := #in~cond; {1139#true} is VALID [2022-04-27 11:52:21,742 INFO L272 TraceCheckUtils]: 12: Hoare triple {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1139#true} is VALID [2022-04-27 11:52:21,743 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1139#true} {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} #76#return; {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 11:52:21,743 INFO L290 TraceCheckUtils]: 10: Hoare triple {1139#true} assume true; {1139#true} is VALID [2022-04-27 11:52:21,743 INFO L290 TraceCheckUtils]: 9: Hoare triple {1139#true} assume !(0 == ~cond); {1139#true} is VALID [2022-04-27 11:52:21,743 INFO L290 TraceCheckUtils]: 8: Hoare triple {1139#true} ~cond := #in~cond; {1139#true} is VALID [2022-04-27 11:52:21,743 INFO L272 TraceCheckUtils]: 7: Hoare triple {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1139#true} is VALID [2022-04-27 11:52:21,743 INFO L290 TraceCheckUtils]: 6: Hoare triple {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 11:52:21,744 INFO L290 TraceCheckUtils]: 5: Hoare triple {1139#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1268#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 11:52:21,744 INFO L272 TraceCheckUtils]: 4: Hoare triple {1139#true} call #t~ret5 := main(); {1139#true} is VALID [2022-04-27 11:52:21,744 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1139#true} {1139#true} #90#return; {1139#true} is VALID [2022-04-27 11:52:21,744 INFO L290 TraceCheckUtils]: 2: Hoare triple {1139#true} assume true; {1139#true} is VALID [2022-04-27 11:52:21,744 INFO L290 TraceCheckUtils]: 1: Hoare triple {1139#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); {1139#true} is VALID [2022-04-27 11:52:21,744 INFO L272 TraceCheckUtils]: 0: Hoare triple {1139#true} call ULTIMATE.init(); {1139#true} is VALID [2022-04-27 11:52:21,744 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-27 11:52:21,744 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:52:21,745 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1067998514] [2022-04-27 11:52:21,745 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:52:21,745 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1405449008] [2022-04-27 11:52:21,745 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1405449008] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 11:52:21,745 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 11:52:21,745 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-27 11:52:21,745 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [912255029] [2022-04-27 11:52:21,745 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:52:21,745 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), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 38 [2022-04-27 11:52:21,748 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:52:21,748 INFO L86 InductivityCheck]: Starting inductivity 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), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:52:21,768 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:21,768 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 11:52:21,768 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:52:21,769 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 11:52:21,769 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-27 11:52:21,769 INFO L87 Difference]: Start difference. First operand 51 states and 63 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:52:23,974 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:23,975 INFO L93 Difference]: Finished difference Result 63 states and 78 transitions. [2022-04-27 11:52:23,975 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 11:52:23,975 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), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 38 [2022-04-27 11:52:23,976 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:52:23,976 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), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:52:23,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-27 11:52:23,995 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), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:52:23,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-27 11:52:23,998 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-27 11:52:24,049 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:24,050 INFO L225 Difference]: With dead ends: 63 [2022-04-27 11:52:24,050 INFO L226 Difference]: Without dead ends: 61 [2022-04-27 11:52:24,051 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 68 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-04-27 11:52:24,051 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 8 mSDsluCounter, 59 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:52:24,052 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 89 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:52:24,052 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-27 11:52:24,061 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 58. [2022-04-27 11:52:24,061 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:52:24,061 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 58 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 36 states have internal predecessors, (39), 17 states have call successors, (17), 8 states have call predecessors, (17), 7 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 11:52:24,062 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 58 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 36 states have internal predecessors, (39), 17 states have call successors, (17), 8 states have call predecessors, (17), 7 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 11:52:24,062 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 58 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 36 states have internal predecessors, (39), 17 states have call successors, (17), 8 states have call predecessors, (17), 7 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 11:52:24,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:24,064 INFO L93 Difference]: Finished difference Result 61 states and 76 transitions. [2022-04-27 11:52:24,064 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 76 transitions. [2022-04-27 11:52:24,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:24,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:24,065 INFO L74 IsIncluded]: Start isIncluded. First operand has 58 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 36 states have internal predecessors, (39), 17 states have call successors, (17), 8 states have call predecessors, (17), 7 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) Second operand 61 states. [2022-04-27 11:52:24,065 INFO L87 Difference]: Start difference. First operand has 58 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 36 states have internal predecessors, (39), 17 states have call successors, (17), 8 states have call predecessors, (17), 7 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) Second operand 61 states. [2022-04-27 11:52:24,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:24,068 INFO L93 Difference]: Finished difference Result 61 states and 76 transitions. [2022-04-27 11:52:24,068 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 76 transitions. [2022-04-27 11:52:24,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:24,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:24,069 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:52:24,069 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:52:24,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 36 states have internal predecessors, (39), 17 states have call successors, (17), 8 states have call predecessors, (17), 7 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 11:52:24,071 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 71 transitions. [2022-04-27 11:52:24,071 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 71 transitions. Word has length 38 [2022-04-27 11:52:24,071 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:52:24,071 INFO L495 AbstractCegarLoop]: Abstraction has 58 states and 71 transitions. [2022-04-27 11:52:24,072 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:52:24,072 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 71 transitions. [2022-04-27 11:52:24,073 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-27 11:52:24,073 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:52:24,073 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:52:24,099 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-27 11:52:24,283 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:52:24,283 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:52:24,284 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:52:24,284 INFO L85 PathProgramCache]: Analyzing trace with hash -697745896, now seen corresponding path program 1 times [2022-04-27 11:52:24,284 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:52:24,284 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [364122066] [2022-04-27 11:52:24,284 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:24,284 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:52:24,313 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:52:24,313 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1689803071] [2022-04-27 11:52:24,313 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:24,313 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:52:24,313 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:52:24,318 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-04-27 11:52:24,338 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-04-27 11:52:24,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:24,382 INFO L263 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-27 11:52:24,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:24,395 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:52:24,825 INFO L272 TraceCheckUtils]: 0: Hoare triple {1674#true} call ULTIMATE.init(); {1674#true} is VALID [2022-04-27 11:52:24,826 INFO L290 TraceCheckUtils]: 1: Hoare triple {1674#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); {1674#true} is VALID [2022-04-27 11:52:24,826 INFO L290 TraceCheckUtils]: 2: Hoare triple {1674#true} assume true; {1674#true} is VALID [2022-04-27 11:52:24,826 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1674#true} {1674#true} #90#return; {1674#true} is VALID [2022-04-27 11:52:24,826 INFO L272 TraceCheckUtils]: 4: Hoare triple {1674#true} call #t~ret5 := main(); {1674#true} is VALID [2022-04-27 11:52:24,826 INFO L290 TraceCheckUtils]: 5: Hoare triple {1674#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1694#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:24,827 INFO L290 TraceCheckUtils]: 6: Hoare triple {1694#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {1694#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:24,827 INFO L272 TraceCheckUtils]: 7: Hoare triple {1694#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1674#true} is VALID [2022-04-27 11:52:24,827 INFO L290 TraceCheckUtils]: 8: Hoare triple {1674#true} ~cond := #in~cond; {1674#true} is VALID [2022-04-27 11:52:24,827 INFO L290 TraceCheckUtils]: 9: Hoare triple {1674#true} assume !(0 == ~cond); {1674#true} is VALID [2022-04-27 11:52:24,827 INFO L290 TraceCheckUtils]: 10: Hoare triple {1674#true} assume true; {1674#true} is VALID [2022-04-27 11:52:24,828 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1674#true} {1694#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #76#return; {1694#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:24,828 INFO L272 TraceCheckUtils]: 12: Hoare triple {1694#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1674#true} is VALID [2022-04-27 11:52:24,828 INFO L290 TraceCheckUtils]: 13: Hoare triple {1674#true} ~cond := #in~cond; {1674#true} is VALID [2022-04-27 11:52:24,828 INFO L290 TraceCheckUtils]: 14: Hoare triple {1674#true} assume !(0 == ~cond); {1674#true} is VALID [2022-04-27 11:52:24,828 INFO L290 TraceCheckUtils]: 15: Hoare triple {1674#true} assume true; {1674#true} is VALID [2022-04-27 11:52:24,828 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1674#true} {1694#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {1694#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:24,829 INFO L272 TraceCheckUtils]: 17: Hoare triple {1694#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1674#true} is VALID [2022-04-27 11:52:24,829 INFO L290 TraceCheckUtils]: 18: Hoare triple {1674#true} ~cond := #in~cond; {1674#true} is VALID [2022-04-27 11:52:24,829 INFO L290 TraceCheckUtils]: 19: Hoare triple {1674#true} assume !(0 == ~cond); {1674#true} is VALID [2022-04-27 11:52:24,829 INFO L290 TraceCheckUtils]: 20: Hoare triple {1674#true} assume true; {1674#true} is VALID [2022-04-27 11:52:24,829 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1674#true} {1694#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {1694#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:24,830 INFO L290 TraceCheckUtils]: 22: Hoare triple {1694#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:24,830 INFO L290 TraceCheckUtils]: 23: Hoare triple {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:24,830 INFO L272 TraceCheckUtils]: 24: Hoare triple {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1674#true} is VALID [2022-04-27 11:52:24,832 INFO L290 TraceCheckUtils]: 25: Hoare triple {1674#true} ~cond := #in~cond; {1674#true} is VALID [2022-04-27 11:52:24,833 INFO L290 TraceCheckUtils]: 26: Hoare triple {1674#true} assume !(0 == ~cond); {1674#true} is VALID [2022-04-27 11:52:24,833 INFO L290 TraceCheckUtils]: 27: Hoare triple {1674#true} assume true; {1674#true} is VALID [2022-04-27 11:52:24,833 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1674#true} {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #76#return; {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:24,833 INFO L272 TraceCheckUtils]: 29: Hoare triple {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1674#true} is VALID [2022-04-27 11:52:24,834 INFO L290 TraceCheckUtils]: 30: Hoare triple {1674#true} ~cond := #in~cond; {1674#true} is VALID [2022-04-27 11:52:24,834 INFO L290 TraceCheckUtils]: 31: Hoare triple {1674#true} assume !(0 == ~cond); {1674#true} is VALID [2022-04-27 11:52:24,834 INFO L290 TraceCheckUtils]: 32: Hoare triple {1674#true} assume true; {1674#true} is VALID [2022-04-27 11:52:24,834 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1674#true} {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #78#return; {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:24,834 INFO L272 TraceCheckUtils]: 34: Hoare triple {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1674#true} is VALID [2022-04-27 11:52:24,834 INFO L290 TraceCheckUtils]: 35: Hoare triple {1674#true} ~cond := #in~cond; {1674#true} is VALID [2022-04-27 11:52:24,834 INFO L290 TraceCheckUtils]: 36: Hoare triple {1674#true} assume !(0 == ~cond); {1674#true} is VALID [2022-04-27 11:52:24,835 INFO L290 TraceCheckUtils]: 37: Hoare triple {1674#true} assume true; {1674#true} is VALID [2022-04-27 11:52:24,836 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1674#true} {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:24,836 INFO L290 TraceCheckUtils]: 39: Hoare triple {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:24,837 INFO L290 TraceCheckUtils]: 40: Hoare triple {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:24,837 INFO L272 TraceCheckUtils]: 41: Hoare triple {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {1674#true} is VALID [2022-04-27 11:52:24,837 INFO L290 TraceCheckUtils]: 42: Hoare triple {1674#true} ~cond := #in~cond; {1674#true} is VALID [2022-04-27 11:52:24,837 INFO L290 TraceCheckUtils]: 43: Hoare triple {1674#true} assume !(0 == ~cond); {1674#true} is VALID [2022-04-27 11:52:24,837 INFO L290 TraceCheckUtils]: 44: Hoare triple {1674#true} assume true; {1674#true} is VALID [2022-04-27 11:52:24,838 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1674#true} {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:24,838 INFO L272 TraceCheckUtils]: 46: Hoare triple {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1674#true} is VALID [2022-04-27 11:52:24,838 INFO L290 TraceCheckUtils]: 47: Hoare triple {1674#true} ~cond := #in~cond; {1674#true} is VALID [2022-04-27 11:52:24,838 INFO L290 TraceCheckUtils]: 48: Hoare triple {1674#true} assume !(0 == ~cond); {1674#true} is VALID [2022-04-27 11:52:24,838 INFO L290 TraceCheckUtils]: 49: Hoare triple {1674#true} assume true; {1674#true} is VALID [2022-04-27 11:52:24,839 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1674#true} {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:24,839 INFO L290 TraceCheckUtils]: 51: Hoare triple {1746#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {1694#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:24,840 INFO L290 TraceCheckUtils]: 52: Hoare triple {1694#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {1837#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-27 11:52:24,840 INFO L290 TraceCheckUtils]: 53: Hoare triple {1837#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} assume !false; {1837#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-27 11:52:24,841 INFO L272 TraceCheckUtils]: 54: Hoare triple {1837#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {1844#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:52:24,841 INFO L290 TraceCheckUtils]: 55: Hoare triple {1844#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1848#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:52:24,841 INFO L290 TraceCheckUtils]: 56: Hoare triple {1848#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1675#false} is VALID [2022-04-27 11:52:24,841 INFO L290 TraceCheckUtils]: 57: Hoare triple {1675#false} assume !false; {1675#false} is VALID [2022-04-27 11:52:24,842 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-27 11:52:24,842 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:52:32,303 INFO L290 TraceCheckUtils]: 57: Hoare triple {1675#false} assume !false; {1675#false} is VALID [2022-04-27 11:52:32,304 INFO L290 TraceCheckUtils]: 56: Hoare triple {1848#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1675#false} is VALID [2022-04-27 11:52:32,304 INFO L290 TraceCheckUtils]: 55: Hoare triple {1844#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1848#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:52:32,305 INFO L272 TraceCheckUtils]: 54: Hoare triple {1864#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {1844#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:52:32,305 INFO L290 TraceCheckUtils]: 53: Hoare triple {1864#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {1864#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 11:52:32,323 INFO L290 TraceCheckUtils]: 52: Hoare triple {1871#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {1864#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 11:52:32,343 INFO L290 TraceCheckUtils]: 51: Hoare triple {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {1871#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 11:52:32,343 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1674#true} {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #84#return; {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 11:52:32,343 INFO L290 TraceCheckUtils]: 49: Hoare triple {1674#true} assume true; {1674#true} is VALID [2022-04-27 11:52:32,344 INFO L290 TraceCheckUtils]: 48: Hoare triple {1674#true} assume !(0 == ~cond); {1674#true} is VALID [2022-04-27 11:52:32,344 INFO L290 TraceCheckUtils]: 47: Hoare triple {1674#true} ~cond := #in~cond; {1674#true} is VALID [2022-04-27 11:52:32,344 INFO L272 TraceCheckUtils]: 46: Hoare triple {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1674#true} is VALID [2022-04-27 11:52:32,344 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1674#true} {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #82#return; {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 11:52:32,344 INFO L290 TraceCheckUtils]: 44: Hoare triple {1674#true} assume true; {1674#true} is VALID [2022-04-27 11:52:32,344 INFO L290 TraceCheckUtils]: 43: Hoare triple {1674#true} assume !(0 == ~cond); {1674#true} is VALID [2022-04-27 11:52:32,344 INFO L290 TraceCheckUtils]: 42: Hoare triple {1674#true} ~cond := #in~cond; {1674#true} is VALID [2022-04-27 11:52:32,344 INFO L272 TraceCheckUtils]: 41: Hoare triple {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {1674#true} is VALID [2022-04-27 11:52:32,345 INFO L290 TraceCheckUtils]: 40: Hoare triple {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !false; {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 11:52:32,346 INFO L290 TraceCheckUtils]: 39: Hoare triple {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !(~r~0 >= ~d~0); {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 11:52:32,347 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1674#true} {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #80#return; {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 11:52:32,347 INFO L290 TraceCheckUtils]: 37: Hoare triple {1674#true} assume true; {1674#true} is VALID [2022-04-27 11:52:32,347 INFO L290 TraceCheckUtils]: 36: Hoare triple {1674#true} assume !(0 == ~cond); {1674#true} is VALID [2022-04-27 11:52:32,347 INFO L290 TraceCheckUtils]: 35: Hoare triple {1674#true} ~cond := #in~cond; {1674#true} is VALID [2022-04-27 11:52:32,347 INFO L272 TraceCheckUtils]: 34: Hoare triple {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1674#true} is VALID [2022-04-27 11:52:32,348 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1674#true} {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #78#return; {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 11:52:32,348 INFO L290 TraceCheckUtils]: 32: Hoare triple {1674#true} assume true; {1674#true} is VALID [2022-04-27 11:52:32,348 INFO L290 TraceCheckUtils]: 31: Hoare triple {1674#true} assume !(0 == ~cond); {1674#true} is VALID [2022-04-27 11:52:32,348 INFO L290 TraceCheckUtils]: 30: Hoare triple {1674#true} ~cond := #in~cond; {1674#true} is VALID [2022-04-27 11:52:32,348 INFO L272 TraceCheckUtils]: 29: Hoare triple {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1674#true} is VALID [2022-04-27 11:52:32,349 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1674#true} {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #76#return; {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 11:52:32,349 INFO L290 TraceCheckUtils]: 27: Hoare triple {1674#true} assume true; {1674#true} is VALID [2022-04-27 11:52:32,349 INFO L290 TraceCheckUtils]: 26: Hoare triple {1674#true} assume !(0 == ~cond); {1674#true} is VALID [2022-04-27 11:52:32,349 INFO L290 TraceCheckUtils]: 25: Hoare triple {1674#true} ~cond := #in~cond; {1674#true} is VALID [2022-04-27 11:52:32,349 INFO L272 TraceCheckUtils]: 24: Hoare triple {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1674#true} is VALID [2022-04-27 11:52:32,350 INFO L290 TraceCheckUtils]: 23: Hoare triple {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !false; {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 11:52:32,356 INFO L290 TraceCheckUtils]: 22: Hoare triple {1871#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1875#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 11:52:32,357 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1674#true} {1871#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #80#return; {1871#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 11:52:32,357 INFO L290 TraceCheckUtils]: 20: Hoare triple {1674#true} assume true; {1674#true} is VALID [2022-04-27 11:52:32,357 INFO L290 TraceCheckUtils]: 19: Hoare triple {1674#true} assume !(0 == ~cond); {1674#true} is VALID [2022-04-27 11:52:32,357 INFO L290 TraceCheckUtils]: 18: Hoare triple {1674#true} ~cond := #in~cond; {1674#true} is VALID [2022-04-27 11:52:32,357 INFO L272 TraceCheckUtils]: 17: Hoare triple {1871#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1674#true} is VALID [2022-04-27 11:52:32,358 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1674#true} {1871#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #78#return; {1871#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 11:52:32,358 INFO L290 TraceCheckUtils]: 15: Hoare triple {1674#true} assume true; {1674#true} is VALID [2022-04-27 11:52:32,358 INFO L290 TraceCheckUtils]: 14: Hoare triple {1674#true} assume !(0 == ~cond); {1674#true} is VALID [2022-04-27 11:52:32,358 INFO L290 TraceCheckUtils]: 13: Hoare triple {1674#true} ~cond := #in~cond; {1674#true} is VALID [2022-04-27 11:52:32,358 INFO L272 TraceCheckUtils]: 12: Hoare triple {1871#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1674#true} is VALID [2022-04-27 11:52:32,359 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1674#true} {1871#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #76#return; {1871#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 11:52:32,359 INFO L290 TraceCheckUtils]: 10: Hoare triple {1674#true} assume true; {1674#true} is VALID [2022-04-27 11:52:32,359 INFO L290 TraceCheckUtils]: 9: Hoare triple {1674#true} assume !(0 == ~cond); {1674#true} is VALID [2022-04-27 11:52:32,359 INFO L290 TraceCheckUtils]: 8: Hoare triple {1674#true} ~cond := #in~cond; {1674#true} is VALID [2022-04-27 11:52:32,359 INFO L272 TraceCheckUtils]: 7: Hoare triple {1871#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1674#true} is VALID [2022-04-27 11:52:32,359 INFO L290 TraceCheckUtils]: 6: Hoare triple {1871#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume !false; {1871#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 11:52:32,360 INFO L290 TraceCheckUtils]: 5: Hoare triple {1674#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1871#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 11:52:32,360 INFO L272 TraceCheckUtils]: 4: Hoare triple {1674#true} call #t~ret5 := main(); {1674#true} is VALID [2022-04-27 11:52:32,360 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1674#true} {1674#true} #90#return; {1674#true} is VALID [2022-04-27 11:52:32,360 INFO L290 TraceCheckUtils]: 2: Hoare triple {1674#true} assume true; {1674#true} is VALID [2022-04-27 11:52:32,360 INFO L290 TraceCheckUtils]: 1: Hoare triple {1674#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); {1674#true} is VALID [2022-04-27 11:52:32,360 INFO L272 TraceCheckUtils]: 0: Hoare triple {1674#true} call ULTIMATE.init(); {1674#true} is VALID [2022-04-27 11:52:32,360 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-27 11:52:32,360 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:52:32,361 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [364122066] [2022-04-27 11:52:32,361 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:52:32,361 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1689803071] [2022-04-27 11:52:32,361 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1689803071] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:52:32,361 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:52:32,361 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-27 11:52:32,361 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [438997065] [2022-04-27 11:52:32,361 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:52:32,362 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) Word has length 58 [2022-04-27 11:52:32,362 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:52:32,362 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 11:52:32,448 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:32,448 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 11:52:32,448 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:52:32,448 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 11:52:32,448 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-27 11:52:32,448 INFO L87 Difference]: Start difference. First operand 58 states and 71 transitions. Second operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 11:52:35,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:35,424 INFO L93 Difference]: Finished difference Result 148 states and 204 transitions. [2022-04-27 11:52:35,424 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 11:52:35,424 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) Word has length 58 [2022-04-27 11:52:35,425 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:52:35,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 11:52:35,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 135 transitions. [2022-04-27 11:52:35,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 11:52:35,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 135 transitions. [2022-04-27 11:52:35,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 135 transitions. [2022-04-27 11:52:35,630 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:35,633 INFO L225 Difference]: With dead ends: 148 [2022-04-27 11:52:35,633 INFO L226 Difference]: Without dead ends: 119 [2022-04-27 11:52:35,634 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 104 SyntacticMatches, 3 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=50, Invalid=132, Unknown=0, NotChecked=0, Total=182 [2022-04-27 11:52:35,634 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 36 mSDsluCounter, 109 mSDsCounter, 0 mSdLazyCounter, 290 mSolverCounterSat, 71 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 149 SdHoareTripleChecker+Invalid, 361 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 71 IncrementalHoareTripleChecker+Valid, 290 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-27 11:52:35,634 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [42 Valid, 149 Invalid, 361 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [71 Valid, 290 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-27 11:52:35,635 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2022-04-27 11:52:35,666 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 107. [2022-04-27 11:52:35,666 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:52:35,666 INFO L82 GeneralOperation]: Start isEquivalent. First operand 119 states. Second operand has 107 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 67 states have internal predecessors, (78), 32 states have call successors, (32), 12 states have call predecessors, (32), 11 states have return successors, (30), 27 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 11:52:35,667 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand has 107 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 67 states have internal predecessors, (78), 32 states have call successors, (32), 12 states have call predecessors, (32), 11 states have return successors, (30), 27 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 11:52:35,667 INFO L87 Difference]: Start difference. First operand 119 states. Second operand has 107 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 67 states have internal predecessors, (78), 32 states have call successors, (32), 12 states have call predecessors, (32), 11 states have return successors, (30), 27 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 11:52:35,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:35,672 INFO L93 Difference]: Finished difference Result 119 states and 160 transitions. [2022-04-27 11:52:35,672 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 160 transitions. [2022-04-27 11:52:35,673 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:35,673 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:35,674 INFO L74 IsIncluded]: Start isIncluded. First operand has 107 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 67 states have internal predecessors, (78), 32 states have call successors, (32), 12 states have call predecessors, (32), 11 states have return successors, (30), 27 states have call predecessors, (30), 30 states have call successors, (30) Second operand 119 states. [2022-04-27 11:52:35,674 INFO L87 Difference]: Start difference. First operand has 107 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 67 states have internal predecessors, (78), 32 states have call successors, (32), 12 states have call predecessors, (32), 11 states have return successors, (30), 27 states have call predecessors, (30), 30 states have call successors, (30) Second operand 119 states. [2022-04-27 11:52:35,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:35,678 INFO L93 Difference]: Finished difference Result 119 states and 160 transitions. [2022-04-27 11:52:35,678 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 160 transitions. [2022-04-27 11:52:35,679 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:35,679 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:35,679 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:52:35,679 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:52:35,680 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 107 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 67 states have internal predecessors, (78), 32 states have call successors, (32), 12 states have call predecessors, (32), 11 states have return successors, (30), 27 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 11:52:35,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 140 transitions. [2022-04-27 11:52:35,682 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 140 transitions. Word has length 58 [2022-04-27 11:52:35,683 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:52:35,683 INFO L495 AbstractCegarLoop]: Abstraction has 107 states and 140 transitions. [2022-04-27 11:52:35,683 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 11:52:35,683 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 140 transitions. [2022-04-27 11:52:35,684 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-27 11:52:35,684 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:52:35,684 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:52:35,721 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-04-27 11:52:35,900 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:52:35,901 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:52:35,901 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:52:35,901 INFO L85 PathProgramCache]: Analyzing trace with hash -711069715, now seen corresponding path program 1 times [2022-04-27 11:52:35,901 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:52:35,901 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1209021322] [2022-04-27 11:52:35,901 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:35,901 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:52:35,922 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:52:35,922 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [777829252] [2022-04-27 11:52:35,922 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:35,922 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:52:35,922 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:52:35,940 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-04-27 11:52:35,941 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-04-27 11:52:35,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:35,981 INFO L263 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-27 11:52:35,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:36,002 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:52:36,435 INFO L272 TraceCheckUtils]: 0: Hoare triple {2649#true} call ULTIMATE.init(); {2649#true} is VALID [2022-04-27 11:52:36,435 INFO L290 TraceCheckUtils]: 1: Hoare triple {2649#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); {2649#true} is VALID [2022-04-27 11:52:36,435 INFO L290 TraceCheckUtils]: 2: Hoare triple {2649#true} assume true; {2649#true} is VALID [2022-04-27 11:52:36,436 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2649#true} {2649#true} #90#return; {2649#true} is VALID [2022-04-27 11:52:36,436 INFO L272 TraceCheckUtils]: 4: Hoare triple {2649#true} call #t~ret5 := main(); {2649#true} is VALID [2022-04-27 11:52:36,436 INFO L290 TraceCheckUtils]: 5: Hoare triple {2649#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2669#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:36,437 INFO L290 TraceCheckUtils]: 6: Hoare triple {2669#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {2669#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:36,437 INFO L272 TraceCheckUtils]: 7: Hoare triple {2669#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:36,437 INFO L290 TraceCheckUtils]: 8: Hoare triple {2649#true} ~cond := #in~cond; {2649#true} is VALID [2022-04-27 11:52:36,437 INFO L290 TraceCheckUtils]: 9: Hoare triple {2649#true} assume !(0 == ~cond); {2649#true} is VALID [2022-04-27 11:52:36,437 INFO L290 TraceCheckUtils]: 10: Hoare triple {2649#true} assume true; {2649#true} is VALID [2022-04-27 11:52:36,438 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {2649#true} {2669#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #76#return; {2669#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:36,438 INFO L272 TraceCheckUtils]: 12: Hoare triple {2669#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:36,438 INFO L290 TraceCheckUtils]: 13: Hoare triple {2649#true} ~cond := #in~cond; {2649#true} is VALID [2022-04-27 11:52:36,438 INFO L290 TraceCheckUtils]: 14: Hoare triple {2649#true} assume !(0 == ~cond); {2649#true} is VALID [2022-04-27 11:52:36,438 INFO L290 TraceCheckUtils]: 15: Hoare triple {2649#true} assume true; {2649#true} is VALID [2022-04-27 11:52:36,439 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2649#true} {2669#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {2669#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:36,439 INFO L272 TraceCheckUtils]: 17: Hoare triple {2669#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:36,439 INFO L290 TraceCheckUtils]: 18: Hoare triple {2649#true} ~cond := #in~cond; {2649#true} is VALID [2022-04-27 11:52:36,439 INFO L290 TraceCheckUtils]: 19: Hoare triple {2649#true} assume !(0 == ~cond); {2649#true} is VALID [2022-04-27 11:52:36,439 INFO L290 TraceCheckUtils]: 20: Hoare triple {2649#true} assume true; {2649#true} is VALID [2022-04-27 11:52:36,439 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2649#true} {2669#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {2669#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:36,440 INFO L290 TraceCheckUtils]: 22: Hoare triple {2669#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:36,440 INFO L290 TraceCheckUtils]: 23: Hoare triple {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:36,440 INFO L272 TraceCheckUtils]: 24: Hoare triple {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:36,440 INFO L290 TraceCheckUtils]: 25: Hoare triple {2649#true} ~cond := #in~cond; {2649#true} is VALID [2022-04-27 11:52:36,440 INFO L290 TraceCheckUtils]: 26: Hoare triple {2649#true} assume !(0 == ~cond); {2649#true} is VALID [2022-04-27 11:52:36,440 INFO L290 TraceCheckUtils]: 27: Hoare triple {2649#true} assume true; {2649#true} is VALID [2022-04-27 11:52:36,441 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2649#true} {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #76#return; {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:36,441 INFO L272 TraceCheckUtils]: 29: Hoare triple {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:36,441 INFO L290 TraceCheckUtils]: 30: Hoare triple {2649#true} ~cond := #in~cond; {2649#true} is VALID [2022-04-27 11:52:36,441 INFO L290 TraceCheckUtils]: 31: Hoare triple {2649#true} assume !(0 == ~cond); {2649#true} is VALID [2022-04-27 11:52:36,441 INFO L290 TraceCheckUtils]: 32: Hoare triple {2649#true} assume true; {2649#true} is VALID [2022-04-27 11:52:36,441 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2649#true} {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #78#return; {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:36,441 INFO L272 TraceCheckUtils]: 34: Hoare triple {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:36,441 INFO L290 TraceCheckUtils]: 35: Hoare triple {2649#true} ~cond := #in~cond; {2649#true} is VALID [2022-04-27 11:52:36,441 INFO L290 TraceCheckUtils]: 36: Hoare triple {2649#true} assume !(0 == ~cond); {2649#true} is VALID [2022-04-27 11:52:36,442 INFO L290 TraceCheckUtils]: 37: Hoare triple {2649#true} assume true; {2649#true} is VALID [2022-04-27 11:52:36,442 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2649#true} {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:36,443 INFO L290 TraceCheckUtils]: 39: Hoare triple {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:36,443 INFO L290 TraceCheckUtils]: 40: Hoare triple {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:36,443 INFO L272 TraceCheckUtils]: 41: Hoare triple {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:36,443 INFO L290 TraceCheckUtils]: 42: Hoare triple {2649#true} ~cond := #in~cond; {2649#true} is VALID [2022-04-27 11:52:36,443 INFO L290 TraceCheckUtils]: 43: Hoare triple {2649#true} assume !(0 == ~cond); {2649#true} is VALID [2022-04-27 11:52:36,443 INFO L290 TraceCheckUtils]: 44: Hoare triple {2649#true} assume true; {2649#true} is VALID [2022-04-27 11:52:36,444 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2649#true} {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:36,444 INFO L272 TraceCheckUtils]: 46: Hoare triple {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:36,444 INFO L290 TraceCheckUtils]: 47: Hoare triple {2649#true} ~cond := #in~cond; {2649#true} is VALID [2022-04-27 11:52:36,444 INFO L290 TraceCheckUtils]: 48: Hoare triple {2649#true} assume !(0 == ~cond); {2649#true} is VALID [2022-04-27 11:52:36,444 INFO L290 TraceCheckUtils]: 49: Hoare triple {2649#true} assume true; {2649#true} is VALID [2022-04-27 11:52:36,444 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2649#true} {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:36,445 INFO L290 TraceCheckUtils]: 51: Hoare triple {2721#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {2669#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:36,445 INFO L290 TraceCheckUtils]: 52: Hoare triple {2669#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {2812#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:36,448 INFO L290 TraceCheckUtils]: 53: Hoare triple {2812#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {2812#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:36,448 INFO L272 TraceCheckUtils]: 54: Hoare triple {2812#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:36,448 INFO L290 TraceCheckUtils]: 55: Hoare triple {2649#true} ~cond := #in~cond; {2822#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:52:36,448 INFO L290 TraceCheckUtils]: 56: Hoare triple {2822#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2826#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:52:36,448 INFO L290 TraceCheckUtils]: 57: Hoare triple {2826#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2826#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:52:36,449 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {2826#(not (= |__VERIFIER_assert_#in~cond| 0))} {2812#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {2812#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:36,449 INFO L272 TraceCheckUtils]: 59: Hoare triple {2812#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:36,449 INFO L290 TraceCheckUtils]: 60: Hoare triple {2649#true} ~cond := #in~cond; {2822#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:52:36,449 INFO L290 TraceCheckUtils]: 61: Hoare triple {2822#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2826#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:52:36,450 INFO L290 TraceCheckUtils]: 62: Hoare triple {2826#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2826#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:52:36,450 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {2826#(not (= |__VERIFIER_assert_#in~cond| 0))} {2812#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {2848#(and (= main_~q~0 main_~p~0) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:36,451 INFO L290 TraceCheckUtils]: 64: Hoare triple {2848#(and (= main_~q~0 main_~p~0) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} assume !(1 != ~p~0); {2852#(and (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~q~0 1))} is VALID [2022-04-27 11:52:36,451 INFO L272 TraceCheckUtils]: 65: Hoare triple {2852#(and (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2856#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:52:36,451 INFO L290 TraceCheckUtils]: 66: Hoare triple {2856#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2860#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:52:36,452 INFO L290 TraceCheckUtils]: 67: Hoare triple {2860#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2650#false} is VALID [2022-04-27 11:52:36,452 INFO L290 TraceCheckUtils]: 68: Hoare triple {2650#false} assume !false; {2650#false} is VALID [2022-04-27 11:52:36,452 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 66 proven. 11 refuted. 0 times theorem prover too weak. 132 trivial. 0 not checked. [2022-04-27 11:52:36,452 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:52:48,213 INFO L290 TraceCheckUtils]: 68: Hoare triple {2650#false} assume !false; {2650#false} is VALID [2022-04-27 11:52:48,213 INFO L290 TraceCheckUtils]: 67: Hoare triple {2860#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2650#false} is VALID [2022-04-27 11:52:48,213 INFO L290 TraceCheckUtils]: 66: Hoare triple {2856#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2860#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:52:48,214 INFO L272 TraceCheckUtils]: 65: Hoare triple {2876#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2856#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:52:48,214 INFO L290 TraceCheckUtils]: 64: Hoare triple {2880#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {2876#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 11:52:48,215 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {2826#(not (= |__VERIFIER_assert_#in~cond| 0))} {2884#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} #84#return; {2880#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-27 11:52:48,215 INFO L290 TraceCheckUtils]: 62: Hoare triple {2826#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2826#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:52:48,216 INFO L290 TraceCheckUtils]: 61: Hoare triple {2894#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2826#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:52:48,216 INFO L290 TraceCheckUtils]: 60: Hoare triple {2649#true} ~cond := #in~cond; {2894#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:52:48,216 INFO L272 TraceCheckUtils]: 59: Hoare triple {2884#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:48,218 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {2826#(not (= |__VERIFIER_assert_#in~cond| 0))} {2649#true} #82#return; {2884#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} is VALID [2022-04-27 11:52:48,218 INFO L290 TraceCheckUtils]: 57: Hoare triple {2826#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2826#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:52:48,219 INFO L290 TraceCheckUtils]: 56: Hoare triple {2894#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2826#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:52:48,219 INFO L290 TraceCheckUtils]: 55: Hoare triple {2649#true} ~cond := #in~cond; {2894#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:52:48,219 INFO L272 TraceCheckUtils]: 54: Hoare triple {2649#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:48,219 INFO L290 TraceCheckUtils]: 53: Hoare triple {2649#true} assume !false; {2649#true} is VALID [2022-04-27 11:52:48,219 INFO L290 TraceCheckUtils]: 52: Hoare triple {2649#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {2649#true} is VALID [2022-04-27 11:52:48,219 INFO L290 TraceCheckUtils]: 51: Hoare triple {2649#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {2649#true} is VALID [2022-04-27 11:52:48,219 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2649#true} {2649#true} #84#return; {2649#true} is VALID [2022-04-27 11:52:48,219 INFO L290 TraceCheckUtils]: 49: Hoare triple {2649#true} assume true; {2649#true} is VALID [2022-04-27 11:52:48,219 INFO L290 TraceCheckUtils]: 48: Hoare triple {2649#true} assume !(0 == ~cond); {2649#true} is VALID [2022-04-27 11:52:48,219 INFO L290 TraceCheckUtils]: 47: Hoare triple {2649#true} ~cond := #in~cond; {2649#true} is VALID [2022-04-27 11:52:48,220 INFO L272 TraceCheckUtils]: 46: Hoare triple {2649#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:48,220 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2649#true} {2649#true} #82#return; {2649#true} is VALID [2022-04-27 11:52:48,220 INFO L290 TraceCheckUtils]: 44: Hoare triple {2649#true} assume true; {2649#true} is VALID [2022-04-27 11:52:48,220 INFO L290 TraceCheckUtils]: 43: Hoare triple {2649#true} assume !(0 == ~cond); {2649#true} is VALID [2022-04-27 11:52:48,220 INFO L290 TraceCheckUtils]: 42: Hoare triple {2649#true} ~cond := #in~cond; {2649#true} is VALID [2022-04-27 11:52:48,220 INFO L272 TraceCheckUtils]: 41: Hoare triple {2649#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:48,220 INFO L290 TraceCheckUtils]: 40: Hoare triple {2649#true} assume !false; {2649#true} is VALID [2022-04-27 11:52:48,220 INFO L290 TraceCheckUtils]: 39: Hoare triple {2649#true} assume !(~r~0 >= ~d~0); {2649#true} is VALID [2022-04-27 11:52:48,220 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2649#true} {2649#true} #80#return; {2649#true} is VALID [2022-04-27 11:52:48,220 INFO L290 TraceCheckUtils]: 37: Hoare triple {2649#true} assume true; {2649#true} is VALID [2022-04-27 11:52:48,220 INFO L290 TraceCheckUtils]: 36: Hoare triple {2649#true} assume !(0 == ~cond); {2649#true} is VALID [2022-04-27 11:52:48,220 INFO L290 TraceCheckUtils]: 35: Hoare triple {2649#true} ~cond := #in~cond; {2649#true} is VALID [2022-04-27 11:52:48,220 INFO L272 TraceCheckUtils]: 34: Hoare triple {2649#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:48,220 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2649#true} {2649#true} #78#return; {2649#true} is VALID [2022-04-27 11:52:48,220 INFO L290 TraceCheckUtils]: 32: Hoare triple {2649#true} assume true; {2649#true} is VALID [2022-04-27 11:52:48,220 INFO L290 TraceCheckUtils]: 31: Hoare triple {2649#true} assume !(0 == ~cond); {2649#true} is VALID [2022-04-27 11:52:48,220 INFO L290 TraceCheckUtils]: 30: Hoare triple {2649#true} ~cond := #in~cond; {2649#true} is VALID [2022-04-27 11:52:48,221 INFO L272 TraceCheckUtils]: 29: Hoare triple {2649#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:48,221 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2649#true} {2649#true} #76#return; {2649#true} is VALID [2022-04-27 11:52:48,221 INFO L290 TraceCheckUtils]: 27: Hoare triple {2649#true} assume true; {2649#true} is VALID [2022-04-27 11:52:48,221 INFO L290 TraceCheckUtils]: 26: Hoare triple {2649#true} assume !(0 == ~cond); {2649#true} is VALID [2022-04-27 11:52:48,221 INFO L290 TraceCheckUtils]: 25: Hoare triple {2649#true} ~cond := #in~cond; {2649#true} is VALID [2022-04-27 11:52:48,221 INFO L272 TraceCheckUtils]: 24: Hoare triple {2649#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:48,221 INFO L290 TraceCheckUtils]: 23: Hoare triple {2649#true} assume !false; {2649#true} is VALID [2022-04-27 11:52:48,221 INFO L290 TraceCheckUtils]: 22: Hoare triple {2649#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2649#true} is VALID [2022-04-27 11:52:48,221 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2649#true} {2649#true} #80#return; {2649#true} is VALID [2022-04-27 11:52:48,221 INFO L290 TraceCheckUtils]: 20: Hoare triple {2649#true} assume true; {2649#true} is VALID [2022-04-27 11:52:48,221 INFO L290 TraceCheckUtils]: 19: Hoare triple {2649#true} assume !(0 == ~cond); {2649#true} is VALID [2022-04-27 11:52:48,221 INFO L290 TraceCheckUtils]: 18: Hoare triple {2649#true} ~cond := #in~cond; {2649#true} is VALID [2022-04-27 11:52:48,221 INFO L272 TraceCheckUtils]: 17: Hoare triple {2649#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:48,221 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2649#true} {2649#true} #78#return; {2649#true} is VALID [2022-04-27 11:52:48,221 INFO L290 TraceCheckUtils]: 15: Hoare triple {2649#true} assume true; {2649#true} is VALID [2022-04-27 11:52:48,221 INFO L290 TraceCheckUtils]: 14: Hoare triple {2649#true} assume !(0 == ~cond); {2649#true} is VALID [2022-04-27 11:52:48,221 INFO L290 TraceCheckUtils]: 13: Hoare triple {2649#true} ~cond := #in~cond; {2649#true} is VALID [2022-04-27 11:52:48,222 INFO L272 TraceCheckUtils]: 12: Hoare triple {2649#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:48,222 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {2649#true} {2649#true} #76#return; {2649#true} is VALID [2022-04-27 11:52:48,222 INFO L290 TraceCheckUtils]: 10: Hoare triple {2649#true} assume true; {2649#true} is VALID [2022-04-27 11:52:48,222 INFO L290 TraceCheckUtils]: 9: Hoare triple {2649#true} assume !(0 == ~cond); {2649#true} is VALID [2022-04-27 11:52:48,222 INFO L290 TraceCheckUtils]: 8: Hoare triple {2649#true} ~cond := #in~cond; {2649#true} is VALID [2022-04-27 11:52:48,222 INFO L272 TraceCheckUtils]: 7: Hoare triple {2649#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2649#true} is VALID [2022-04-27 11:52:48,222 INFO L290 TraceCheckUtils]: 6: Hoare triple {2649#true} assume !false; {2649#true} is VALID [2022-04-27 11:52:48,222 INFO L290 TraceCheckUtils]: 5: Hoare triple {2649#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2649#true} is VALID [2022-04-27 11:52:48,222 INFO L272 TraceCheckUtils]: 4: Hoare triple {2649#true} call #t~ret5 := main(); {2649#true} is VALID [2022-04-27 11:52:48,222 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2649#true} {2649#true} #90#return; {2649#true} is VALID [2022-04-27 11:52:48,222 INFO L290 TraceCheckUtils]: 2: Hoare triple {2649#true} assume true; {2649#true} is VALID [2022-04-27 11:52:48,222 INFO L290 TraceCheckUtils]: 1: Hoare triple {2649#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); {2649#true} is VALID [2022-04-27 11:52:48,222 INFO L272 TraceCheckUtils]: 0: Hoare triple {2649#true} call ULTIMATE.init(); {2649#true} is VALID [2022-04-27 11:52:48,222 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 68 proven. 2 refuted. 0 times theorem prover too weak. 139 trivial. 0 not checked. [2022-04-27 11:52:48,223 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:52:48,223 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1209021322] [2022-04-27 11:52:48,223 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:52:48,223 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [777829252] [2022-04-27 11:52:48,223 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [777829252] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:52:48,223 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:52:48,223 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-27 11:52:48,223 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [57173620] [2022-04-27 11:52:48,223 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:52:48,224 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 11 states have internal predecessors, (31), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 5 states have call successors, (18) Word has length 69 [2022-04-27 11:52:48,224 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:52:48,224 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 11 states have internal predecessors, (31), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 11:52:48,273 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:48,273 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-27 11:52:48,273 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:52:48,273 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-27 11:52:48,273 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-04-27 11:52:48,274 INFO L87 Difference]: Start difference. First operand 107 states and 140 transitions. Second operand has 15 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 11 states have internal predecessors, (31), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 11:52:49,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:49,078 INFO L93 Difference]: Finished difference Result 163 states and 213 transitions. [2022-04-27 11:52:49,078 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 11:52:49,078 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 11 states have internal predecessors, (31), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 5 states have call successors, (18) Word has length 69 [2022-04-27 11:52:49,078 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:52:49,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 11 states have internal predecessors, (31), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 11:52:49,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 108 transitions. [2022-04-27 11:52:49,080 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 11 states have internal predecessors, (31), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 11:52:49,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 108 transitions. [2022-04-27 11:52:49,096 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 108 transitions. [2022-04-27 11:52:49,196 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:49,198 INFO L225 Difference]: With dead ends: 163 [2022-04-27 11:52:49,198 INFO L226 Difference]: Without dead ends: 109 [2022-04-27 11:52:49,199 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 139 GetRequests, 121 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=65, Invalid=207, Unknown=0, NotChecked=0, Total=272 [2022-04-27 11:52:49,199 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 38 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 296 mSolverCounterSat, 52 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 99 SdHoareTripleChecker+Invalid, 348 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 52 IncrementalHoareTripleChecker+Valid, 296 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 11:52:49,200 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [51 Valid, 99 Invalid, 348 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [52 Valid, 296 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 11:52:49,200 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2022-04-27 11:52:49,222 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 95. [2022-04-27 11:52:49,222 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:52:49,222 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand has 95 states, 57 states have (on average 1.1754385964912282) internal successors, (67), 60 states have internal predecessors, (67), 25 states have call successors, (25), 13 states have call predecessors, (25), 12 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-27 11:52:49,223 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand has 95 states, 57 states have (on average 1.1754385964912282) internal successors, (67), 60 states have internal predecessors, (67), 25 states have call successors, (25), 13 states have call predecessors, (25), 12 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-27 11:52:49,223 INFO L87 Difference]: Start difference. First operand 109 states. Second operand has 95 states, 57 states have (on average 1.1754385964912282) internal successors, (67), 60 states have internal predecessors, (67), 25 states have call successors, (25), 13 states have call predecessors, (25), 12 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-27 11:52:49,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:49,225 INFO L93 Difference]: Finished difference Result 109 states and 136 transitions. [2022-04-27 11:52:49,226 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 136 transitions. [2022-04-27 11:52:49,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:49,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:49,226 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 57 states have (on average 1.1754385964912282) internal successors, (67), 60 states have internal predecessors, (67), 25 states have call successors, (25), 13 states have call predecessors, (25), 12 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 109 states. [2022-04-27 11:52:49,226 INFO L87 Difference]: Start difference. First operand has 95 states, 57 states have (on average 1.1754385964912282) internal successors, (67), 60 states have internal predecessors, (67), 25 states have call successors, (25), 13 states have call predecessors, (25), 12 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 109 states. [2022-04-27 11:52:49,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:49,229 INFO L93 Difference]: Finished difference Result 109 states and 136 transitions. [2022-04-27 11:52:49,229 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 136 transitions. [2022-04-27 11:52:49,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:49,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:49,229 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:52:49,229 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:52:49,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 57 states have (on average 1.1754385964912282) internal successors, (67), 60 states have internal predecessors, (67), 25 states have call successors, (25), 13 states have call predecessors, (25), 12 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-27 11:52:49,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 115 transitions. [2022-04-27 11:52:49,232 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 115 transitions. Word has length 69 [2022-04-27 11:52:49,232 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:52:49,232 INFO L495 AbstractCegarLoop]: Abstraction has 95 states and 115 transitions. [2022-04-27 11:52:49,232 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 11 states have internal predecessors, (31), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 11:52:49,232 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 115 transitions. [2022-04-27 11:52:49,233 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2022-04-27 11:52:49,233 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:52:49,233 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:52:49,249 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-27 11:52:49,449 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:52:49,449 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:52:49,449 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:52:49,449 INFO L85 PathProgramCache]: Analyzing trace with hash 1018070448, now seen corresponding path program 1 times [2022-04-27 11:52:49,450 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:52:49,450 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1509230821] [2022-04-27 11:52:49,450 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:49,450 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:52:49,462 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:52:49,462 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1811548526] [2022-04-27 11:52:49,462 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:49,462 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:52:49,462 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:52:49,483 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-04-27 11:52:49,483 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-04-27 11:52:49,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:49,521 INFO L263 TraceCheckSpWp]: Trace formula consists of 187 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-27 11:52:49,531 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:49,536 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:52:50,916 INFO L272 TraceCheckUtils]: 0: Hoare triple {3669#true} call ULTIMATE.init(); {3669#true} is VALID [2022-04-27 11:52:50,917 INFO L290 TraceCheckUtils]: 1: Hoare triple {3669#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); {3669#true} is VALID [2022-04-27 11:52:50,917 INFO L290 TraceCheckUtils]: 2: Hoare triple {3669#true} assume true; {3669#true} is VALID [2022-04-27 11:52:50,917 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3669#true} {3669#true} #90#return; {3669#true} is VALID [2022-04-27 11:52:50,917 INFO L272 TraceCheckUtils]: 4: Hoare triple {3669#true} call #t~ret5 := main(); {3669#true} is VALID [2022-04-27 11:52:50,917 INFO L290 TraceCheckUtils]: 5: Hoare triple {3669#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3689#(<= 1 main_~p~0)} is VALID [2022-04-27 11:52:50,918 INFO L290 TraceCheckUtils]: 6: Hoare triple {3689#(<= 1 main_~p~0)} assume !false; {3689#(<= 1 main_~p~0)} is VALID [2022-04-27 11:52:50,918 INFO L272 TraceCheckUtils]: 7: Hoare triple {3689#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3669#true} is VALID [2022-04-27 11:52:50,918 INFO L290 TraceCheckUtils]: 8: Hoare triple {3669#true} ~cond := #in~cond; {3669#true} is VALID [2022-04-27 11:52:50,918 INFO L290 TraceCheckUtils]: 9: Hoare triple {3669#true} assume !(0 == ~cond); {3669#true} is VALID [2022-04-27 11:52:50,918 INFO L290 TraceCheckUtils]: 10: Hoare triple {3669#true} assume true; {3669#true} is VALID [2022-04-27 11:52:50,918 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {3669#true} {3689#(<= 1 main_~p~0)} #76#return; {3689#(<= 1 main_~p~0)} is VALID [2022-04-27 11:52:50,918 INFO L272 TraceCheckUtils]: 12: Hoare triple {3689#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3669#true} is VALID [2022-04-27 11:52:50,918 INFO L290 TraceCheckUtils]: 13: Hoare triple {3669#true} ~cond := #in~cond; {3669#true} is VALID [2022-04-27 11:52:50,918 INFO L290 TraceCheckUtils]: 14: Hoare triple {3669#true} assume !(0 == ~cond); {3669#true} is VALID [2022-04-27 11:52:50,919 INFO L290 TraceCheckUtils]: 15: Hoare triple {3669#true} assume true; {3669#true} is VALID [2022-04-27 11:52:50,919 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3669#true} {3689#(<= 1 main_~p~0)} #78#return; {3689#(<= 1 main_~p~0)} is VALID [2022-04-27 11:52:50,919 INFO L272 TraceCheckUtils]: 17: Hoare triple {3689#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3669#true} is VALID [2022-04-27 11:52:50,919 INFO L290 TraceCheckUtils]: 18: Hoare triple {3669#true} ~cond := #in~cond; {3669#true} is VALID [2022-04-27 11:52:50,919 INFO L290 TraceCheckUtils]: 19: Hoare triple {3669#true} assume !(0 == ~cond); {3669#true} is VALID [2022-04-27 11:52:50,919 INFO L290 TraceCheckUtils]: 20: Hoare triple {3669#true} assume true; {3669#true} is VALID [2022-04-27 11:52:50,920 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3669#true} {3689#(<= 1 main_~p~0)} #80#return; {3689#(<= 1 main_~p~0)} is VALID [2022-04-27 11:52:50,920 INFO L290 TraceCheckUtils]: 22: Hoare triple {3689#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3741#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 11:52:50,920 INFO L290 TraceCheckUtils]: 23: Hoare triple {3741#(<= 1 (div main_~p~0 2))} assume !false; {3741#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 11:52:50,921 INFO L272 TraceCheckUtils]: 24: Hoare triple {3741#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3669#true} is VALID [2022-04-27 11:52:50,921 INFO L290 TraceCheckUtils]: 25: Hoare triple {3669#true} ~cond := #in~cond; {3669#true} is VALID [2022-04-27 11:52:50,921 INFO L290 TraceCheckUtils]: 26: Hoare triple {3669#true} assume !(0 == ~cond); {3669#true} is VALID [2022-04-27 11:52:50,921 INFO L290 TraceCheckUtils]: 27: Hoare triple {3669#true} assume true; {3669#true} is VALID [2022-04-27 11:52:50,921 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3669#true} {3741#(<= 1 (div main_~p~0 2))} #76#return; {3741#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 11:52:50,921 INFO L272 TraceCheckUtils]: 29: Hoare triple {3741#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3669#true} is VALID [2022-04-27 11:52:50,921 INFO L290 TraceCheckUtils]: 30: Hoare triple {3669#true} ~cond := #in~cond; {3669#true} is VALID [2022-04-27 11:52:50,921 INFO L290 TraceCheckUtils]: 31: Hoare triple {3669#true} assume !(0 == ~cond); {3669#true} is VALID [2022-04-27 11:52:50,921 INFO L290 TraceCheckUtils]: 32: Hoare triple {3669#true} assume true; {3669#true} is VALID [2022-04-27 11:52:50,922 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3669#true} {3741#(<= 1 (div main_~p~0 2))} #78#return; {3741#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 11:52:50,922 INFO L272 TraceCheckUtils]: 34: Hoare triple {3741#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3669#true} is VALID [2022-04-27 11:52:50,922 INFO L290 TraceCheckUtils]: 35: Hoare triple {3669#true} ~cond := #in~cond; {3669#true} is VALID [2022-04-27 11:52:50,922 INFO L290 TraceCheckUtils]: 36: Hoare triple {3669#true} assume !(0 == ~cond); {3669#true} is VALID [2022-04-27 11:52:50,922 INFO L290 TraceCheckUtils]: 37: Hoare triple {3669#true} assume true; {3669#true} is VALID [2022-04-27 11:52:50,922 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3669#true} {3741#(<= 1 (div main_~p~0 2))} #80#return; {3741#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 11:52:50,923 INFO L290 TraceCheckUtils]: 39: Hoare triple {3741#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3793#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 11:52:50,923 INFO L290 TraceCheckUtils]: 40: Hoare triple {3793#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {3793#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 11:52:50,923 INFO L272 TraceCheckUtils]: 41: Hoare triple {3793#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3669#true} is VALID [2022-04-27 11:52:50,923 INFO L290 TraceCheckUtils]: 42: Hoare triple {3669#true} ~cond := #in~cond; {3669#true} is VALID [2022-04-27 11:52:50,923 INFO L290 TraceCheckUtils]: 43: Hoare triple {3669#true} assume !(0 == ~cond); {3669#true} is VALID [2022-04-27 11:52:50,923 INFO L290 TraceCheckUtils]: 44: Hoare triple {3669#true} assume true; {3669#true} is VALID [2022-04-27 11:52:50,935 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3669#true} {3793#(<= 1 (div (div main_~p~0 2) 2))} #76#return; {3793#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 11:52:50,935 INFO L272 TraceCheckUtils]: 46: Hoare triple {3793#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3669#true} is VALID [2022-04-27 11:52:50,935 INFO L290 TraceCheckUtils]: 47: Hoare triple {3669#true} ~cond := #in~cond; {3669#true} is VALID [2022-04-27 11:52:50,935 INFO L290 TraceCheckUtils]: 48: Hoare triple {3669#true} assume !(0 == ~cond); {3669#true} is VALID [2022-04-27 11:52:50,935 INFO L290 TraceCheckUtils]: 49: Hoare triple {3669#true} assume true; {3669#true} is VALID [2022-04-27 11:52:50,936 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3669#true} {3793#(<= 1 (div (div main_~p~0 2) 2))} #78#return; {3793#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 11:52:50,936 INFO L272 TraceCheckUtils]: 51: Hoare triple {3793#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3669#true} is VALID [2022-04-27 11:52:50,936 INFO L290 TraceCheckUtils]: 52: Hoare triple {3669#true} ~cond := #in~cond; {3669#true} is VALID [2022-04-27 11:52:50,936 INFO L290 TraceCheckUtils]: 53: Hoare triple {3669#true} assume !(0 == ~cond); {3669#true} is VALID [2022-04-27 11:52:50,936 INFO L290 TraceCheckUtils]: 54: Hoare triple {3669#true} assume true; {3669#true} is VALID [2022-04-27 11:52:50,937 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3669#true} {3793#(<= 1 (div (div main_~p~0 2) 2))} #80#return; {3793#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 11:52:50,937 INFO L290 TraceCheckUtils]: 56: Hoare triple {3793#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {3793#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 11:52:50,937 INFO L290 TraceCheckUtils]: 57: Hoare triple {3793#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {3793#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 11:52:50,937 INFO L272 TraceCheckUtils]: 58: Hoare triple {3793#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3669#true} is VALID [2022-04-27 11:52:50,937 INFO L290 TraceCheckUtils]: 59: Hoare triple {3669#true} ~cond := #in~cond; {3669#true} is VALID [2022-04-27 11:52:50,937 INFO L290 TraceCheckUtils]: 60: Hoare triple {3669#true} assume !(0 == ~cond); {3669#true} is VALID [2022-04-27 11:52:50,937 INFO L290 TraceCheckUtils]: 61: Hoare triple {3669#true} assume true; {3669#true} is VALID [2022-04-27 11:52:50,938 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3669#true} {3793#(<= 1 (div (div main_~p~0 2) 2))} #82#return; {3793#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 11:52:50,938 INFO L272 TraceCheckUtils]: 63: Hoare triple {3793#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3669#true} is VALID [2022-04-27 11:52:50,938 INFO L290 TraceCheckUtils]: 64: Hoare triple {3669#true} ~cond := #in~cond; {3669#true} is VALID [2022-04-27 11:52:50,939 INFO L290 TraceCheckUtils]: 65: Hoare triple {3669#true} assume !(0 == ~cond); {3669#true} is VALID [2022-04-27 11:52:50,939 INFO L290 TraceCheckUtils]: 66: Hoare triple {3669#true} assume true; {3669#true} is VALID [2022-04-27 11:52:50,939 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3669#true} {3793#(<= 1 (div (div main_~p~0 2) 2))} #84#return; {3793#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 11:52:50,939 INFO L290 TraceCheckUtils]: 68: Hoare triple {3793#(<= 1 (div (div main_~p~0 2) 2))} assume !(1 != ~p~0); {3670#false} is VALID [2022-04-27 11:52:50,939 INFO L272 TraceCheckUtils]: 69: Hoare triple {3670#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3670#false} is VALID [2022-04-27 11:52:50,940 INFO L290 TraceCheckUtils]: 70: Hoare triple {3670#false} ~cond := #in~cond; {3670#false} is VALID [2022-04-27 11:52:50,940 INFO L290 TraceCheckUtils]: 71: Hoare triple {3670#false} assume !(0 == ~cond); {3670#false} is VALID [2022-04-27 11:52:50,940 INFO L290 TraceCheckUtils]: 72: Hoare triple {3670#false} assume true; {3670#false} is VALID [2022-04-27 11:52:50,940 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {3670#false} {3670#false} #86#return; {3670#false} is VALID [2022-04-27 11:52:50,940 INFO L272 TraceCheckUtils]: 74: Hoare triple {3670#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {3670#false} is VALID [2022-04-27 11:52:50,940 INFO L290 TraceCheckUtils]: 75: Hoare triple {3670#false} ~cond := #in~cond; {3670#false} is VALID [2022-04-27 11:52:50,940 INFO L290 TraceCheckUtils]: 76: Hoare triple {3670#false} assume 0 == ~cond; {3670#false} is VALID [2022-04-27 11:52:50,940 INFO L290 TraceCheckUtils]: 77: Hoare triple {3670#false} assume !false; {3670#false} is VALID [2022-04-27 11:52:50,941 INFO L134 CoverageAnalysis]: Checked inductivity of 303 backedges. 81 proven. 0 refuted. 0 times theorem prover too weak. 222 trivial. 0 not checked. [2022-04-27 11:52:50,941 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 11:52:50,941 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:52:50,941 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1509230821] [2022-04-27 11:52:50,941 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:52:50,941 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1811548526] [2022-04-27 11:52:50,941 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1811548526] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:52:50,941 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:52:50,941 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 11:52:50,941 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1644225768] [2022-04-27 11:52:50,941 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:52:50,942 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 5 states have internal predecessors, (19), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 78 [2022-04-27 11:52:50,942 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:52:50,942 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 5 states have internal predecessors, (19), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 11:52:50,987 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:50,987 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 11:52:50,987 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:52:50,988 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 11:52:50,988 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 11:52:50,988 INFO L87 Difference]: Start difference. First operand 95 states and 115 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 5 states have internal predecessors, (19), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 11:52:51,160 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:51,160 INFO L93 Difference]: Finished difference Result 109 states and 130 transitions. [2022-04-27 11:52:51,160 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 11:52:51,160 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 5 states have internal predecessors, (19), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 78 [2022-04-27 11:52:51,160 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:52:51,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 5 states have internal predecessors, (19), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 11:52:51,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 72 transitions. [2022-04-27 11:52:51,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 5 states have internal predecessors, (19), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 11:52:51,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 72 transitions. [2022-04-27 11:52:51,163 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 72 transitions. [2022-04-27 11:52:51,205 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:51,206 INFO L225 Difference]: With dead ends: 109 [2022-04-27 11:52:51,206 INFO L226 Difference]: Without dead ends: 97 [2022-04-27 11:52:51,206 INFO L412 NwaCegarLoop]: 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-04-27 11:52:51,207 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 14 mSDsluCounter, 26 mSDsCounter, 0 mSdLazyCounter, 36 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 72 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 36 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 11:52:51,207 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 72 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 11:52:51,207 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2022-04-27 11:52:51,237 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 97. [2022-04-27 11:52:51,237 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:52:51,237 INFO L82 GeneralOperation]: Start isEquivalent. First operand 97 states. Second operand has 97 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 25 states have call successors, (25), 13 states have call predecessors, (25), 12 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-27 11:52:51,237 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand has 97 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 25 states have call successors, (25), 13 states have call predecessors, (25), 12 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-27 11:52:51,238 INFO L87 Difference]: Start difference. First operand 97 states. Second operand has 97 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 25 states have call successors, (25), 13 states have call predecessors, (25), 12 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-27 11:52:51,240 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:51,240 INFO L93 Difference]: Finished difference Result 97 states and 116 transitions. [2022-04-27 11:52:51,240 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 116 transitions. [2022-04-27 11:52:51,240 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:51,240 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:51,240 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 25 states have call successors, (25), 13 states have call predecessors, (25), 12 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 97 states. [2022-04-27 11:52:51,240 INFO L87 Difference]: Start difference. First operand has 97 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 25 states have call successors, (25), 13 states have call predecessors, (25), 12 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 97 states. [2022-04-27 11:52:51,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:51,243 INFO L93 Difference]: Finished difference Result 97 states and 116 transitions. [2022-04-27 11:52:51,243 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 116 transitions. [2022-04-27 11:52:51,243 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:51,243 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:51,243 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:52:51,243 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:52:51,243 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 25 states have call successors, (25), 13 states have call predecessors, (25), 12 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-27 11:52:51,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 116 transitions. [2022-04-27 11:52:51,245 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 116 transitions. Word has length 78 [2022-04-27 11:52:51,245 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:52:51,245 INFO L495 AbstractCegarLoop]: Abstraction has 97 states and 116 transitions. [2022-04-27 11:52:51,246 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 5 states have internal predecessors, (19), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 11:52:51,246 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 116 transitions. [2022-04-27 11:52:51,246 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 89 [2022-04-27 11:52:51,246 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:52:51,246 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:52:51,264 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-27 11:52:51,463 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:52:51,464 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:52:51,464 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:52:51,464 INFO L85 PathProgramCache]: Analyzing trace with hash 1256657556, now seen corresponding path program 2 times [2022-04-27 11:52:51,464 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:52:51,464 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2034208603] [2022-04-27 11:52:51,464 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:51,465 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:52:51,473 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:52:51,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1983517906] [2022-04-27 11:52:51,474 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:52:51,474 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:52:51,474 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:52:51,476 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-04-27 11:52:51,477 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-04-27 11:52:51,526 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:52:51,527 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:52:51,527 INFO L263 TraceCheckSpWp]: Trace formula consists of 216 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-27 11:52:51,538 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:51,540 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:52:52,094 INFO L272 TraceCheckUtils]: 0: Hoare triple {4393#true} call ULTIMATE.init(); {4393#true} is VALID [2022-04-27 11:52:52,094 INFO L290 TraceCheckUtils]: 1: Hoare triple {4393#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); {4393#true} is VALID [2022-04-27 11:52:52,094 INFO L290 TraceCheckUtils]: 2: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:52:52,095 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4393#true} {4393#true} #90#return; {4393#true} is VALID [2022-04-27 11:52:52,095 INFO L272 TraceCheckUtils]: 4: Hoare triple {4393#true} call #t~ret5 := main(); {4393#true} is VALID [2022-04-27 11:52:52,095 INFO L290 TraceCheckUtils]: 5: Hoare triple {4393#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4413#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:52,095 INFO L290 TraceCheckUtils]: 6: Hoare triple {4413#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {4413#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:52,095 INFO L272 TraceCheckUtils]: 7: Hoare triple {4413#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:52:52,095 INFO L290 TraceCheckUtils]: 8: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:52:52,096 INFO L290 TraceCheckUtils]: 9: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:52:52,096 INFO L290 TraceCheckUtils]: 10: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:52:52,096 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {4393#true} {4413#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #76#return; {4413#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:52,096 INFO L272 TraceCheckUtils]: 12: Hoare triple {4413#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:52:52,102 INFO L290 TraceCheckUtils]: 13: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:52:52,109 INFO L290 TraceCheckUtils]: 14: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:52:52,110 INFO L290 TraceCheckUtils]: 15: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:52:52,111 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4393#true} {4413#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {4413#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:52,113 INFO L272 TraceCheckUtils]: 17: Hoare triple {4413#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:52:52,113 INFO L290 TraceCheckUtils]: 18: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:52:52,113 INFO L290 TraceCheckUtils]: 19: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:52:52,113 INFO L290 TraceCheckUtils]: 20: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:52:52,114 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4393#true} {4413#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {4413#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:52,114 INFO L290 TraceCheckUtils]: 22: Hoare triple {4413#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4465#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:52,115 INFO L290 TraceCheckUtils]: 23: Hoare triple {4465#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {4465#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:52,115 INFO L272 TraceCheckUtils]: 24: Hoare triple {4465#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:52:52,115 INFO L290 TraceCheckUtils]: 25: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:52:52,115 INFO L290 TraceCheckUtils]: 26: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:52:52,115 INFO L290 TraceCheckUtils]: 27: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:52:52,115 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4393#true} {4465#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #76#return; {4465#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:52,116 INFO L272 TraceCheckUtils]: 29: Hoare triple {4465#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:52:52,116 INFO L290 TraceCheckUtils]: 30: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:52:52,116 INFO L290 TraceCheckUtils]: 31: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:52:52,116 INFO L290 TraceCheckUtils]: 32: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:52:52,116 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4393#true} {4465#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #78#return; {4465#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:52,116 INFO L272 TraceCheckUtils]: 34: Hoare triple {4465#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:52:52,116 INFO L290 TraceCheckUtils]: 35: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:52:52,116 INFO L290 TraceCheckUtils]: 36: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:52:52,116 INFO L290 TraceCheckUtils]: 37: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:52:52,117 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4393#true} {4465#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {4465#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:52,117 INFO L290 TraceCheckUtils]: 39: Hoare triple {4465#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 11:52:52,117 INFO L290 TraceCheckUtils]: 40: Hoare triple {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !false; {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 11:52:52,117 INFO L272 TraceCheckUtils]: 41: Hoare triple {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:52:52,117 INFO L290 TraceCheckUtils]: 42: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:52:52,117 INFO L290 TraceCheckUtils]: 43: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:52:52,118 INFO L290 TraceCheckUtils]: 44: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:52:52,118 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4393#true} {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #76#return; {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 11:52:52,118 INFO L272 TraceCheckUtils]: 46: Hoare triple {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:52:52,118 INFO L290 TraceCheckUtils]: 47: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:52:52,118 INFO L290 TraceCheckUtils]: 48: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:52:52,118 INFO L290 TraceCheckUtils]: 49: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:52:52,119 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4393#true} {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #78#return; {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 11:52:52,119 INFO L272 TraceCheckUtils]: 51: Hoare triple {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:52:52,119 INFO L290 TraceCheckUtils]: 52: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:52:52,119 INFO L290 TraceCheckUtils]: 53: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:52:52,119 INFO L290 TraceCheckUtils]: 54: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:52:52,119 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4393#true} {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #80#return; {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 11:52:52,119 INFO L290 TraceCheckUtils]: 56: Hoare triple {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 11:52:52,120 INFO L290 TraceCheckUtils]: 57: Hoare triple {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !false; {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 11:52:52,120 INFO L272 TraceCheckUtils]: 58: Hoare triple {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:52:52,120 INFO L290 TraceCheckUtils]: 59: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:52:52,120 INFO L290 TraceCheckUtils]: 60: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:52:52,120 INFO L290 TraceCheckUtils]: 61: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:52:52,120 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4393#true} {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #82#return; {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 11:52:52,120 INFO L272 TraceCheckUtils]: 63: Hoare triple {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:52:52,121 INFO L290 TraceCheckUtils]: 64: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:52:52,121 INFO L290 TraceCheckUtils]: 65: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:52:52,121 INFO L290 TraceCheckUtils]: 66: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:52:52,121 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4393#true} {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #84#return; {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 11:52:52,121 INFO L290 TraceCheckUtils]: 68: Hoare triple {4517#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4465#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:52,122 INFO L290 TraceCheckUtils]: 69: Hoare triple {4465#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4608#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:52,122 INFO L290 TraceCheckUtils]: 70: Hoare triple {4608#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} assume !false; {4608#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:52,122 INFO L272 TraceCheckUtils]: 71: Hoare triple {4608#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:52:52,122 INFO L290 TraceCheckUtils]: 72: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:52:52,122 INFO L290 TraceCheckUtils]: 73: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:52:52,122 INFO L290 TraceCheckUtils]: 74: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:52:52,123 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4393#true} {4608#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} #82#return; {4608#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:52,123 INFO L272 TraceCheckUtils]: 76: Hoare triple {4608#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:52:52,123 INFO L290 TraceCheckUtils]: 77: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:52:52,123 INFO L290 TraceCheckUtils]: 78: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:52:52,123 INFO L290 TraceCheckUtils]: 79: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:52:52,123 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {4393#true} {4608#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} #84#return; {4608#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-27 11:52:52,124 INFO L290 TraceCheckUtils]: 81: Hoare triple {4608#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4645#(and (= (+ (- 2) main_~q~0) 0) (= (div (* main_~B~0 2) 2) main_~d~0) (= main_~B~0 1) (= main_~A~0 (+ (* main_~B~0 2) main_~r~0)) (= main_~p~0 1))} is VALID [2022-04-27 11:52:52,125 INFO L290 TraceCheckUtils]: 82: Hoare triple {4645#(and (= (+ (- 2) main_~q~0) 0) (= (div (* main_~B~0 2) 2) main_~d~0) (= main_~B~0 1) (= main_~A~0 (+ (* main_~B~0 2) main_~r~0)) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4649#(and (= main_~A~0 (+ (* main_~B~0 2) (div (* main_~B~0 2) 2) main_~r~0)) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-27 11:52:52,125 INFO L290 TraceCheckUtils]: 83: Hoare triple {4649#(and (= main_~A~0 (+ (* main_~B~0 2) (div (* main_~B~0 2) 2) main_~r~0)) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} assume !false; {4649#(and (= main_~A~0 (+ (* main_~B~0 2) (div (* main_~B~0 2) 2) main_~r~0)) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-27 11:52:52,126 INFO L272 TraceCheckUtils]: 84: Hoare triple {4649#(and (= main_~A~0 (+ (* main_~B~0 2) (div (* main_~B~0 2) 2) main_~r~0)) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4656#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:52:52,145 INFO L290 TraceCheckUtils]: 85: Hoare triple {4656#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4660#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:52:52,146 INFO L290 TraceCheckUtils]: 86: Hoare triple {4660#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4394#false} is VALID [2022-04-27 11:52:52,146 INFO L290 TraceCheckUtils]: 87: Hoare triple {4394#false} assume !false; {4394#false} is VALID [2022-04-27 11:52:52,162 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 26 proven. 24 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-27 11:52:52,162 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:53:13,752 INFO L290 TraceCheckUtils]: 87: Hoare triple {4394#false} assume !false; {4394#false} is VALID [2022-04-27 11:53:13,752 INFO L290 TraceCheckUtils]: 86: Hoare triple {4660#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4394#false} is VALID [2022-04-27 11:53:13,753 INFO L290 TraceCheckUtils]: 85: Hoare triple {4656#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4660#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:53:13,753 INFO L272 TraceCheckUtils]: 84: Hoare triple {4676#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4656#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:53:13,753 INFO L290 TraceCheckUtils]: 83: Hoare triple {4676#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {4676#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 11:53:13,766 INFO L290 TraceCheckUtils]: 82: Hoare triple {4683#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4676#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 11:53:13,782 INFO L290 TraceCheckUtils]: 81: Hoare triple {4687#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4683#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 11:53:13,783 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {4393#true} {4687#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #84#return; {4687#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 11:53:13,783 INFO L290 TraceCheckUtils]: 79: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:53:13,783 INFO L290 TraceCheckUtils]: 78: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:53:13,783 INFO L290 TraceCheckUtils]: 77: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:53:13,783 INFO L272 TraceCheckUtils]: 76: Hoare triple {4687#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:53:13,784 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4393#true} {4687#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #82#return; {4687#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 11:53:13,784 INFO L290 TraceCheckUtils]: 74: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:53:13,785 INFO L290 TraceCheckUtils]: 73: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:53:13,785 INFO L290 TraceCheckUtils]: 72: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:53:13,785 INFO L272 TraceCheckUtils]: 71: Hoare triple {4687#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:53:13,785 INFO L290 TraceCheckUtils]: 70: Hoare triple {4687#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !false; {4687#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 11:53:13,819 INFO L290 TraceCheckUtils]: 69: Hoare triple {4724#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4687#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 11:53:14,195 INFO L290 TraceCheckUtils]: 68: Hoare triple {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4724#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 11:53:14,196 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4393#true} {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #84#return; {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 11:53:14,197 INFO L290 TraceCheckUtils]: 66: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:53:14,197 INFO L290 TraceCheckUtils]: 65: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:53:14,197 INFO L290 TraceCheckUtils]: 64: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:53:14,197 INFO L272 TraceCheckUtils]: 63: Hoare triple {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:53:14,199 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4393#true} {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #82#return; {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 11:53:14,199 INFO L290 TraceCheckUtils]: 61: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:53:14,199 INFO L290 TraceCheckUtils]: 60: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:53:14,199 INFO L290 TraceCheckUtils]: 59: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:53:14,199 INFO L272 TraceCheckUtils]: 58: Hoare triple {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:53:14,203 INFO L290 TraceCheckUtils]: 57: Hoare triple {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !false; {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 11:53:14,206 INFO L290 TraceCheckUtils]: 56: Hoare triple {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !(~r~0 >= ~d~0); {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 11:53:14,212 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4393#true} {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #80#return; {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 11:53:14,212 INFO L290 TraceCheckUtils]: 54: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:53:14,212 INFO L290 TraceCheckUtils]: 53: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:53:14,212 INFO L290 TraceCheckUtils]: 52: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:53:14,212 INFO L272 TraceCheckUtils]: 51: Hoare triple {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:53:14,213 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4393#true} {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #78#return; {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 11:53:14,213 INFO L290 TraceCheckUtils]: 49: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:53:14,213 INFO L290 TraceCheckUtils]: 48: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:53:14,213 INFO L290 TraceCheckUtils]: 47: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:53:14,214 INFO L272 TraceCheckUtils]: 46: Hoare triple {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:53:14,214 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4393#true} {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #76#return; {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 11:53:14,214 INFO L290 TraceCheckUtils]: 44: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:53:14,214 INFO L290 TraceCheckUtils]: 43: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:53:14,215 INFO L290 TraceCheckUtils]: 42: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:53:14,215 INFO L272 TraceCheckUtils]: 41: Hoare triple {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:53:14,219 INFO L290 TraceCheckUtils]: 40: Hoare triple {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !false; {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 11:53:14,449 INFO L290 TraceCheckUtils]: 39: Hoare triple {4724#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4728#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 11:53:14,451 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4393#true} {4724#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #80#return; {4724#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 11:53:14,451 INFO L290 TraceCheckUtils]: 37: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:53:14,451 INFO L290 TraceCheckUtils]: 36: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:53:14,451 INFO L290 TraceCheckUtils]: 35: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:53:14,451 INFO L272 TraceCheckUtils]: 34: Hoare triple {4724#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:53:14,452 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4393#true} {4724#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #78#return; {4724#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 11:53:14,452 INFO L290 TraceCheckUtils]: 32: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:53:14,452 INFO L290 TraceCheckUtils]: 31: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:53:14,452 INFO L290 TraceCheckUtils]: 30: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:53:14,452 INFO L272 TraceCheckUtils]: 29: Hoare triple {4724#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:53:14,453 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4393#true} {4724#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #76#return; {4724#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 11:53:14,453 INFO L290 TraceCheckUtils]: 27: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:53:14,453 INFO L290 TraceCheckUtils]: 26: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:53:14,453 INFO L290 TraceCheckUtils]: 25: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:53:14,453 INFO L272 TraceCheckUtils]: 24: Hoare triple {4724#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:53:14,454 INFO L290 TraceCheckUtils]: 23: Hoare triple {4724#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !false; {4724#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 11:53:14,465 INFO L290 TraceCheckUtils]: 22: Hoare triple {4867#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4724#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 11:53:14,465 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4393#true} {4867#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #80#return; {4867#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-27 11:53:14,465 INFO L290 TraceCheckUtils]: 20: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:53:14,466 INFO L290 TraceCheckUtils]: 19: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:53:14,466 INFO L290 TraceCheckUtils]: 18: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:53:14,466 INFO L272 TraceCheckUtils]: 17: Hoare triple {4867#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:53:14,466 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4393#true} {4867#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #78#return; {4867#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-27 11:53:14,466 INFO L290 TraceCheckUtils]: 15: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:53:14,466 INFO L290 TraceCheckUtils]: 14: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:53:14,466 INFO L290 TraceCheckUtils]: 13: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:53:14,466 INFO L272 TraceCheckUtils]: 12: Hoare triple {4867#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:53:14,467 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {4393#true} {4867#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #76#return; {4867#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-27 11:53:14,467 INFO L290 TraceCheckUtils]: 10: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:53:14,467 INFO L290 TraceCheckUtils]: 9: Hoare triple {4393#true} assume !(0 == ~cond); {4393#true} is VALID [2022-04-27 11:53:14,467 INFO L290 TraceCheckUtils]: 8: Hoare triple {4393#true} ~cond := #in~cond; {4393#true} is VALID [2022-04-27 11:53:14,467 INFO L272 TraceCheckUtils]: 7: Hoare triple {4867#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4393#true} is VALID [2022-04-27 11:53:14,467 INFO L290 TraceCheckUtils]: 6: Hoare triple {4867#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} assume !false; {4867#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-27 11:53:14,468 INFO L290 TraceCheckUtils]: 5: Hoare triple {4393#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4867#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-27 11:53:14,468 INFO L272 TraceCheckUtils]: 4: Hoare triple {4393#true} call #t~ret5 := main(); {4393#true} is VALID [2022-04-27 11:53:14,468 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4393#true} {4393#true} #90#return; {4393#true} is VALID [2022-04-27 11:53:14,468 INFO L290 TraceCheckUtils]: 2: Hoare triple {4393#true} assume true; {4393#true} is VALID [2022-04-27 11:53:14,468 INFO L290 TraceCheckUtils]: 1: Hoare triple {4393#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); {4393#true} is VALID [2022-04-27 11:53:14,468 INFO L272 TraceCheckUtils]: 0: Hoare triple {4393#true} call ULTIMATE.init(); {4393#true} is VALID [2022-04-27 11:53:14,469 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 26 proven. 24 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-27 11:53:14,469 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:53:14,469 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2034208603] [2022-04-27 11:53:14,469 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:53:14,469 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1983517906] [2022-04-27 11:53:14,469 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1983517906] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:53:14,469 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:53:14,470 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-27 11:53:14,470 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1872638299] [2022-04-27 11:53:14,470 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:53:14,471 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.25) internal successors, (36), 15 states have internal predecessors, (36), 11 states have call successors, (30), 2 states have call predecessors, (30), 1 states have return successors, (27), 9 states have call predecessors, (27), 9 states have call successors, (27) Word has length 88 [2022-04-27 11:53:14,471 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:53:14,471 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.25) internal successors, (36), 15 states have internal predecessors, (36), 11 states have call successors, (30), 2 states have call predecessors, (30), 1 states have return successors, (27), 9 states have call predecessors, (27), 9 states have call successors, (27) [2022-04-27 11:53:15,253 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:53:15,253 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-27 11:53:15,253 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:53:15,254 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-27 11:53:15,254 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=179, Unknown=1, NotChecked=0, Total=240 [2022-04-27 11:53:15,254 INFO L87 Difference]: Start difference. First operand 97 states and 116 transitions. Second operand has 16 states, 16 states have (on average 2.25) internal successors, (36), 15 states have internal predecessors, (36), 11 states have call successors, (30), 2 states have call predecessors, (30), 1 states have return successors, (27), 9 states have call predecessors, (27), 9 states have call successors, (27) [2022-04-27 11:53:32,237 WARN L232 SmtUtils]: Spent 15.74s on a formula simplification. DAG size of input: 192 DAG size of output: 88 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 11:53:48,334 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-04-27 11:53:49,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:53:49,365 INFO L93 Difference]: Finished difference Result 222 states and 299 transitions. [2022-04-27 11:53:49,365 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-27 11:53:49,365 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.25) internal successors, (36), 15 states have internal predecessors, (36), 11 states have call successors, (30), 2 states have call predecessors, (30), 1 states have return successors, (27), 9 states have call predecessors, (27), 9 states have call successors, (27) Word has length 88 [2022-04-27 11:53:49,365 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:53:49,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.25) internal successors, (36), 15 states have internal predecessors, (36), 11 states have call successors, (30), 2 states have call predecessors, (30), 1 states have return successors, (27), 9 states have call predecessors, (27), 9 states have call successors, (27) [2022-04-27 11:53:49,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 177 transitions. [2022-04-27 11:53:49,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.25) internal successors, (36), 15 states have internal predecessors, (36), 11 states have call successors, (30), 2 states have call predecessors, (30), 1 states have return successors, (27), 9 states have call predecessors, (27), 9 states have call successors, (27) [2022-04-27 11:53:49,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 177 transitions. [2022-04-27 11:53:49,371 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 177 transitions. [2022-04-27 11:53:50,409 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 177 edges. 177 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:53:50,412 INFO L225 Difference]: With dead ends: 222 [2022-04-27 11:53:50,412 INFO L226 Difference]: Without dead ends: 171 [2022-04-27 11:53:50,413 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 180 GetRequests, 158 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 21.3s TimeCoverageRelationStatistics Valid=114, Invalid=305, Unknown=1, NotChecked=0, Total=420 [2022-04-27 11:53:50,413 INFO L413 NwaCegarLoop]: 55 mSDtfsCounter, 81 mSDsluCounter, 200 mSDsCounter, 0 mSdLazyCounter, 756 mSolverCounterSat, 189 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 92 SdHoareTripleChecker+Valid, 255 SdHoareTripleChecker+Invalid, 946 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 189 IncrementalHoareTripleChecker+Valid, 756 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 8.3s IncrementalHoareTripleChecker+Time [2022-04-27 11:53:50,413 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [92 Valid, 255 Invalid, 946 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [189 Valid, 756 Invalid, 1 Unknown, 0 Unchecked, 8.3s Time] [2022-04-27 11:53:50,414 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 171 states. [2022-04-27 11:53:50,503 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 171 to 160. [2022-04-27 11:53:50,504 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:53:50,504 INFO L82 GeneralOperation]: Start isEquivalent. First operand 171 states. Second operand has 160 states, 96 states have (on average 1.21875) internal successors, (117), 100 states have internal predecessors, (117), 48 states have call successors, (48), 16 states have call predecessors, (48), 15 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 11:53:50,504 INFO L74 IsIncluded]: Start isIncluded. First operand 171 states. Second operand has 160 states, 96 states have (on average 1.21875) internal successors, (117), 100 states have internal predecessors, (117), 48 states have call successors, (48), 16 states have call predecessors, (48), 15 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 11:53:50,504 INFO L87 Difference]: Start difference. First operand 171 states. Second operand has 160 states, 96 states have (on average 1.21875) internal successors, (117), 100 states have internal predecessors, (117), 48 states have call successors, (48), 16 states have call predecessors, (48), 15 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 11:53:50,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:53:50,509 INFO L93 Difference]: Finished difference Result 171 states and 229 transitions. [2022-04-27 11:53:50,509 INFO L276 IsEmpty]: Start isEmpty. Operand 171 states and 229 transitions. [2022-04-27 11:53:50,509 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:53:50,509 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:53:50,509 INFO L74 IsIncluded]: Start isIncluded. First operand has 160 states, 96 states have (on average 1.21875) internal successors, (117), 100 states have internal predecessors, (117), 48 states have call successors, (48), 16 states have call predecessors, (48), 15 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) Second operand 171 states. [2022-04-27 11:53:50,510 INFO L87 Difference]: Start difference. First operand has 160 states, 96 states have (on average 1.21875) internal successors, (117), 100 states have internal predecessors, (117), 48 states have call successors, (48), 16 states have call predecessors, (48), 15 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) Second operand 171 states. [2022-04-27 11:53:50,514 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:53:50,514 INFO L93 Difference]: Finished difference Result 171 states and 229 transitions. [2022-04-27 11:53:50,514 INFO L276 IsEmpty]: Start isEmpty. Operand 171 states and 229 transitions. [2022-04-27 11:53:50,514 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:53:50,514 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:53:50,514 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:53:50,514 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:53:50,515 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 160 states, 96 states have (on average 1.21875) internal successors, (117), 100 states have internal predecessors, (117), 48 states have call successors, (48), 16 states have call predecessors, (48), 15 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 11:53:50,518 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 160 states to 160 states and 211 transitions. [2022-04-27 11:53:50,518 INFO L78 Accepts]: Start accepts. Automaton has 160 states and 211 transitions. Word has length 88 [2022-04-27 11:53:50,518 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:53:50,518 INFO L495 AbstractCegarLoop]: Abstraction has 160 states and 211 transitions. [2022-04-27 11:53:50,518 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 2.25) internal successors, (36), 15 states have internal predecessors, (36), 11 states have call successors, (30), 2 states have call predecessors, (30), 1 states have return successors, (27), 9 states have call predecessors, (27), 9 states have call successors, (27) [2022-04-27 11:53:50,518 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 211 transitions. [2022-04-27 11:53:50,519 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-27 11:53:50,519 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:53:50,519 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:53:50,535 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-04-27 11:53:50,734 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:53:50,735 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:53:50,735 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:53:50,735 INFO L85 PathProgramCache]: Analyzing trace with hash 1035282000, now seen corresponding path program 1 times [2022-04-27 11:53:50,735 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:53:50,735 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1797250035] [2022-04-27 11:53:50,735 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:53:50,736 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:53:50,744 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:53:50,745 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [227799893] [2022-04-27 11:53:50,745 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:53:50,745 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:53:50,745 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:53:50,748 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-04-27 11:53:50,749 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-04-27 11:53:50,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:53:50,796 INFO L263 TraceCheckSpWp]: Trace formula consists of 245 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 11:53:50,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:53:50,810 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:53:51,317 INFO L272 TraceCheckUtils]: 0: Hoare triple {5835#true} call ULTIMATE.init(); {5835#true} is VALID [2022-04-27 11:53:51,317 INFO L290 TraceCheckUtils]: 1: Hoare triple {5835#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); {5835#true} is VALID [2022-04-27 11:53:51,317 INFO L290 TraceCheckUtils]: 2: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:51,317 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5835#true} {5835#true} #90#return; {5835#true} is VALID [2022-04-27 11:53:51,317 INFO L272 TraceCheckUtils]: 4: Hoare triple {5835#true} call #t~ret5 := main(); {5835#true} is VALID [2022-04-27 11:53:51,317 INFO L290 TraceCheckUtils]: 5: Hoare triple {5835#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 11:53:51,318 INFO L290 TraceCheckUtils]: 6: Hoare triple {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} assume !false; {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 11:53:51,318 INFO L272 TraceCheckUtils]: 7: Hoare triple {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:51,318 INFO L290 TraceCheckUtils]: 8: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:51,318 INFO L290 TraceCheckUtils]: 9: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:51,318 INFO L290 TraceCheckUtils]: 10: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:51,318 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {5835#true} {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #76#return; {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 11:53:51,319 INFO L272 TraceCheckUtils]: 12: Hoare triple {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:51,319 INFO L290 TraceCheckUtils]: 13: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:51,319 INFO L290 TraceCheckUtils]: 14: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:51,319 INFO L290 TraceCheckUtils]: 15: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:51,319 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5835#true} {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #78#return; {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 11:53:51,319 INFO L272 TraceCheckUtils]: 17: Hoare triple {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:51,319 INFO L290 TraceCheckUtils]: 18: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:51,319 INFO L290 TraceCheckUtils]: 19: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:51,319 INFO L290 TraceCheckUtils]: 20: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:51,320 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5835#true} {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #80#return; {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 11:53:51,320 INFO L290 TraceCheckUtils]: 22: Hoare triple {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 11:53:51,321 INFO L290 TraceCheckUtils]: 23: Hoare triple {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} assume !false; {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 11:53:51,321 INFO L272 TraceCheckUtils]: 24: Hoare triple {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:51,321 INFO L290 TraceCheckUtils]: 25: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:51,321 INFO L290 TraceCheckUtils]: 26: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:51,321 INFO L290 TraceCheckUtils]: 27: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:51,321 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5835#true} {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #76#return; {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 11:53:51,321 INFO L272 TraceCheckUtils]: 29: Hoare triple {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:51,321 INFO L290 TraceCheckUtils]: 30: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:51,321 INFO L290 TraceCheckUtils]: 31: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:51,321 INFO L290 TraceCheckUtils]: 32: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:51,322 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5835#true} {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #78#return; {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 11:53:51,322 INFO L272 TraceCheckUtils]: 34: Hoare triple {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:51,322 INFO L290 TraceCheckUtils]: 35: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:51,322 INFO L290 TraceCheckUtils]: 36: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:51,322 INFO L290 TraceCheckUtils]: 37: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:51,323 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5835#true} {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #80#return; {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 11:53:51,323 INFO L290 TraceCheckUtils]: 39: Hoare triple {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 11:53:51,323 INFO L290 TraceCheckUtils]: 40: Hoare triple {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} assume !false; {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 11:53:51,324 INFO L272 TraceCheckUtils]: 41: Hoare triple {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:51,324 INFO L290 TraceCheckUtils]: 42: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:51,324 INFO L290 TraceCheckUtils]: 43: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:51,324 INFO L290 TraceCheckUtils]: 44: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:51,324 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5835#true} {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #76#return; {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 11:53:51,324 INFO L272 TraceCheckUtils]: 46: Hoare triple {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:51,324 INFO L290 TraceCheckUtils]: 47: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:51,324 INFO L290 TraceCheckUtils]: 48: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:51,324 INFO L290 TraceCheckUtils]: 49: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:51,325 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5835#true} {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #78#return; {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 11:53:51,325 INFO L272 TraceCheckUtils]: 51: Hoare triple {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:51,325 INFO L290 TraceCheckUtils]: 52: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:51,325 INFO L290 TraceCheckUtils]: 53: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:51,325 INFO L290 TraceCheckUtils]: 54: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:51,325 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5835#true} {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #80#return; {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 11:53:51,326 INFO L290 TraceCheckUtils]: 56: Hoare triple {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} assume !(~r~0 >= ~d~0); {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 11:53:51,326 INFO L290 TraceCheckUtils]: 57: Hoare triple {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} assume !false; {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 11:53:51,326 INFO L272 TraceCheckUtils]: 58: Hoare triple {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:51,326 INFO L290 TraceCheckUtils]: 59: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:51,326 INFO L290 TraceCheckUtils]: 60: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:51,326 INFO L290 TraceCheckUtils]: 61: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:51,327 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5835#true} {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #82#return; {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 11:53:51,327 INFO L272 TraceCheckUtils]: 63: Hoare triple {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:51,327 INFO L290 TraceCheckUtils]: 64: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:51,327 INFO L290 TraceCheckUtils]: 65: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:51,327 INFO L290 TraceCheckUtils]: 66: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:51,327 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5835#true} {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #84#return; {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 11:53:51,328 INFO L290 TraceCheckUtils]: 68: Hoare triple {5959#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 11:53:51,328 INFO L290 TraceCheckUtils]: 69: Hoare triple {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 11:53:51,329 INFO L290 TraceCheckUtils]: 70: Hoare triple {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} assume !false; {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 11:53:51,329 INFO L272 TraceCheckUtils]: 71: Hoare triple {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:51,329 INFO L290 TraceCheckUtils]: 72: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:51,329 INFO L290 TraceCheckUtils]: 73: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:51,329 INFO L290 TraceCheckUtils]: 74: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:51,330 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5835#true} {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #82#return; {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 11:53:51,330 INFO L272 TraceCheckUtils]: 76: Hoare triple {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:51,330 INFO L290 TraceCheckUtils]: 77: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:51,330 INFO L290 TraceCheckUtils]: 78: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:51,330 INFO L290 TraceCheckUtils]: 79: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:51,330 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5835#true} {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #84#return; {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 11:53:51,331 INFO L290 TraceCheckUtils]: 81: Hoare triple {5907#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 11:53:51,331 INFO L290 TraceCheckUtils]: 82: Hoare triple {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 11:53:51,331 INFO L290 TraceCheckUtils]: 83: Hoare triple {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} assume !false; {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 11:53:51,332 INFO L272 TraceCheckUtils]: 84: Hoare triple {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:51,332 INFO L290 TraceCheckUtils]: 85: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:51,332 INFO L290 TraceCheckUtils]: 86: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:51,332 INFO L290 TraceCheckUtils]: 87: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:51,332 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {5835#true} {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #82#return; {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 11:53:51,332 INFO L272 TraceCheckUtils]: 89: Hoare triple {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:51,332 INFO L290 TraceCheckUtils]: 90: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:51,332 INFO L290 TraceCheckUtils]: 91: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:51,332 INFO L290 TraceCheckUtils]: 92: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:51,333 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {5835#true} {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #84#return; {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 11:53:51,333 INFO L290 TraceCheckUtils]: 94: Hoare triple {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} assume !(1 != ~p~0); {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 11:53:51,333 INFO L272 TraceCheckUtils]: 95: Hoare triple {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:51,333 INFO L290 TraceCheckUtils]: 96: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:51,333 INFO L290 TraceCheckUtils]: 97: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:51,333 INFO L290 TraceCheckUtils]: 98: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:51,334 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {5835#true} {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #86#return; {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 11:53:51,334 INFO L272 TraceCheckUtils]: 100: Hoare triple {5855#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {6143#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:53:51,335 INFO L290 TraceCheckUtils]: 101: Hoare triple {6143#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6147#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:53:51,335 INFO L290 TraceCheckUtils]: 102: Hoare triple {6147#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5836#false} is VALID [2022-04-27 11:53:51,335 INFO L290 TraceCheckUtils]: 103: Hoare triple {5836#false} assume !false; {5836#false} is VALID [2022-04-27 11:53:51,335 INFO L134 CoverageAnalysis]: Checked inductivity of 540 backedges. 32 proven. 28 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-27 11:53:51,335 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:53:52,285 INFO L290 TraceCheckUtils]: 103: Hoare triple {5836#false} assume !false; {5836#false} is VALID [2022-04-27 11:53:52,285 INFO L290 TraceCheckUtils]: 102: Hoare triple {6147#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5836#false} is VALID [2022-04-27 11:53:52,285 INFO L290 TraceCheckUtils]: 101: Hoare triple {6143#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6147#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:53:52,286 INFO L272 TraceCheckUtils]: 100: Hoare triple {6163#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {6143#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:53:52,286 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {5835#true} {6163#(= main_~B~0 main_~d~0)} #86#return; {6163#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 11:53:52,286 INFO L290 TraceCheckUtils]: 98: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:52,286 INFO L290 TraceCheckUtils]: 97: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:52,286 INFO L290 TraceCheckUtils]: 96: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:52,286 INFO L272 TraceCheckUtils]: 95: Hoare triple {6163#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:52,287 INFO L290 TraceCheckUtils]: 94: Hoare triple {6163#(= main_~B~0 main_~d~0)} assume !(1 != ~p~0); {6163#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 11:53:52,287 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {5835#true} {6163#(= main_~B~0 main_~d~0)} #84#return; {6163#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 11:53:52,287 INFO L290 TraceCheckUtils]: 92: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:52,287 INFO L290 TraceCheckUtils]: 91: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:52,287 INFO L290 TraceCheckUtils]: 90: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:52,287 INFO L272 TraceCheckUtils]: 89: Hoare triple {6163#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:52,288 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {5835#true} {6163#(= main_~B~0 main_~d~0)} #82#return; {6163#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 11:53:52,288 INFO L290 TraceCheckUtils]: 87: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:52,288 INFO L290 TraceCheckUtils]: 86: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:52,288 INFO L290 TraceCheckUtils]: 85: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:52,288 INFO L272 TraceCheckUtils]: 84: Hoare triple {6163#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:52,288 INFO L290 TraceCheckUtils]: 83: Hoare triple {6163#(= main_~B~0 main_~d~0)} assume !false; {6163#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 11:53:52,289 INFO L290 TraceCheckUtils]: 82: Hoare triple {6163#(= main_~B~0 main_~d~0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6163#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 11:53:52,290 INFO L290 TraceCheckUtils]: 81: Hoare triple {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6163#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 11:53:52,290 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5835#true} {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #84#return; {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 11:53:52,290 INFO L290 TraceCheckUtils]: 79: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:52,290 INFO L290 TraceCheckUtils]: 78: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:52,290 INFO L290 TraceCheckUtils]: 77: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:52,290 INFO L272 TraceCheckUtils]: 76: Hoare triple {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:52,291 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5835#true} {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #82#return; {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 11:53:52,291 INFO L290 TraceCheckUtils]: 74: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:52,291 INFO L290 TraceCheckUtils]: 73: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:52,291 INFO L290 TraceCheckUtils]: 72: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:52,291 INFO L272 TraceCheckUtils]: 71: Hoare triple {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:52,291 INFO L290 TraceCheckUtils]: 70: Hoare triple {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 11:53:52,292 INFO L290 TraceCheckUtils]: 69: Hoare triple {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 11:53:52,294 INFO L290 TraceCheckUtils]: 68: Hoare triple {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 11:53:52,295 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5835#true} {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #84#return; {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 11:53:52,295 INFO L290 TraceCheckUtils]: 66: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:52,295 INFO L290 TraceCheckUtils]: 65: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:52,295 INFO L290 TraceCheckUtils]: 64: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:52,295 INFO L272 TraceCheckUtils]: 63: Hoare triple {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:52,295 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5835#true} {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #82#return; {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 11:53:52,296 INFO L290 TraceCheckUtils]: 61: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:52,296 INFO L290 TraceCheckUtils]: 60: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:52,296 INFO L290 TraceCheckUtils]: 59: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:52,296 INFO L272 TraceCheckUtils]: 58: Hoare triple {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:52,297 INFO L290 TraceCheckUtils]: 57: Hoare triple {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 11:53:52,297 INFO L290 TraceCheckUtils]: 56: Hoare triple {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !(~r~0 >= ~d~0); {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 11:53:52,298 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5835#true} {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #80#return; {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 11:53:52,298 INFO L290 TraceCheckUtils]: 54: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:52,298 INFO L290 TraceCheckUtils]: 53: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:52,298 INFO L290 TraceCheckUtils]: 52: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:52,298 INFO L272 TraceCheckUtils]: 51: Hoare triple {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:52,299 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5835#true} {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #78#return; {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 11:53:52,299 INFO L290 TraceCheckUtils]: 49: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:52,299 INFO L290 TraceCheckUtils]: 48: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:52,299 INFO L290 TraceCheckUtils]: 47: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:52,299 INFO L272 TraceCheckUtils]: 46: Hoare triple {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:52,299 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5835#true} {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #76#return; {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 11:53:52,299 INFO L290 TraceCheckUtils]: 44: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:52,299 INFO L290 TraceCheckUtils]: 43: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:52,299 INFO L290 TraceCheckUtils]: 42: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:52,299 INFO L272 TraceCheckUtils]: 41: Hoare triple {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:52,300 INFO L290 TraceCheckUtils]: 40: Hoare triple {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 11:53:52,302 INFO L290 TraceCheckUtils]: 39: Hoare triple {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6261#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 11:53:52,303 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5835#true} {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #80#return; {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 11:53:52,303 INFO L290 TraceCheckUtils]: 37: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:52,303 INFO L290 TraceCheckUtils]: 36: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:52,303 INFO L290 TraceCheckUtils]: 35: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:52,303 INFO L272 TraceCheckUtils]: 34: Hoare triple {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:52,303 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5835#true} {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #78#return; {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 11:53:52,303 INFO L290 TraceCheckUtils]: 32: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:52,303 INFO L290 TraceCheckUtils]: 31: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:52,304 INFO L290 TraceCheckUtils]: 30: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:52,304 INFO L272 TraceCheckUtils]: 29: Hoare triple {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:52,304 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5835#true} {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #76#return; {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 11:53:52,304 INFO L290 TraceCheckUtils]: 27: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:52,304 INFO L290 TraceCheckUtils]: 26: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:52,304 INFO L290 TraceCheckUtils]: 25: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:52,304 INFO L272 TraceCheckUtils]: 24: Hoare triple {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:52,305 INFO L290 TraceCheckUtils]: 23: Hoare triple {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 11:53:52,306 INFO L290 TraceCheckUtils]: 22: Hoare triple {6163#(= main_~B~0 main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6221#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 11:53:52,306 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5835#true} {6163#(= main_~B~0 main_~d~0)} #80#return; {6163#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 11:53:52,306 INFO L290 TraceCheckUtils]: 20: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:52,306 INFO L290 TraceCheckUtils]: 19: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:52,306 INFO L290 TraceCheckUtils]: 18: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:52,307 INFO L272 TraceCheckUtils]: 17: Hoare triple {6163#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:52,307 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5835#true} {6163#(= main_~B~0 main_~d~0)} #78#return; {6163#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 11:53:52,307 INFO L290 TraceCheckUtils]: 15: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:52,307 INFO L290 TraceCheckUtils]: 14: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:52,307 INFO L290 TraceCheckUtils]: 13: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:52,307 INFO L272 TraceCheckUtils]: 12: Hoare triple {6163#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:52,308 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {5835#true} {6163#(= main_~B~0 main_~d~0)} #76#return; {6163#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 11:53:52,308 INFO L290 TraceCheckUtils]: 10: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:52,308 INFO L290 TraceCheckUtils]: 9: Hoare triple {5835#true} assume !(0 == ~cond); {5835#true} is VALID [2022-04-27 11:53:52,308 INFO L290 TraceCheckUtils]: 8: Hoare triple {5835#true} ~cond := #in~cond; {5835#true} is VALID [2022-04-27 11:53:52,308 INFO L272 TraceCheckUtils]: 7: Hoare triple {6163#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5835#true} is VALID [2022-04-27 11:53:52,308 INFO L290 TraceCheckUtils]: 6: Hoare triple {6163#(= main_~B~0 main_~d~0)} assume !false; {6163#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 11:53:52,309 INFO L290 TraceCheckUtils]: 5: Hoare triple {5835#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6163#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 11:53:52,309 INFO L272 TraceCheckUtils]: 4: Hoare triple {5835#true} call #t~ret5 := main(); {5835#true} is VALID [2022-04-27 11:53:52,309 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5835#true} {5835#true} #90#return; {5835#true} is VALID [2022-04-27 11:53:52,309 INFO L290 TraceCheckUtils]: 2: Hoare triple {5835#true} assume true; {5835#true} is VALID [2022-04-27 11:53:52,309 INFO L290 TraceCheckUtils]: 1: Hoare triple {5835#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); {5835#true} is VALID [2022-04-27 11:53:52,309 INFO L272 TraceCheckUtils]: 0: Hoare triple {5835#true} call ULTIMATE.init(); {5835#true} is VALID [2022-04-27 11:53:52,310 INFO L134 CoverageAnalysis]: Checked inductivity of 540 backedges. 32 proven. 28 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-27 11:53:52,310 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:53:52,310 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1797250035] [2022-04-27 11:53:52,310 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:53:52,310 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [227799893] [2022-04-27 11:53:52,310 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [227799893] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:53:52,310 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:53:52,310 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-27 11:53:52,311 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1463028609] [2022-04-27 11:53:52,311 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:53:52,311 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.8) internal successors, (38), 9 states have internal predecessors, (38), 7 states have call successors, (36), 2 states have call predecessors, (36), 1 states have return successors, (33), 7 states have call predecessors, (33), 7 states have call successors, (33) Word has length 104 [2022-04-27 11:53:52,312 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:53:52,312 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.8) internal successors, (38), 9 states have internal predecessors, (38), 7 states have call successors, (36), 2 states have call predecessors, (36), 1 states have return successors, (33), 7 states have call predecessors, (33), 7 states have call successors, (33) [2022-04-27 11:53:52,413 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:53:52,413 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 11:53:52,413 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:53:52,414 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 11:53:52,414 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=70, Unknown=0, NotChecked=0, Total=90 [2022-04-27 11:53:52,414 INFO L87 Difference]: Start difference. First operand 160 states and 211 transitions. Second operand has 10 states, 10 states have (on average 3.8) internal successors, (38), 9 states have internal predecessors, (38), 7 states have call successors, (36), 2 states have call predecessors, (36), 1 states have return successors, (33), 7 states have call predecessors, (33), 7 states have call successors, (33) [2022-04-27 11:53:53,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:53:53,661 INFO L93 Difference]: Finished difference Result 176 states and 233 transitions. [2022-04-27 11:53:53,661 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 11:53:53,661 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.8) internal successors, (38), 9 states have internal predecessors, (38), 7 states have call successors, (36), 2 states have call predecessors, (36), 1 states have return successors, (33), 7 states have call predecessors, (33), 7 states have call successors, (33) Word has length 104 [2022-04-27 11:53:53,661 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:53:53,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.8) internal successors, (38), 9 states have internal predecessors, (38), 7 states have call successors, (36), 2 states have call predecessors, (36), 1 states have return successors, (33), 7 states have call predecessors, (33), 7 states have call successors, (33) [2022-04-27 11:53:53,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 87 transitions. [2022-04-27 11:53:53,663 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.8) internal successors, (38), 9 states have internal predecessors, (38), 7 states have call successors, (36), 2 states have call predecessors, (36), 1 states have return successors, (33), 7 states have call predecessors, (33), 7 states have call successors, (33) [2022-04-27 11:53:53,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 87 transitions. [2022-04-27 11:53:53,665 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 87 transitions. [2022-04-27 11:53:53,739 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:53:53,742 INFO L225 Difference]: With dead ends: 176 [2022-04-27 11:53:53,742 INFO L226 Difference]: Without dead ends: 168 [2022-04-27 11:53:53,743 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 208 GetRequests, 195 SyntacticMatches, 4 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2022-04-27 11:53:53,743 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 7 mSDsluCounter, 224 mSDsCounter, 0 mSdLazyCounter, 226 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 282 SdHoareTripleChecker+Invalid, 226 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 226 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-27 11:53:53,744 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 282 Invalid, 226 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 226 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-27 11:53:53,744 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 168 states. [2022-04-27 11:53:53,847 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 168 to 168. [2022-04-27 11:53:53,848 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:53:53,848 INFO L82 GeneralOperation]: Start isEquivalent. First operand 168 states. Second operand has 168 states, 100 states have (on average 1.21) internal successors, (121), 104 states have internal predecessors, (121), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (50), 47 states have call predecessors, (50), 50 states have call successors, (50) [2022-04-27 11:53:53,848 INFO L74 IsIncluded]: Start isIncluded. First operand 168 states. Second operand has 168 states, 100 states have (on average 1.21) internal successors, (121), 104 states have internal predecessors, (121), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (50), 47 states have call predecessors, (50), 50 states have call successors, (50) [2022-04-27 11:53:53,848 INFO L87 Difference]: Start difference. First operand 168 states. Second operand has 168 states, 100 states have (on average 1.21) internal successors, (121), 104 states have internal predecessors, (121), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (50), 47 states have call predecessors, (50), 50 states have call successors, (50) [2022-04-27 11:53:53,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:53:53,852 INFO L93 Difference]: Finished difference Result 168 states and 223 transitions. [2022-04-27 11:53:53,852 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 223 transitions. [2022-04-27 11:53:53,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:53:53,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:53:53,853 INFO L74 IsIncluded]: Start isIncluded. First operand has 168 states, 100 states have (on average 1.21) internal successors, (121), 104 states have internal predecessors, (121), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (50), 47 states have call predecessors, (50), 50 states have call successors, (50) Second operand 168 states. [2022-04-27 11:53:53,853 INFO L87 Difference]: Start difference. First operand has 168 states, 100 states have (on average 1.21) internal successors, (121), 104 states have internal predecessors, (121), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (50), 47 states have call predecessors, (50), 50 states have call successors, (50) Second operand 168 states. [2022-04-27 11:53:53,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:53:53,857 INFO L93 Difference]: Finished difference Result 168 states and 223 transitions. [2022-04-27 11:53:53,857 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 223 transitions. [2022-04-27 11:53:53,857 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:53:53,857 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:53:53,858 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:53:53,858 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:53:53,858 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 168 states, 100 states have (on average 1.21) internal successors, (121), 104 states have internal predecessors, (121), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (50), 47 states have call predecessors, (50), 50 states have call successors, (50) [2022-04-27 11:53:53,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 168 states to 168 states and 223 transitions. [2022-04-27 11:53:53,862 INFO L78 Accepts]: Start accepts. Automaton has 168 states and 223 transitions. Word has length 104 [2022-04-27 11:53:53,863 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:53:53,863 INFO L495 AbstractCegarLoop]: Abstraction has 168 states and 223 transitions. [2022-04-27 11:53:53,863 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.8) internal successors, (38), 9 states have internal predecessors, (38), 7 states have call successors, (36), 2 states have call predecessors, (36), 1 states have return successors, (33), 7 states have call predecessors, (33), 7 states have call successors, (33) [2022-04-27 11:53:53,863 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 223 transitions. [2022-04-27 11:53:53,864 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 118 [2022-04-27 11:53:53,864 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:53:53,864 INFO L195 NwaCegarLoop]: trace histogram [19, 18, 18, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:53:53,887 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-27 11:53:54,080 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-27 11:53:54,081 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:53:54,081 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:53:54,082 INFO L85 PathProgramCache]: Analyzing trace with hash -373074263, now seen corresponding path program 2 times [2022-04-27 11:53:54,082 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:53:54,082 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [773805344] [2022-04-27 11:53:54,082 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:53:54,082 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:53:54,110 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:53:54,110 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1928255366] [2022-04-27 11:53:54,110 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:53:54,110 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:53:54,110 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:53:54,119 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-04-27 11:53:54,120 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-04-27 11:53:54,185 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:53:54,186 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:53:54,187 INFO L263 TraceCheckSpWp]: Trace formula consists of 274 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 11:53:54,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:53:54,203 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:53:54,456 INFO L272 TraceCheckUtils]: 0: Hoare triple {7297#true} call ULTIMATE.init(); {7297#true} is VALID [2022-04-27 11:53:54,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {7297#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); {7297#true} is VALID [2022-04-27 11:53:54,456 INFO L290 TraceCheckUtils]: 2: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:54,456 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7297#true} {7297#true} #90#return; {7297#true} is VALID [2022-04-27 11:53:54,456 INFO L272 TraceCheckUtils]: 4: Hoare triple {7297#true} call #t~ret5 := main(); {7297#true} is VALID [2022-04-27 11:53:54,457 INFO L290 TraceCheckUtils]: 5: Hoare triple {7297#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {7317#(= main_~p~0 1)} is VALID [2022-04-27 11:53:54,457 INFO L290 TraceCheckUtils]: 6: Hoare triple {7317#(= main_~p~0 1)} assume !false; {7317#(= main_~p~0 1)} is VALID [2022-04-27 11:53:54,457 INFO L272 TraceCheckUtils]: 7: Hoare triple {7317#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:54,457 INFO L290 TraceCheckUtils]: 8: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:54,457 INFO L290 TraceCheckUtils]: 9: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:54,457 INFO L290 TraceCheckUtils]: 10: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:54,458 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {7297#true} {7317#(= main_~p~0 1)} #76#return; {7317#(= main_~p~0 1)} is VALID [2022-04-27 11:53:54,458 INFO L272 TraceCheckUtils]: 12: Hoare triple {7317#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:54,458 INFO L290 TraceCheckUtils]: 13: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:54,458 INFO L290 TraceCheckUtils]: 14: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:54,458 INFO L290 TraceCheckUtils]: 15: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:54,458 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7297#true} {7317#(= main_~p~0 1)} #78#return; {7317#(= main_~p~0 1)} is VALID [2022-04-27 11:53:54,458 INFO L272 TraceCheckUtils]: 17: Hoare triple {7317#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:54,458 INFO L290 TraceCheckUtils]: 18: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:54,458 INFO L290 TraceCheckUtils]: 19: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:54,458 INFO L290 TraceCheckUtils]: 20: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:54,459 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7297#true} {7317#(= main_~p~0 1)} #80#return; {7317#(= main_~p~0 1)} is VALID [2022-04-27 11:53:54,459 INFO L290 TraceCheckUtils]: 22: Hoare triple {7317#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7369#(= main_~p~0 2)} is VALID [2022-04-27 11:53:54,460 INFO L290 TraceCheckUtils]: 23: Hoare triple {7369#(= main_~p~0 2)} assume !false; {7369#(= main_~p~0 2)} is VALID [2022-04-27 11:53:54,460 INFO L272 TraceCheckUtils]: 24: Hoare triple {7369#(= main_~p~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:54,460 INFO L290 TraceCheckUtils]: 25: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:54,460 INFO L290 TraceCheckUtils]: 26: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:54,460 INFO L290 TraceCheckUtils]: 27: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:54,460 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7297#true} {7369#(= main_~p~0 2)} #76#return; {7369#(= main_~p~0 2)} is VALID [2022-04-27 11:53:54,460 INFO L272 TraceCheckUtils]: 29: Hoare triple {7369#(= main_~p~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:54,460 INFO L290 TraceCheckUtils]: 30: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:54,460 INFO L290 TraceCheckUtils]: 31: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:54,461 INFO L290 TraceCheckUtils]: 32: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:54,461 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7297#true} {7369#(= main_~p~0 2)} #78#return; {7369#(= main_~p~0 2)} is VALID [2022-04-27 11:53:54,461 INFO L272 TraceCheckUtils]: 34: Hoare triple {7369#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:54,461 INFO L290 TraceCheckUtils]: 35: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:54,461 INFO L290 TraceCheckUtils]: 36: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:54,461 INFO L290 TraceCheckUtils]: 37: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:54,462 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7297#true} {7369#(= main_~p~0 2)} #80#return; {7369#(= main_~p~0 2)} is VALID [2022-04-27 11:53:54,462 INFO L290 TraceCheckUtils]: 39: Hoare triple {7369#(= main_~p~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7421#(= main_~p~0 4)} is VALID [2022-04-27 11:53:54,462 INFO L290 TraceCheckUtils]: 40: Hoare triple {7421#(= main_~p~0 4)} assume !false; {7421#(= main_~p~0 4)} is VALID [2022-04-27 11:53:54,462 INFO L272 TraceCheckUtils]: 41: Hoare triple {7421#(= main_~p~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:54,462 INFO L290 TraceCheckUtils]: 42: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:54,463 INFO L290 TraceCheckUtils]: 43: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:54,463 INFO L290 TraceCheckUtils]: 44: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:54,463 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7297#true} {7421#(= main_~p~0 4)} #76#return; {7421#(= main_~p~0 4)} is VALID [2022-04-27 11:53:54,463 INFO L272 TraceCheckUtils]: 46: Hoare triple {7421#(= main_~p~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:54,463 INFO L290 TraceCheckUtils]: 47: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:54,463 INFO L290 TraceCheckUtils]: 48: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:54,463 INFO L290 TraceCheckUtils]: 49: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:54,464 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7297#true} {7421#(= main_~p~0 4)} #78#return; {7421#(= main_~p~0 4)} is VALID [2022-04-27 11:53:54,464 INFO L272 TraceCheckUtils]: 51: Hoare triple {7421#(= main_~p~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:54,464 INFO L290 TraceCheckUtils]: 52: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:54,464 INFO L290 TraceCheckUtils]: 53: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:54,464 INFO L290 TraceCheckUtils]: 54: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:54,464 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7297#true} {7421#(= main_~p~0 4)} #80#return; {7421#(= main_~p~0 4)} is VALID [2022-04-27 11:53:54,465 INFO L290 TraceCheckUtils]: 56: Hoare triple {7421#(= main_~p~0 4)} assume !(~r~0 >= ~d~0); {7421#(= main_~p~0 4)} is VALID [2022-04-27 11:53:54,465 INFO L290 TraceCheckUtils]: 57: Hoare triple {7421#(= main_~p~0 4)} assume !false; {7421#(= main_~p~0 4)} is VALID [2022-04-27 11:53:54,465 INFO L272 TraceCheckUtils]: 58: Hoare triple {7421#(= main_~p~0 4)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:54,465 INFO L290 TraceCheckUtils]: 59: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:54,465 INFO L290 TraceCheckUtils]: 60: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:54,465 INFO L290 TraceCheckUtils]: 61: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:54,465 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7297#true} {7421#(= main_~p~0 4)} #82#return; {7421#(= main_~p~0 4)} is VALID [2022-04-27 11:53:54,466 INFO L272 TraceCheckUtils]: 63: Hoare triple {7421#(= main_~p~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:54,466 INFO L290 TraceCheckUtils]: 64: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:54,466 INFO L290 TraceCheckUtils]: 65: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:54,466 INFO L290 TraceCheckUtils]: 66: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:54,466 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7297#true} {7421#(= main_~p~0 4)} #84#return; {7421#(= main_~p~0 4)} is VALID [2022-04-27 11:53:54,467 INFO L290 TraceCheckUtils]: 68: Hoare triple {7421#(= main_~p~0 4)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7369#(= main_~p~0 2)} is VALID [2022-04-27 11:53:54,467 INFO L290 TraceCheckUtils]: 69: Hoare triple {7369#(= main_~p~0 2)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7369#(= main_~p~0 2)} is VALID [2022-04-27 11:53:54,467 INFO L290 TraceCheckUtils]: 70: Hoare triple {7369#(= main_~p~0 2)} assume !false; {7369#(= main_~p~0 2)} is VALID [2022-04-27 11:53:54,467 INFO L272 TraceCheckUtils]: 71: Hoare triple {7369#(= main_~p~0 2)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:54,467 INFO L290 TraceCheckUtils]: 72: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:54,467 INFO L290 TraceCheckUtils]: 73: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:54,467 INFO L290 TraceCheckUtils]: 74: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:54,468 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {7297#true} {7369#(= main_~p~0 2)} #82#return; {7369#(= main_~p~0 2)} is VALID [2022-04-27 11:53:54,468 INFO L272 TraceCheckUtils]: 76: Hoare triple {7369#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:54,468 INFO L290 TraceCheckUtils]: 77: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:54,468 INFO L290 TraceCheckUtils]: 78: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:54,468 INFO L290 TraceCheckUtils]: 79: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:54,468 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {7297#true} {7369#(= main_~p~0 2)} #84#return; {7369#(= main_~p~0 2)} is VALID [2022-04-27 11:53:54,469 INFO L290 TraceCheckUtils]: 81: Hoare triple {7369#(= main_~p~0 2)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7317#(= main_~p~0 1)} is VALID [2022-04-27 11:53:54,469 INFO L290 TraceCheckUtils]: 82: Hoare triple {7317#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7317#(= main_~p~0 1)} is VALID [2022-04-27 11:53:54,469 INFO L290 TraceCheckUtils]: 83: Hoare triple {7317#(= main_~p~0 1)} assume !false; {7317#(= main_~p~0 1)} is VALID [2022-04-27 11:53:54,469 INFO L272 TraceCheckUtils]: 84: Hoare triple {7317#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:54,470 INFO L290 TraceCheckUtils]: 85: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:54,470 INFO L290 TraceCheckUtils]: 86: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:54,470 INFO L290 TraceCheckUtils]: 87: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:54,470 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {7297#true} {7317#(= main_~p~0 1)} #82#return; {7317#(= main_~p~0 1)} is VALID [2022-04-27 11:53:54,470 INFO L272 TraceCheckUtils]: 89: Hoare triple {7317#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:54,470 INFO L290 TraceCheckUtils]: 90: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:54,470 INFO L290 TraceCheckUtils]: 91: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:54,470 INFO L290 TraceCheckUtils]: 92: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:54,471 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {7297#true} {7317#(= main_~p~0 1)} #84#return; {7317#(= main_~p~0 1)} is VALID [2022-04-27 11:53:54,471 INFO L290 TraceCheckUtils]: 94: Hoare triple {7317#(= main_~p~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7587#(<= main_~p~0 0)} is VALID [2022-04-27 11:53:54,471 INFO L290 TraceCheckUtils]: 95: Hoare triple {7587#(<= main_~p~0 0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7587#(<= main_~p~0 0)} is VALID [2022-04-27 11:53:54,472 INFO L290 TraceCheckUtils]: 96: Hoare triple {7587#(<= main_~p~0 0)} assume !false; {7587#(<= main_~p~0 0)} is VALID [2022-04-27 11:53:54,472 INFO L272 TraceCheckUtils]: 97: Hoare triple {7587#(<= main_~p~0 0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:54,472 INFO L290 TraceCheckUtils]: 98: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:54,472 INFO L290 TraceCheckUtils]: 99: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:54,472 INFO L290 TraceCheckUtils]: 100: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:54,473 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {7297#true} {7587#(<= main_~p~0 0)} #82#return; {7587#(<= main_~p~0 0)} is VALID [2022-04-27 11:53:54,473 INFO L272 TraceCheckUtils]: 102: Hoare triple {7587#(<= main_~p~0 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:54,473 INFO L290 TraceCheckUtils]: 103: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:54,473 INFO L290 TraceCheckUtils]: 104: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:54,473 INFO L290 TraceCheckUtils]: 105: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:54,473 INFO L284 TraceCheckUtils]: 106: Hoare quadruple {7297#true} {7587#(<= main_~p~0 0)} #84#return; {7587#(<= main_~p~0 0)} is VALID [2022-04-27 11:53:54,473 INFO L290 TraceCheckUtils]: 107: Hoare triple {7587#(<= main_~p~0 0)} assume !(1 != ~p~0); {7298#false} is VALID [2022-04-27 11:53:54,474 INFO L272 TraceCheckUtils]: 108: Hoare triple {7298#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7298#false} is VALID [2022-04-27 11:53:54,474 INFO L290 TraceCheckUtils]: 109: Hoare triple {7298#false} ~cond := #in~cond; {7298#false} is VALID [2022-04-27 11:53:54,474 INFO L290 TraceCheckUtils]: 110: Hoare triple {7298#false} assume !(0 == ~cond); {7298#false} is VALID [2022-04-27 11:53:54,474 INFO L290 TraceCheckUtils]: 111: Hoare triple {7298#false} assume true; {7298#false} is VALID [2022-04-27 11:53:54,474 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {7298#false} {7298#false} #86#return; {7298#false} is VALID [2022-04-27 11:53:54,474 INFO L272 TraceCheckUtils]: 113: Hoare triple {7298#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {7298#false} is VALID [2022-04-27 11:53:54,474 INFO L290 TraceCheckUtils]: 114: Hoare triple {7298#false} ~cond := #in~cond; {7298#false} is VALID [2022-04-27 11:53:54,474 INFO L290 TraceCheckUtils]: 115: Hoare triple {7298#false} assume 0 == ~cond; {7298#false} is VALID [2022-04-27 11:53:54,474 INFO L290 TraceCheckUtils]: 116: Hoare triple {7298#false} assume !false; {7298#false} is VALID [2022-04-27 11:53:54,474 INFO L134 CoverageAnalysis]: Checked inductivity of 690 backedges. 102 proven. 42 refuted. 0 times theorem prover too weak. 546 trivial. 0 not checked. [2022-04-27 11:53:54,474 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:53:55,281 INFO L290 TraceCheckUtils]: 116: Hoare triple {7298#false} assume !false; {7298#false} is VALID [2022-04-27 11:53:55,281 INFO L290 TraceCheckUtils]: 115: Hoare triple {7298#false} assume 0 == ~cond; {7298#false} is VALID [2022-04-27 11:53:55,282 INFO L290 TraceCheckUtils]: 114: Hoare triple {7298#false} ~cond := #in~cond; {7298#false} is VALID [2022-04-27 11:53:55,282 INFO L272 TraceCheckUtils]: 113: Hoare triple {7298#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {7298#false} is VALID [2022-04-27 11:53:55,282 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {7297#true} {7298#false} #86#return; {7298#false} is VALID [2022-04-27 11:53:55,282 INFO L290 TraceCheckUtils]: 111: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:55,282 INFO L290 TraceCheckUtils]: 110: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:55,282 INFO L290 TraceCheckUtils]: 109: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:55,282 INFO L272 TraceCheckUtils]: 108: Hoare triple {7298#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:55,282 INFO L290 TraceCheckUtils]: 107: Hoare triple {7587#(<= main_~p~0 0)} assume !(1 != ~p~0); {7298#false} is VALID [2022-04-27 11:53:55,282 INFO L284 TraceCheckUtils]: 106: Hoare quadruple {7297#true} {7587#(<= main_~p~0 0)} #84#return; {7587#(<= main_~p~0 0)} is VALID [2022-04-27 11:53:55,283 INFO L290 TraceCheckUtils]: 105: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:55,283 INFO L290 TraceCheckUtils]: 104: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:55,283 INFO L290 TraceCheckUtils]: 103: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:55,283 INFO L272 TraceCheckUtils]: 102: Hoare triple {7587#(<= main_~p~0 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:55,283 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {7297#true} {7587#(<= main_~p~0 0)} #82#return; {7587#(<= main_~p~0 0)} is VALID [2022-04-27 11:53:55,283 INFO L290 TraceCheckUtils]: 100: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:55,284 INFO L290 TraceCheckUtils]: 99: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:55,284 INFO L290 TraceCheckUtils]: 98: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:55,284 INFO L272 TraceCheckUtils]: 97: Hoare triple {7587#(<= main_~p~0 0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:55,284 INFO L290 TraceCheckUtils]: 96: Hoare triple {7587#(<= main_~p~0 0)} assume !false; {7587#(<= main_~p~0 0)} is VALID [2022-04-27 11:53:55,284 INFO L290 TraceCheckUtils]: 95: Hoare triple {7587#(<= main_~p~0 0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7587#(<= main_~p~0 0)} is VALID [2022-04-27 11:53:55,285 INFO L290 TraceCheckUtils]: 94: Hoare triple {7720#(<= (div main_~p~0 2) 0)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7587#(<= main_~p~0 0)} is VALID [2022-04-27 11:53:55,285 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {7297#true} {7720#(<= (div main_~p~0 2) 0)} #84#return; {7720#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 11:53:55,285 INFO L290 TraceCheckUtils]: 92: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:55,285 INFO L290 TraceCheckUtils]: 91: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:55,285 INFO L290 TraceCheckUtils]: 90: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:55,286 INFO L272 TraceCheckUtils]: 89: Hoare triple {7720#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:55,286 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {7297#true} {7720#(<= (div main_~p~0 2) 0)} #82#return; {7720#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 11:53:55,286 INFO L290 TraceCheckUtils]: 87: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:55,286 INFO L290 TraceCheckUtils]: 86: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:55,286 INFO L290 TraceCheckUtils]: 85: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:55,286 INFO L272 TraceCheckUtils]: 84: Hoare triple {7720#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:55,286 INFO L290 TraceCheckUtils]: 83: Hoare triple {7720#(<= (div main_~p~0 2) 0)} assume !false; {7720#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 11:53:55,287 INFO L290 TraceCheckUtils]: 82: Hoare triple {7720#(<= (div main_~p~0 2) 0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7720#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 11:53:55,288 INFO L290 TraceCheckUtils]: 81: Hoare triple {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7720#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 11:53:55,288 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {7297#true} {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #84#return; {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 11:53:55,288 INFO L290 TraceCheckUtils]: 79: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:55,288 INFO L290 TraceCheckUtils]: 78: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:55,288 INFO L290 TraceCheckUtils]: 77: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:55,288 INFO L272 TraceCheckUtils]: 76: Hoare triple {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:55,289 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {7297#true} {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #82#return; {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 11:53:55,289 INFO L290 TraceCheckUtils]: 74: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:55,289 INFO L290 TraceCheckUtils]: 73: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:55,289 INFO L290 TraceCheckUtils]: 72: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:55,289 INFO L272 TraceCheckUtils]: 71: Hoare triple {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:55,289 INFO L290 TraceCheckUtils]: 70: Hoare triple {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} assume !false; {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 11:53:55,289 INFO L290 TraceCheckUtils]: 69: Hoare triple {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 11:53:55,290 INFO L290 TraceCheckUtils]: 68: Hoare triple {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 11:53:55,291 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7297#true} {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #84#return; {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 11:53:55,291 INFO L290 TraceCheckUtils]: 66: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:55,291 INFO L290 TraceCheckUtils]: 65: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:55,291 INFO L290 TraceCheckUtils]: 64: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:55,291 INFO L272 TraceCheckUtils]: 63: Hoare triple {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:55,292 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7297#true} {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #82#return; {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 11:53:55,292 INFO L290 TraceCheckUtils]: 61: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:55,292 INFO L290 TraceCheckUtils]: 60: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:55,292 INFO L290 TraceCheckUtils]: 59: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:55,292 INFO L272 TraceCheckUtils]: 58: Hoare triple {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:55,292 INFO L290 TraceCheckUtils]: 57: Hoare triple {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} assume !false; {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 11:53:55,292 INFO L290 TraceCheckUtils]: 56: Hoare triple {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} assume !(~r~0 >= ~d~0); {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 11:53:55,293 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7297#true} {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #80#return; {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 11:53:55,293 INFO L290 TraceCheckUtils]: 54: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:55,293 INFO L290 TraceCheckUtils]: 53: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:55,293 INFO L290 TraceCheckUtils]: 52: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:55,293 INFO L272 TraceCheckUtils]: 51: Hoare triple {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:55,293 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7297#true} {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #78#return; {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 11:53:55,293 INFO L290 TraceCheckUtils]: 49: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:55,293 INFO L290 TraceCheckUtils]: 48: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:55,294 INFO L290 TraceCheckUtils]: 47: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:55,294 INFO L272 TraceCheckUtils]: 46: Hoare triple {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:55,294 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7297#true} {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #76#return; {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 11:53:55,294 INFO L290 TraceCheckUtils]: 44: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:55,294 INFO L290 TraceCheckUtils]: 43: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:55,294 INFO L290 TraceCheckUtils]: 42: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:55,294 INFO L272 TraceCheckUtils]: 41: Hoare triple {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:55,294 INFO L290 TraceCheckUtils]: 40: Hoare triple {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} assume !false; {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 11:53:55,295 INFO L290 TraceCheckUtils]: 39: Hoare triple {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7800#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 11:53:55,296 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7297#true} {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #80#return; {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 11:53:55,296 INFO L290 TraceCheckUtils]: 37: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:55,296 INFO L290 TraceCheckUtils]: 36: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:55,296 INFO L290 TraceCheckUtils]: 35: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:55,296 INFO L272 TraceCheckUtils]: 34: Hoare triple {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:55,296 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7297#true} {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #78#return; {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 11:53:55,296 INFO L290 TraceCheckUtils]: 32: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:55,296 INFO L290 TraceCheckUtils]: 31: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:55,296 INFO L290 TraceCheckUtils]: 30: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:55,296 INFO L272 TraceCheckUtils]: 29: Hoare triple {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:55,297 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7297#true} {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #76#return; {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 11:53:55,297 INFO L290 TraceCheckUtils]: 27: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:55,297 INFO L290 TraceCheckUtils]: 26: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:55,297 INFO L290 TraceCheckUtils]: 25: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:55,297 INFO L272 TraceCheckUtils]: 24: Hoare triple {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:55,297 INFO L290 TraceCheckUtils]: 23: Hoare triple {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} assume !false; {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 11:53:55,298 INFO L290 TraceCheckUtils]: 22: Hoare triple {7720#(<= (div main_~p~0 2) 0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7760#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 11:53:55,298 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7297#true} {7720#(<= (div main_~p~0 2) 0)} #80#return; {7720#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 11:53:55,298 INFO L290 TraceCheckUtils]: 20: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:55,298 INFO L290 TraceCheckUtils]: 19: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:55,298 INFO L290 TraceCheckUtils]: 18: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:55,298 INFO L272 TraceCheckUtils]: 17: Hoare triple {7720#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:55,299 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7297#true} {7720#(<= (div main_~p~0 2) 0)} #78#return; {7720#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 11:53:55,299 INFO L290 TraceCheckUtils]: 15: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:55,299 INFO L290 TraceCheckUtils]: 14: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:55,299 INFO L290 TraceCheckUtils]: 13: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:55,299 INFO L272 TraceCheckUtils]: 12: Hoare triple {7720#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:55,299 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {7297#true} {7720#(<= (div main_~p~0 2) 0)} #76#return; {7720#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 11:53:55,300 INFO L290 TraceCheckUtils]: 10: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:55,300 INFO L290 TraceCheckUtils]: 9: Hoare triple {7297#true} assume !(0 == ~cond); {7297#true} is VALID [2022-04-27 11:53:55,300 INFO L290 TraceCheckUtils]: 8: Hoare triple {7297#true} ~cond := #in~cond; {7297#true} is VALID [2022-04-27 11:53:55,300 INFO L272 TraceCheckUtils]: 7: Hoare triple {7720#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7297#true} is VALID [2022-04-27 11:53:55,300 INFO L290 TraceCheckUtils]: 6: Hoare triple {7720#(<= (div main_~p~0 2) 0)} assume !false; {7720#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 11:53:55,300 INFO L290 TraceCheckUtils]: 5: Hoare triple {7297#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {7720#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 11:53:55,300 INFO L272 TraceCheckUtils]: 4: Hoare triple {7297#true} call #t~ret5 := main(); {7297#true} is VALID [2022-04-27 11:53:55,300 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7297#true} {7297#true} #90#return; {7297#true} is VALID [2022-04-27 11:53:55,300 INFO L290 TraceCheckUtils]: 2: Hoare triple {7297#true} assume true; {7297#true} is VALID [2022-04-27 11:53:55,300 INFO L290 TraceCheckUtils]: 1: Hoare triple {7297#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); {7297#true} is VALID [2022-04-27 11:53:55,301 INFO L272 TraceCheckUtils]: 0: Hoare triple {7297#true} call ULTIMATE.init(); {7297#true} is VALID [2022-04-27 11:53:55,301 INFO L134 CoverageAnalysis]: Checked inductivity of 690 backedges. 63 proven. 15 refuted. 0 times theorem prover too weak. 612 trivial. 0 not checked. [2022-04-27 11:53:55,301 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:53:55,301 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [773805344] [2022-04-27 11:53:55,301 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:53:55,301 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1928255366] [2022-04-27 11:53:55,301 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1928255366] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:53:55,301 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:53:55,301 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2022-04-27 11:53:55,301 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1150645328] [2022-04-27 11:53:55,302 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:53:55,302 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.777777777777778) internal successors, (43), 9 states have internal predecessors, (43), 9 states have call successors, (37), 2 states have call predecessors, (37), 2 states have return successors, (35), 9 states have call predecessors, (35), 9 states have call successors, (35) Word has length 117 [2022-04-27 11:53:55,302 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:53:55,302 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.777777777777778) internal successors, (43), 9 states have internal predecessors, (43), 9 states have call successors, (37), 2 states have call predecessors, (37), 2 states have return successors, (35), 9 states have call predecessors, (35), 9 states have call successors, (35) [2022-04-27 11:53:55,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:53:55,392 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 11:53:55,392 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:53:55,392 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 11:53:55,392 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-27 11:53:55,393 INFO L87 Difference]: Start difference. First operand 168 states and 223 transitions. Second operand has 9 states, 9 states have (on average 4.777777777777778) internal successors, (43), 9 states have internal predecessors, (43), 9 states have call successors, (37), 2 states have call predecessors, (37), 2 states have return successors, (35), 9 states have call predecessors, (35), 9 states have call successors, (35) [2022-04-27 11:53:55,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:53:55,761 INFO L93 Difference]: Finished difference Result 197 states and 260 transitions. [2022-04-27 11:53:55,761 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 11:53:55,761 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.777777777777778) internal successors, (43), 9 states have internal predecessors, (43), 9 states have call successors, (37), 2 states have call predecessors, (37), 2 states have return successors, (35), 9 states have call predecessors, (35), 9 states have call successors, (35) Word has length 117 [2022-04-27 11:53:55,761 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:53:55,761 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.777777777777778) internal successors, (43), 9 states have internal predecessors, (43), 9 states have call successors, (37), 2 states have call predecessors, (37), 2 states have return successors, (35), 9 states have call predecessors, (35), 9 states have call successors, (35) [2022-04-27 11:53:55,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 95 transitions. [2022-04-27 11:53:55,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.777777777777778) internal successors, (43), 9 states have internal predecessors, (43), 9 states have call successors, (37), 2 states have call predecessors, (37), 2 states have return successors, (35), 9 states have call predecessors, (35), 9 states have call successors, (35) [2022-04-27 11:53:55,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 95 transitions. [2022-04-27 11:53:55,764 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 95 transitions. [2022-04-27 11:53:55,837 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:53:55,839 INFO L225 Difference]: With dead ends: 197 [2022-04-27 11:53:55,839 INFO L226 Difference]: Without dead ends: 130 [2022-04-27 11:53:55,840 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 233 GetRequests, 223 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-27 11:53:55,840 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 4 mSDsluCounter, 164 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 222 SdHoareTripleChecker+Invalid, 131 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:53:55,841 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 222 Invalid, 131 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:53:55,841 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-04-27 11:53:55,913 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 130. [2022-04-27 11:53:55,914 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:53:55,914 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 130 states, 78 states have (on average 1.1666666666666667) internal successors, (91), 82 states have internal predecessors, (91), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 11:53:55,914 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 130 states, 78 states have (on average 1.1666666666666667) internal successors, (91), 82 states have internal predecessors, (91), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 11:53:55,914 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 130 states, 78 states have (on average 1.1666666666666667) internal successors, (91), 82 states have internal predecessors, (91), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 11:53:55,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:53:55,917 INFO L93 Difference]: Finished difference Result 130 states and 161 transitions. [2022-04-27 11:53:55,917 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 161 transitions. [2022-04-27 11:53:55,917 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:53:55,917 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:53:55,917 INFO L74 IsIncluded]: Start isIncluded. First operand has 130 states, 78 states have (on average 1.1666666666666667) internal successors, (91), 82 states have internal predecessors, (91), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) Second operand 130 states. [2022-04-27 11:53:55,918 INFO L87 Difference]: Start difference. First operand has 130 states, 78 states have (on average 1.1666666666666667) internal successors, (91), 82 states have internal predecessors, (91), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) Second operand 130 states. [2022-04-27 11:53:55,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:53:55,920 INFO L93 Difference]: Finished difference Result 130 states and 161 transitions. [2022-04-27 11:53:55,920 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 161 transitions. [2022-04-27 11:53:55,920 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:53:55,920 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:53:55,920 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:53:55,920 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:53:55,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 78 states have (on average 1.1666666666666667) internal successors, (91), 82 states have internal predecessors, (91), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 11:53:55,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 161 transitions. [2022-04-27 11:53:55,923 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 161 transitions. Word has length 117 [2022-04-27 11:53:55,923 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:53:55,923 INFO L495 AbstractCegarLoop]: Abstraction has 130 states and 161 transitions. [2022-04-27 11:53:55,923 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.777777777777778) internal successors, (43), 9 states have internal predecessors, (43), 9 states have call successors, (37), 2 states have call predecessors, (37), 2 states have return successors, (35), 9 states have call predecessors, (35), 9 states have call successors, (35) [2022-04-27 11:53:55,923 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 161 transitions. [2022-04-27 11:53:55,924 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 119 [2022-04-27 11:53:55,924 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:53:55,924 INFO L195 NwaCegarLoop]: trace histogram [19, 18, 18, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:53:55,957 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-04-27 11:53:56,139 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:53:56,142 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:53:56,142 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:53:56,142 INFO L85 PathProgramCache]: Analyzing trace with hash 1955703384, now seen corresponding path program 3 times [2022-04-27 11:53:56,142 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:53:56,142 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1349746892] [2022-04-27 11:53:56,142 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:53:56,142 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:53:56,152 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:53:56,152 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [31842387] [2022-04-27 11:53:56,152 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 11:53:56,152 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:53:56,152 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:53:56,154 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-04-27 11:53:56,157 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-04-27 11:53:56,213 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 11:53:56,213 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:53:56,214 INFO L263 TraceCheckSpWp]: Trace formula consists of 169 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-27 11:53:56,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:53:56,234 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:54:04,284 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 11:54:10,857 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 11:54:15,337 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 11:54:16,050 INFO L272 TraceCheckUtils]: 0: Hoare triple {8733#true} call ULTIMATE.init(); {8733#true} is VALID [2022-04-27 11:54:16,050 INFO L290 TraceCheckUtils]: 1: Hoare triple {8733#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); {8733#true} is VALID [2022-04-27 11:54:16,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {8733#true} assume true; {8733#true} is VALID [2022-04-27 11:54:16,050 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8733#true} {8733#true} #90#return; {8733#true} is VALID [2022-04-27 11:54:16,050 INFO L272 TraceCheckUtils]: 4: Hoare triple {8733#true} call #t~ret5 := main(); {8733#true} is VALID [2022-04-27 11:54:16,050 INFO L290 TraceCheckUtils]: 5: Hoare triple {8733#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,051 INFO L290 TraceCheckUtils]: 6: Hoare triple {8753#(= main_~B~0 1)} assume !false; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,051 INFO L272 TraceCheckUtils]: 7: Hoare triple {8753#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8733#true} is VALID [2022-04-27 11:54:16,051 INFO L290 TraceCheckUtils]: 8: Hoare triple {8733#true} ~cond := #in~cond; {8733#true} is VALID [2022-04-27 11:54:16,051 INFO L290 TraceCheckUtils]: 9: Hoare triple {8733#true} assume !(0 == ~cond); {8733#true} is VALID [2022-04-27 11:54:16,051 INFO L290 TraceCheckUtils]: 10: Hoare triple {8733#true} assume true; {8733#true} is VALID [2022-04-27 11:54:16,051 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {8733#true} {8753#(= main_~B~0 1)} #76#return; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,051 INFO L272 TraceCheckUtils]: 12: Hoare triple {8753#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8733#true} is VALID [2022-04-27 11:54:16,051 INFO L290 TraceCheckUtils]: 13: Hoare triple {8733#true} ~cond := #in~cond; {8733#true} is VALID [2022-04-27 11:54:16,051 INFO L290 TraceCheckUtils]: 14: Hoare triple {8733#true} assume !(0 == ~cond); {8733#true} is VALID [2022-04-27 11:54:16,051 INFO L290 TraceCheckUtils]: 15: Hoare triple {8733#true} assume true; {8733#true} is VALID [2022-04-27 11:54:16,052 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8733#true} {8753#(= main_~B~0 1)} #78#return; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,052 INFO L272 TraceCheckUtils]: 17: Hoare triple {8753#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8733#true} is VALID [2022-04-27 11:54:16,052 INFO L290 TraceCheckUtils]: 18: Hoare triple {8733#true} ~cond := #in~cond; {8733#true} is VALID [2022-04-27 11:54:16,052 INFO L290 TraceCheckUtils]: 19: Hoare triple {8733#true} assume !(0 == ~cond); {8733#true} is VALID [2022-04-27 11:54:16,052 INFO L290 TraceCheckUtils]: 20: Hoare triple {8733#true} assume true; {8733#true} is VALID [2022-04-27 11:54:16,052 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8733#true} {8753#(= main_~B~0 1)} #80#return; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,053 INFO L290 TraceCheckUtils]: 22: Hoare triple {8753#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,053 INFO L290 TraceCheckUtils]: 23: Hoare triple {8753#(= main_~B~0 1)} assume !false; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,053 INFO L272 TraceCheckUtils]: 24: Hoare triple {8753#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8733#true} is VALID [2022-04-27 11:54:16,053 INFO L290 TraceCheckUtils]: 25: Hoare triple {8733#true} ~cond := #in~cond; {8733#true} is VALID [2022-04-27 11:54:16,053 INFO L290 TraceCheckUtils]: 26: Hoare triple {8733#true} assume !(0 == ~cond); {8733#true} is VALID [2022-04-27 11:54:16,053 INFO L290 TraceCheckUtils]: 27: Hoare triple {8733#true} assume true; {8733#true} is VALID [2022-04-27 11:54:16,053 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8733#true} {8753#(= main_~B~0 1)} #76#return; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,053 INFO L272 TraceCheckUtils]: 29: Hoare triple {8753#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8733#true} is VALID [2022-04-27 11:54:16,053 INFO L290 TraceCheckUtils]: 30: Hoare triple {8733#true} ~cond := #in~cond; {8733#true} is VALID [2022-04-27 11:54:16,053 INFO L290 TraceCheckUtils]: 31: Hoare triple {8733#true} assume !(0 == ~cond); {8733#true} is VALID [2022-04-27 11:54:16,054 INFO L290 TraceCheckUtils]: 32: Hoare triple {8733#true} assume true; {8733#true} is VALID [2022-04-27 11:54:16,054 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8733#true} {8753#(= main_~B~0 1)} #78#return; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,054 INFO L272 TraceCheckUtils]: 34: Hoare triple {8753#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8733#true} is VALID [2022-04-27 11:54:16,054 INFO L290 TraceCheckUtils]: 35: Hoare triple {8733#true} ~cond := #in~cond; {8733#true} is VALID [2022-04-27 11:54:16,054 INFO L290 TraceCheckUtils]: 36: Hoare triple {8733#true} assume !(0 == ~cond); {8733#true} is VALID [2022-04-27 11:54:16,054 INFO L290 TraceCheckUtils]: 37: Hoare triple {8733#true} assume true; {8733#true} is VALID [2022-04-27 11:54:16,054 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8733#true} {8753#(= main_~B~0 1)} #80#return; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,055 INFO L290 TraceCheckUtils]: 39: Hoare triple {8753#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,055 INFO L290 TraceCheckUtils]: 40: Hoare triple {8753#(= main_~B~0 1)} assume !false; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,055 INFO L272 TraceCheckUtils]: 41: Hoare triple {8753#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8733#true} is VALID [2022-04-27 11:54:16,055 INFO L290 TraceCheckUtils]: 42: Hoare triple {8733#true} ~cond := #in~cond; {8733#true} is VALID [2022-04-27 11:54:16,055 INFO L290 TraceCheckUtils]: 43: Hoare triple {8733#true} assume !(0 == ~cond); {8733#true} is VALID [2022-04-27 11:54:16,055 INFO L290 TraceCheckUtils]: 44: Hoare triple {8733#true} assume true; {8733#true} is VALID [2022-04-27 11:54:16,056 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8733#true} {8753#(= main_~B~0 1)} #76#return; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,056 INFO L272 TraceCheckUtils]: 46: Hoare triple {8753#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8733#true} is VALID [2022-04-27 11:54:16,056 INFO L290 TraceCheckUtils]: 47: Hoare triple {8733#true} ~cond := #in~cond; {8733#true} is VALID [2022-04-27 11:54:16,056 INFO L290 TraceCheckUtils]: 48: Hoare triple {8733#true} assume !(0 == ~cond); {8733#true} is VALID [2022-04-27 11:54:16,056 INFO L290 TraceCheckUtils]: 49: Hoare triple {8733#true} assume true; {8733#true} is VALID [2022-04-27 11:54:16,056 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8733#true} {8753#(= main_~B~0 1)} #78#return; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,056 INFO L272 TraceCheckUtils]: 51: Hoare triple {8753#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8733#true} is VALID [2022-04-27 11:54:16,056 INFO L290 TraceCheckUtils]: 52: Hoare triple {8733#true} ~cond := #in~cond; {8733#true} is VALID [2022-04-27 11:54:16,056 INFO L290 TraceCheckUtils]: 53: Hoare triple {8733#true} assume !(0 == ~cond); {8733#true} is VALID [2022-04-27 11:54:16,056 INFO L290 TraceCheckUtils]: 54: Hoare triple {8733#true} assume true; {8733#true} is VALID [2022-04-27 11:54:16,057 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8733#true} {8753#(= main_~B~0 1)} #80#return; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,057 INFO L290 TraceCheckUtils]: 56: Hoare triple {8753#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,057 INFO L290 TraceCheckUtils]: 57: Hoare triple {8753#(= main_~B~0 1)} assume !false; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,057 INFO L272 TraceCheckUtils]: 58: Hoare triple {8753#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8733#true} is VALID [2022-04-27 11:54:16,057 INFO L290 TraceCheckUtils]: 59: Hoare triple {8733#true} ~cond := #in~cond; {8733#true} is VALID [2022-04-27 11:54:16,057 INFO L290 TraceCheckUtils]: 60: Hoare triple {8733#true} assume !(0 == ~cond); {8733#true} is VALID [2022-04-27 11:54:16,057 INFO L290 TraceCheckUtils]: 61: Hoare triple {8733#true} assume true; {8733#true} is VALID [2022-04-27 11:54:16,058 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8733#true} {8753#(= main_~B~0 1)} #76#return; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,058 INFO L272 TraceCheckUtils]: 63: Hoare triple {8753#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8733#true} is VALID [2022-04-27 11:54:16,058 INFO L290 TraceCheckUtils]: 64: Hoare triple {8733#true} ~cond := #in~cond; {8733#true} is VALID [2022-04-27 11:54:16,058 INFO L290 TraceCheckUtils]: 65: Hoare triple {8733#true} assume !(0 == ~cond); {8733#true} is VALID [2022-04-27 11:54:16,058 INFO L290 TraceCheckUtils]: 66: Hoare triple {8733#true} assume true; {8733#true} is VALID [2022-04-27 11:54:16,058 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8733#true} {8753#(= main_~B~0 1)} #78#return; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,058 INFO L272 TraceCheckUtils]: 68: Hoare triple {8753#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8733#true} is VALID [2022-04-27 11:54:16,058 INFO L290 TraceCheckUtils]: 69: Hoare triple {8733#true} ~cond := #in~cond; {8733#true} is VALID [2022-04-27 11:54:16,058 INFO L290 TraceCheckUtils]: 70: Hoare triple {8733#true} assume !(0 == ~cond); {8733#true} is VALID [2022-04-27 11:54:16,058 INFO L290 TraceCheckUtils]: 71: Hoare triple {8733#true} assume true; {8733#true} is VALID [2022-04-27 11:54:16,059 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8733#true} {8753#(= main_~B~0 1)} #80#return; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,059 INFO L290 TraceCheckUtils]: 73: Hoare triple {8753#(= main_~B~0 1)} assume !(~r~0 >= ~d~0); {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,059 INFO L290 TraceCheckUtils]: 74: Hoare triple {8753#(= main_~B~0 1)} assume !false; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,059 INFO L272 TraceCheckUtils]: 75: Hoare triple {8753#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8733#true} is VALID [2022-04-27 11:54:16,059 INFO L290 TraceCheckUtils]: 76: Hoare triple {8733#true} ~cond := #in~cond; {8733#true} is VALID [2022-04-27 11:54:16,059 INFO L290 TraceCheckUtils]: 77: Hoare triple {8733#true} assume !(0 == ~cond); {8733#true} is VALID [2022-04-27 11:54:16,059 INFO L290 TraceCheckUtils]: 78: Hoare triple {8733#true} assume true; {8733#true} is VALID [2022-04-27 11:54:16,060 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8733#true} {8753#(= main_~B~0 1)} #82#return; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,060 INFO L272 TraceCheckUtils]: 80: Hoare triple {8753#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8733#true} is VALID [2022-04-27 11:54:16,060 INFO L290 TraceCheckUtils]: 81: Hoare triple {8733#true} ~cond := #in~cond; {8733#true} is VALID [2022-04-27 11:54:16,060 INFO L290 TraceCheckUtils]: 82: Hoare triple {8733#true} assume !(0 == ~cond); {8733#true} is VALID [2022-04-27 11:54:16,061 INFO L290 TraceCheckUtils]: 83: Hoare triple {8733#true} assume true; {8733#true} is VALID [2022-04-27 11:54:16,061 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8733#true} {8753#(= main_~B~0 1)} #84#return; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,061 INFO L290 TraceCheckUtils]: 85: Hoare triple {8753#(= main_~B~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,061 INFO L290 TraceCheckUtils]: 86: Hoare triple {8753#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,062 INFO L290 TraceCheckUtils]: 87: Hoare triple {8753#(= main_~B~0 1)} assume !false; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,062 INFO L272 TraceCheckUtils]: 88: Hoare triple {8753#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8733#true} is VALID [2022-04-27 11:54:16,062 INFO L290 TraceCheckUtils]: 89: Hoare triple {8733#true} ~cond := #in~cond; {8733#true} is VALID [2022-04-27 11:54:16,062 INFO L290 TraceCheckUtils]: 90: Hoare triple {8733#true} assume !(0 == ~cond); {8733#true} is VALID [2022-04-27 11:54:16,062 INFO L290 TraceCheckUtils]: 91: Hoare triple {8733#true} assume true; {8733#true} is VALID [2022-04-27 11:54:16,062 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8733#true} {8753#(= main_~B~0 1)} #82#return; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,062 INFO L272 TraceCheckUtils]: 93: Hoare triple {8753#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8733#true} is VALID [2022-04-27 11:54:16,062 INFO L290 TraceCheckUtils]: 94: Hoare triple {8733#true} ~cond := #in~cond; {8733#true} is VALID [2022-04-27 11:54:16,062 INFO L290 TraceCheckUtils]: 95: Hoare triple {8733#true} assume !(0 == ~cond); {8733#true} is VALID [2022-04-27 11:54:16,062 INFO L290 TraceCheckUtils]: 96: Hoare triple {8733#true} assume true; {8733#true} is VALID [2022-04-27 11:54:16,063 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {8733#true} {8753#(= main_~B~0 1)} #84#return; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,063 INFO L290 TraceCheckUtils]: 98: Hoare triple {8753#(= main_~B~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,063 INFO L290 TraceCheckUtils]: 99: Hoare triple {8753#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,063 INFO L290 TraceCheckUtils]: 100: Hoare triple {8753#(= main_~B~0 1)} assume !false; {8753#(= main_~B~0 1)} is VALID [2022-04-27 11:54:16,064 INFO L272 TraceCheckUtils]: 101: Hoare triple {8753#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8733#true} is VALID [2022-04-27 11:54:16,064 INFO L290 TraceCheckUtils]: 102: Hoare triple {8733#true} ~cond := #in~cond; {9045#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:54:16,064 INFO L290 TraceCheckUtils]: 103: Hoare triple {9045#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9049#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:54:16,065 INFO L290 TraceCheckUtils]: 104: Hoare triple {9049#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9049#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:54:16,065 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {9049#(not (= |__VERIFIER_assert_#in~cond| 0))} {8753#(= main_~B~0 1)} #82#return; {9056#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-27 11:54:16,065 INFO L272 TraceCheckUtils]: 106: Hoare triple {9056#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8733#true} is VALID [2022-04-27 11:54:16,066 INFO L290 TraceCheckUtils]: 107: Hoare triple {8733#true} ~cond := #in~cond; {9045#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:54:16,066 INFO L290 TraceCheckUtils]: 108: Hoare triple {9045#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9049#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:54:16,066 INFO L290 TraceCheckUtils]: 109: Hoare triple {9049#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9049#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:54:16,067 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {9049#(not (= |__VERIFIER_assert_#in~cond| 0))} {9056#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} #84#return; {9072#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-27 11:54:16,068 INFO L290 TraceCheckUtils]: 111: Hoare triple {9072#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9072#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-27 11:54:16,070 INFO L290 TraceCheckUtils]: 112: Hoare triple {9072#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9056#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-27 11:54:16,070 INFO L290 TraceCheckUtils]: 113: Hoare triple {9056#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} assume !false; {9056#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-27 11:54:16,071 INFO L272 TraceCheckUtils]: 114: Hoare triple {9056#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9085#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:54:16,071 INFO L290 TraceCheckUtils]: 115: Hoare triple {9085#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9089#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:54:16,071 INFO L290 TraceCheckUtils]: 116: Hoare triple {9089#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8734#false} is VALID [2022-04-27 11:54:16,071 INFO L290 TraceCheckUtils]: 117: Hoare triple {8734#false} assume !false; {8734#false} is VALID [2022-04-27 11:54:16,072 INFO L134 CoverageAnalysis]: Checked inductivity of 699 backedges. 142 proven. 2 refuted. 0 times theorem prover too weak. 555 trivial. 0 not checked. [2022-04-27 11:54:16,072 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:55:30,290 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:55:30,290 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1349746892] [2022-04-27 11:55:30,290 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:55:30,290 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [31842387] [2022-04-27 11:55:30,290 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [31842387] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:55:30,291 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 11:55:30,291 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-27 11:55:30,291 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1831152756] [2022-04-27 11:55:30,291 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 11:55:30,292 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 118 [2022-04-27 11:55:30,292 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:55:30,292 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 11:55:30,322 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:55:30,322 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 11:55:30,322 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:55:30,323 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 11:55:30,323 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-27 11:55:30,323 INFO L87 Difference]: Start difference. First operand 130 states and 161 transitions. Second operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 11:55:30,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:55:30,596 INFO L93 Difference]: Finished difference Result 136 states and 166 transitions. [2022-04-27 11:55:30,596 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 11:55:30,597 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 118 [2022-04-27 11:55:30,597 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:55:30,597 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 11:55:30,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 37 transitions. [2022-04-27 11:55:30,597 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 11:55:30,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 37 transitions. [2022-04-27 11:55:30,598 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 37 transitions. [2022-04-27 11:55:30,644 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:55:30,646 INFO L225 Difference]: With dead ends: 136 [2022-04-27 11:55:30,646 INFO L226 Difference]: Without dead ends: 132 [2022-04-27 11:55:30,646 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 111 SyntacticMatches, 3 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-04-27 11:55:30,647 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 17 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 87 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 56 SdHoareTripleChecker+Invalid, 98 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 87 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:55:30,647 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 56 Invalid, 98 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 87 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:55:30,647 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-27 11:55:30,699 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 112. [2022-04-27 11:55:30,699 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:55:30,700 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 112 states, 69 states have (on average 1.1159420289855073) internal successors, (77), 69 states have internal predecessors, (77), 28 states have call successors, (28), 16 states have call predecessors, (28), 14 states have return successors, (26), 26 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-27 11:55:30,700 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 112 states, 69 states have (on average 1.1159420289855073) internal successors, (77), 69 states have internal predecessors, (77), 28 states have call successors, (28), 16 states have call predecessors, (28), 14 states have return successors, (26), 26 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-27 11:55:30,700 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 112 states, 69 states have (on average 1.1159420289855073) internal successors, (77), 69 states have internal predecessors, (77), 28 states have call successors, (28), 16 states have call predecessors, (28), 14 states have return successors, (26), 26 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-27 11:55:30,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:55:30,702 INFO L93 Difference]: Finished difference Result 132 states and 162 transitions. [2022-04-27 11:55:30,702 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 162 transitions. [2022-04-27 11:55:30,703 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:55:30,703 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:55:30,703 INFO L74 IsIncluded]: Start isIncluded. First operand has 112 states, 69 states have (on average 1.1159420289855073) internal successors, (77), 69 states have internal predecessors, (77), 28 states have call successors, (28), 16 states have call predecessors, (28), 14 states have return successors, (26), 26 states have call predecessors, (26), 26 states have call successors, (26) Second operand 132 states. [2022-04-27 11:55:30,703 INFO L87 Difference]: Start difference. First operand has 112 states, 69 states have (on average 1.1159420289855073) internal successors, (77), 69 states have internal predecessors, (77), 28 states have call successors, (28), 16 states have call predecessors, (28), 14 states have return successors, (26), 26 states have call predecessors, (26), 26 states have call successors, (26) Second operand 132 states. [2022-04-27 11:55:30,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:55:30,707 INFO L93 Difference]: Finished difference Result 132 states and 162 transitions. [2022-04-27 11:55:30,707 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 162 transitions. [2022-04-27 11:55:30,707 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:55:30,707 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:55:30,707 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:55:30,707 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:55:30,707 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 112 states, 69 states have (on average 1.1159420289855073) internal successors, (77), 69 states have internal predecessors, (77), 28 states have call successors, (28), 16 states have call predecessors, (28), 14 states have return successors, (26), 26 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-27 11:55:30,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 131 transitions. [2022-04-27 11:55:30,709 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 131 transitions. Word has length 118 [2022-04-27 11:55:30,709 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:55:30,710 INFO L495 AbstractCegarLoop]: Abstraction has 112 states and 131 transitions. [2022-04-27 11:55:30,710 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 11:55:30,710 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 131 transitions. [2022-04-27 11:55:30,710 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 122 [2022-04-27 11:55:30,710 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:55:30,710 INFO L195 NwaCegarLoop]: trace histogram [20, 19, 19, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:55:30,727 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-04-27 11:55:30,924 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-27 11:55:30,924 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:55:30,924 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:55:30,924 INFO L85 PathProgramCache]: Analyzing trace with hash -1954867963, now seen corresponding path program 3 times [2022-04-27 11:55:30,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:55:30,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [735977924] [2022-04-27 11:55:30,925 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:55:30,925 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:55:30,937 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:55:30,938 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [473823787] [2022-04-27 11:55:30,938 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 11:55:30,938 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:55:30,938 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:55:30,939 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-04-27 11:55:30,939 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-04-27 11:55:30,979 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 11:55:30,980 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:55:30,980 INFO L263 TraceCheckSpWp]: Trace formula consists of 149 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 11:55:31,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:55:31,007 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:55:31,307 INFO L272 TraceCheckUtils]: 0: Hoare triple {9744#true} call ULTIMATE.init(); {9744#true} is VALID [2022-04-27 11:55:31,307 INFO L290 TraceCheckUtils]: 1: Hoare triple {9744#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); {9744#true} is VALID [2022-04-27 11:55:31,307 INFO L290 TraceCheckUtils]: 2: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:31,307 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9744#true} {9744#true} #90#return; {9744#true} is VALID [2022-04-27 11:55:31,307 INFO L272 TraceCheckUtils]: 4: Hoare triple {9744#true} call #t~ret5 := main(); {9744#true} is VALID [2022-04-27 11:55:31,307 INFO L290 TraceCheckUtils]: 5: Hoare triple {9744#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,308 INFO L290 TraceCheckUtils]: 6: Hoare triple {9764#(= main_~B~0 1)} assume !false; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,308 INFO L272 TraceCheckUtils]: 7: Hoare triple {9764#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:31,308 INFO L290 TraceCheckUtils]: 8: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:31,308 INFO L290 TraceCheckUtils]: 9: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:31,308 INFO L290 TraceCheckUtils]: 10: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:31,308 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {9744#true} {9764#(= main_~B~0 1)} #76#return; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,308 INFO L272 TraceCheckUtils]: 12: Hoare triple {9764#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:31,308 INFO L290 TraceCheckUtils]: 13: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:31,309 INFO L290 TraceCheckUtils]: 14: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:31,309 INFO L290 TraceCheckUtils]: 15: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:31,309 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9744#true} {9764#(= main_~B~0 1)} #78#return; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,309 INFO L272 TraceCheckUtils]: 17: Hoare triple {9764#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:31,309 INFO L290 TraceCheckUtils]: 18: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:31,309 INFO L290 TraceCheckUtils]: 19: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:31,309 INFO L290 TraceCheckUtils]: 20: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:31,310 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9744#true} {9764#(= main_~B~0 1)} #80#return; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,310 INFO L290 TraceCheckUtils]: 22: Hoare triple {9764#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,310 INFO L290 TraceCheckUtils]: 23: Hoare triple {9764#(= main_~B~0 1)} assume !false; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,310 INFO L272 TraceCheckUtils]: 24: Hoare triple {9764#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:31,310 INFO L290 TraceCheckUtils]: 25: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:31,310 INFO L290 TraceCheckUtils]: 26: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:31,311 INFO L290 TraceCheckUtils]: 27: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:31,311 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9744#true} {9764#(= main_~B~0 1)} #76#return; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,311 INFO L272 TraceCheckUtils]: 29: Hoare triple {9764#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:31,311 INFO L290 TraceCheckUtils]: 30: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:31,311 INFO L290 TraceCheckUtils]: 31: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:31,311 INFO L290 TraceCheckUtils]: 32: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:31,312 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9744#true} {9764#(= main_~B~0 1)} #78#return; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,312 INFO L272 TraceCheckUtils]: 34: Hoare triple {9764#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:31,312 INFO L290 TraceCheckUtils]: 35: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:31,312 INFO L290 TraceCheckUtils]: 36: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:31,312 INFO L290 TraceCheckUtils]: 37: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:31,312 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9744#true} {9764#(= main_~B~0 1)} #80#return; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,313 INFO L290 TraceCheckUtils]: 39: Hoare triple {9764#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,313 INFO L290 TraceCheckUtils]: 40: Hoare triple {9764#(= main_~B~0 1)} assume !false; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,313 INFO L272 TraceCheckUtils]: 41: Hoare triple {9764#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:31,313 INFO L290 TraceCheckUtils]: 42: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:31,313 INFO L290 TraceCheckUtils]: 43: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:31,313 INFO L290 TraceCheckUtils]: 44: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:31,314 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9744#true} {9764#(= main_~B~0 1)} #76#return; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,314 INFO L272 TraceCheckUtils]: 46: Hoare triple {9764#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:31,314 INFO L290 TraceCheckUtils]: 47: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:31,314 INFO L290 TraceCheckUtils]: 48: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:31,314 INFO L290 TraceCheckUtils]: 49: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:31,314 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9744#true} {9764#(= main_~B~0 1)} #78#return; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,314 INFO L272 TraceCheckUtils]: 51: Hoare triple {9764#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:31,314 INFO L290 TraceCheckUtils]: 52: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:31,314 INFO L290 TraceCheckUtils]: 53: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:31,314 INFO L290 TraceCheckUtils]: 54: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:31,315 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9744#true} {9764#(= main_~B~0 1)} #80#return; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,315 INFO L290 TraceCheckUtils]: 56: Hoare triple {9764#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,315 INFO L290 TraceCheckUtils]: 57: Hoare triple {9764#(= main_~B~0 1)} assume !false; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,316 INFO L272 TraceCheckUtils]: 58: Hoare triple {9764#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:31,316 INFO L290 TraceCheckUtils]: 59: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:31,316 INFO L290 TraceCheckUtils]: 60: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:31,316 INFO L290 TraceCheckUtils]: 61: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:31,316 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9744#true} {9764#(= main_~B~0 1)} #76#return; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,316 INFO L272 TraceCheckUtils]: 63: Hoare triple {9764#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:31,316 INFO L290 TraceCheckUtils]: 64: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:31,316 INFO L290 TraceCheckUtils]: 65: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:31,316 INFO L290 TraceCheckUtils]: 66: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:31,317 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9744#true} {9764#(= main_~B~0 1)} #78#return; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,317 INFO L272 TraceCheckUtils]: 68: Hoare triple {9764#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:31,317 INFO L290 TraceCheckUtils]: 69: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:31,317 INFO L290 TraceCheckUtils]: 70: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:31,317 INFO L290 TraceCheckUtils]: 71: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:31,317 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9744#true} {9764#(= main_~B~0 1)} #80#return; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,318 INFO L290 TraceCheckUtils]: 73: Hoare triple {9764#(= main_~B~0 1)} assume !(~r~0 >= ~d~0); {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,318 INFO L290 TraceCheckUtils]: 74: Hoare triple {9764#(= main_~B~0 1)} assume !false; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,318 INFO L272 TraceCheckUtils]: 75: Hoare triple {9764#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:31,318 INFO L290 TraceCheckUtils]: 76: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:31,318 INFO L290 TraceCheckUtils]: 77: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:31,318 INFO L290 TraceCheckUtils]: 78: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:31,319 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {9744#true} {9764#(= main_~B~0 1)} #82#return; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,319 INFO L272 TraceCheckUtils]: 80: Hoare triple {9764#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:31,319 INFO L290 TraceCheckUtils]: 81: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:31,319 INFO L290 TraceCheckUtils]: 82: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:31,319 INFO L290 TraceCheckUtils]: 83: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:31,319 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {9744#true} {9764#(= main_~B~0 1)} #84#return; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,319 INFO L290 TraceCheckUtils]: 85: Hoare triple {9764#(= main_~B~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,320 INFO L290 TraceCheckUtils]: 86: Hoare triple {9764#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,320 INFO L290 TraceCheckUtils]: 87: Hoare triple {9764#(= main_~B~0 1)} assume !false; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,320 INFO L272 TraceCheckUtils]: 88: Hoare triple {9764#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:31,320 INFO L290 TraceCheckUtils]: 89: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:31,320 INFO L290 TraceCheckUtils]: 90: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:31,320 INFO L290 TraceCheckUtils]: 91: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:31,321 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9744#true} {9764#(= main_~B~0 1)} #82#return; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,321 INFO L272 TraceCheckUtils]: 93: Hoare triple {9764#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:31,321 INFO L290 TraceCheckUtils]: 94: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:31,321 INFO L290 TraceCheckUtils]: 95: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:31,321 INFO L290 TraceCheckUtils]: 96: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:31,321 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9744#true} {9764#(= main_~B~0 1)} #84#return; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,321 INFO L290 TraceCheckUtils]: 98: Hoare triple {9764#(= main_~B~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,322 INFO L290 TraceCheckUtils]: 99: Hoare triple {9764#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,322 INFO L290 TraceCheckUtils]: 100: Hoare triple {9764#(= main_~B~0 1)} assume !false; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,322 INFO L272 TraceCheckUtils]: 101: Hoare triple {9764#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:31,322 INFO L290 TraceCheckUtils]: 102: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:31,322 INFO L290 TraceCheckUtils]: 103: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:31,322 INFO L290 TraceCheckUtils]: 104: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:31,323 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {9744#true} {9764#(= main_~B~0 1)} #82#return; {9764#(= main_~B~0 1)} is VALID [2022-04-27 11:55:31,323 INFO L272 TraceCheckUtils]: 106: Hoare triple {9764#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:31,323 INFO L290 TraceCheckUtils]: 107: Hoare triple {9744#true} ~cond := #in~cond; {10071#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:55:31,323 INFO L290 TraceCheckUtils]: 108: Hoare triple {10071#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10075#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:31,324 INFO L290 TraceCheckUtils]: 109: Hoare triple {10075#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10075#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:31,324 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {10075#(not (= |__VERIFIER_assert_#in~cond| 0))} {9764#(= main_~B~0 1)} #84#return; {10082#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1))} is VALID [2022-04-27 11:55:31,324 INFO L290 TraceCheckUtils]: 111: Hoare triple {10082#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1))} assume !(1 != ~p~0); {10086#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 11:55:31,324 INFO L272 TraceCheckUtils]: 112: Hoare triple {10086#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:31,325 INFO L290 TraceCheckUtils]: 113: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:31,325 INFO L290 TraceCheckUtils]: 114: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:31,325 INFO L290 TraceCheckUtils]: 115: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:31,325 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {9744#true} {10086#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} #86#return; {10086#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 11:55:31,326 INFO L272 TraceCheckUtils]: 117: Hoare triple {10086#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {10105#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:55:31,326 INFO L290 TraceCheckUtils]: 118: Hoare triple {10105#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10109#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:55:31,326 INFO L290 TraceCheckUtils]: 119: Hoare triple {10109#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9745#false} is VALID [2022-04-27 11:55:31,326 INFO L290 TraceCheckUtils]: 120: Hoare triple {9745#false} assume !false; {9745#false} is VALID [2022-04-27 11:55:31,327 INFO L134 CoverageAnalysis]: Checked inductivity of 765 backedges. 90 proven. 4 refuted. 0 times theorem prover too weak. 671 trivial. 0 not checked. [2022-04-27 11:55:31,327 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:55:34,399 INFO L290 TraceCheckUtils]: 120: Hoare triple {9745#false} assume !false; {9745#false} is VALID [2022-04-27 11:55:34,399 INFO L290 TraceCheckUtils]: 119: Hoare triple {10109#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9745#false} is VALID [2022-04-27 11:55:34,399 INFO L290 TraceCheckUtils]: 118: Hoare triple {10105#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10109#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:55:34,400 INFO L272 TraceCheckUtils]: 117: Hoare triple {10125#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {10105#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:55:34,400 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {9744#true} {10125#(= main_~B~0 main_~d~0)} #86#return; {10125#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 11:55:34,400 INFO L290 TraceCheckUtils]: 115: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:34,401 INFO L290 TraceCheckUtils]: 114: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:34,401 INFO L290 TraceCheckUtils]: 113: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:34,401 INFO L272 TraceCheckUtils]: 112: Hoare triple {10125#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:34,401 INFO L290 TraceCheckUtils]: 111: Hoare triple {10144#(or (not (= main_~p~0 1)) (= main_~B~0 main_~d~0))} assume !(1 != ~p~0); {10125#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 11:55:34,402 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {10075#(not (= |__VERIFIER_assert_#in~cond| 0))} {9744#true} #84#return; {10144#(or (not (= main_~p~0 1)) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 11:55:34,402 INFO L290 TraceCheckUtils]: 109: Hoare triple {10075#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10075#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:34,402 INFO L290 TraceCheckUtils]: 108: Hoare triple {10157#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10075#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:34,403 INFO L290 TraceCheckUtils]: 107: Hoare triple {9744#true} ~cond := #in~cond; {10157#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:55:34,403 INFO L272 TraceCheckUtils]: 106: Hoare triple {9744#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:34,403 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {9744#true} {9744#true} #82#return; {9744#true} is VALID [2022-04-27 11:55:34,403 INFO L290 TraceCheckUtils]: 104: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:34,403 INFO L290 TraceCheckUtils]: 103: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:34,403 INFO L290 TraceCheckUtils]: 102: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:34,403 INFO L272 TraceCheckUtils]: 101: Hoare triple {9744#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:34,403 INFO L290 TraceCheckUtils]: 100: Hoare triple {9744#true} assume !false; {9744#true} is VALID [2022-04-27 11:55:34,403 INFO L290 TraceCheckUtils]: 99: Hoare triple {9744#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9744#true} is VALID [2022-04-27 11:55:34,403 INFO L290 TraceCheckUtils]: 98: Hoare triple {9744#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9744#true} is VALID [2022-04-27 11:55:34,403 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9744#true} {9744#true} #84#return; {9744#true} is VALID [2022-04-27 11:55:34,403 INFO L290 TraceCheckUtils]: 96: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:34,403 INFO L290 TraceCheckUtils]: 95: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:34,403 INFO L290 TraceCheckUtils]: 94: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:34,403 INFO L272 TraceCheckUtils]: 93: Hoare triple {9744#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:34,403 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9744#true} {9744#true} #82#return; {9744#true} is VALID [2022-04-27 11:55:34,403 INFO L290 TraceCheckUtils]: 91: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:34,403 INFO L290 TraceCheckUtils]: 90: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:34,403 INFO L290 TraceCheckUtils]: 89: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:34,403 INFO L272 TraceCheckUtils]: 88: Hoare triple {9744#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L290 TraceCheckUtils]: 87: Hoare triple {9744#true} assume !false; {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L290 TraceCheckUtils]: 86: Hoare triple {9744#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L290 TraceCheckUtils]: 85: Hoare triple {9744#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {9744#true} {9744#true} #84#return; {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L290 TraceCheckUtils]: 83: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L290 TraceCheckUtils]: 82: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L290 TraceCheckUtils]: 81: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L272 TraceCheckUtils]: 80: Hoare triple {9744#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {9744#true} {9744#true} #82#return; {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L290 TraceCheckUtils]: 78: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L290 TraceCheckUtils]: 77: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L290 TraceCheckUtils]: 76: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L272 TraceCheckUtils]: 75: Hoare triple {9744#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L290 TraceCheckUtils]: 74: Hoare triple {9744#true} assume !false; {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L290 TraceCheckUtils]: 73: Hoare triple {9744#true} assume !(~r~0 >= ~d~0); {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9744#true} {9744#true} #80#return; {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L290 TraceCheckUtils]: 71: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L290 TraceCheckUtils]: 70: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L290 TraceCheckUtils]: 69: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L272 TraceCheckUtils]: 68: Hoare triple {9744#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9744#true} {9744#true} #78#return; {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L290 TraceCheckUtils]: 66: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:34,404 INFO L290 TraceCheckUtils]: 65: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L290 TraceCheckUtils]: 64: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L272 TraceCheckUtils]: 63: Hoare triple {9744#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9744#true} {9744#true} #76#return; {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L290 TraceCheckUtils]: 61: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L290 TraceCheckUtils]: 60: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L290 TraceCheckUtils]: 59: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L272 TraceCheckUtils]: 58: Hoare triple {9744#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L290 TraceCheckUtils]: 57: Hoare triple {9744#true} assume !false; {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L290 TraceCheckUtils]: 56: Hoare triple {9744#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9744#true} {9744#true} #80#return; {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L290 TraceCheckUtils]: 54: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L290 TraceCheckUtils]: 53: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L290 TraceCheckUtils]: 52: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L272 TraceCheckUtils]: 51: Hoare triple {9744#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9744#true} {9744#true} #78#return; {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L290 TraceCheckUtils]: 49: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L290 TraceCheckUtils]: 48: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L290 TraceCheckUtils]: 47: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L272 TraceCheckUtils]: 46: Hoare triple {9744#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9744#true} {9744#true} #76#return; {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L290 TraceCheckUtils]: 44: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:34,405 INFO L290 TraceCheckUtils]: 43: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L290 TraceCheckUtils]: 42: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L272 TraceCheckUtils]: 41: Hoare triple {9744#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L290 TraceCheckUtils]: 40: Hoare triple {9744#true} assume !false; {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L290 TraceCheckUtils]: 39: Hoare triple {9744#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9744#true} {9744#true} #80#return; {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L290 TraceCheckUtils]: 37: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L290 TraceCheckUtils]: 36: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L290 TraceCheckUtils]: 35: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L272 TraceCheckUtils]: 34: Hoare triple {9744#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9744#true} {9744#true} #78#return; {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L290 TraceCheckUtils]: 32: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L290 TraceCheckUtils]: 31: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L290 TraceCheckUtils]: 30: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L272 TraceCheckUtils]: 29: Hoare triple {9744#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9744#true} {9744#true} #76#return; {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L290 TraceCheckUtils]: 27: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L290 TraceCheckUtils]: 26: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L290 TraceCheckUtils]: 25: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L272 TraceCheckUtils]: 24: Hoare triple {9744#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L290 TraceCheckUtils]: 23: Hoare triple {9744#true} assume !false; {9744#true} is VALID [2022-04-27 11:55:34,406 INFO L290 TraceCheckUtils]: 22: Hoare triple {9744#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9744#true} {9744#true} #80#return; {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L290 TraceCheckUtils]: 20: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L290 TraceCheckUtils]: 19: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L290 TraceCheckUtils]: 18: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L272 TraceCheckUtils]: 17: Hoare triple {9744#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9744#true} {9744#true} #78#return; {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L290 TraceCheckUtils]: 15: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L290 TraceCheckUtils]: 14: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L290 TraceCheckUtils]: 13: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L272 TraceCheckUtils]: 12: Hoare triple {9744#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {9744#true} {9744#true} #76#return; {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L290 TraceCheckUtils]: 10: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L290 TraceCheckUtils]: 9: Hoare triple {9744#true} assume !(0 == ~cond); {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L290 TraceCheckUtils]: 8: Hoare triple {9744#true} ~cond := #in~cond; {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L272 TraceCheckUtils]: 7: Hoare triple {9744#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L290 TraceCheckUtils]: 6: Hoare triple {9744#true} assume !false; {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L290 TraceCheckUtils]: 5: Hoare triple {9744#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L272 TraceCheckUtils]: 4: Hoare triple {9744#true} call #t~ret5 := main(); {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9744#true} {9744#true} #90#return; {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L290 TraceCheckUtils]: 2: Hoare triple {9744#true} assume true; {9744#true} is VALID [2022-04-27 11:55:34,407 INFO L290 TraceCheckUtils]: 1: Hoare triple {9744#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); {9744#true} is VALID [2022-04-27 11:55:34,408 INFO L272 TraceCheckUtils]: 0: Hoare triple {9744#true} call ULTIMATE.init(); {9744#true} is VALID [2022-04-27 11:55:34,408 INFO L134 CoverageAnalysis]: Checked inductivity of 765 backedges. 90 proven. 4 refuted. 0 times theorem prover too weak. 671 trivial. 0 not checked. [2022-04-27 11:55:34,408 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:55:34,408 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [735977924] [2022-04-27 11:55:34,408 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:55:34,408 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [473823787] [2022-04-27 11:55:34,408 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [473823787] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:55:34,408 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:55:34,408 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-27 11:55:34,408 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [691597652] [2022-04-27 11:55:34,408 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:55:34,409 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.9) internal successors, (29), 9 states have internal predecessors, (29), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 6 states have call predecessors, (15), 4 states have call successors, (15) Word has length 121 [2022-04-27 11:55:34,409 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:55:34,409 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 2.9) internal successors, (29), 9 states have internal predecessors, (29), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 6 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-27 11:55:34,451 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:55:34,451 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-27 11:55:34,451 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:55:34,451 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-27 11:55:34,452 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=101, Unknown=0, NotChecked=0, Total=132 [2022-04-27 11:55:34,452 INFO L87 Difference]: Start difference. First operand 112 states and 131 transitions. Second operand has 12 states, 10 states have (on average 2.9) internal successors, (29), 9 states have internal predecessors, (29), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 6 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-27 11:55:34,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:55:34,762 INFO L93 Difference]: Finished difference Result 120 states and 137 transitions. [2022-04-27 11:55:34,763 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 11:55:34,763 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.9) internal successors, (29), 9 states have internal predecessors, (29), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 6 states have call predecessors, (15), 4 states have call successors, (15) Word has length 121 [2022-04-27 11:55:34,763 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:55:34,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.9) internal successors, (29), 9 states have internal predecessors, (29), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 6 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-27 11:55:34,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 43 transitions. [2022-04-27 11:55:34,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.9) internal successors, (29), 9 states have internal predecessors, (29), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 6 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-27 11:55:34,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 43 transitions. [2022-04-27 11:55:34,764 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 43 transitions. [2022-04-27 11:55:34,799 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:55:34,799 INFO L225 Difference]: With dead ends: 120 [2022-04-27 11:55:34,799 INFO L226 Difference]: Without dead ends: 0 [2022-04-27 11:55:34,800 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 245 GetRequests, 231 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2022-04-27 11:55:34,800 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 25 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 91 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 127 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 91 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:55:34,800 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 60 Invalid, 127 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 91 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:55:34,801 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-27 11:55:34,801 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-27 11:55:34,801 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:55:34,801 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 11:55:34,801 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 11:55:34,801 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 11:55:34,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:55:34,801 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 11:55:34,801 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 11:55:34,801 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:55:34,801 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:55:34,801 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-27 11:55:34,801 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-27 11:55:34,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:55:34,801 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 11:55:34,807 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 11:55:34,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:55:34,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:55:34,808 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:55:34,808 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:55:34,808 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 11:55:34,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-27 11:55:34,808 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 121 [2022-04-27 11:55:34,808 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:55:34,808 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-27 11:55:34,808 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 2.9) internal successors, (29), 9 states have internal predecessors, (29), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 6 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-27 11:55:34,808 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 11:55:34,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:55:34,810 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 11:55:34,827 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-27 11:55:35,019 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-27 11:55:35,021 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-27 11:55:46,081 WARN L232 SmtUtils]: Spent 9.02s on a formula simplification. DAG size of input: 144 DAG size of output: 16 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-27 11:55:49,903 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-27 11:55:49,903 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-27 11:55:49,903 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-27 11:55:49,903 INFO L899 garLoopResultBuilder]: For program point assume_abort_if_notENTRY(lines 11 13) no Hoare annotation was computed. [2022-04-27 11:55:49,903 INFO L899 garLoopResultBuilder]: For program point L12(line 12) no Hoare annotation was computed. [2022-04-27 11:55:49,903 INFO L899 garLoopResultBuilder]: For program point L12-2(lines 11 13) no Hoare annotation was computed. [2022-04-27 11:55:49,903 INFO L899 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 11 13) no Hoare annotation was computed. [2022-04-27 11:55:49,903 INFO L895 garLoopResultBuilder]: At program point L33-2(lines 33 41) the Hoare annotation is: (let ((.cse3 (* main_~B~0 main_~q~0))) (let ((.cse0 (= main_~q~0 0)) (.cse1 (= main_~B~0 1)) (.cse2 (= (+ .cse3 main_~r~0) main_~A~0))) (or (and .cse0 .cse1 .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse0 .cse1 .cse2) (and (<= 1 (div (div main_~p~0 2) 2)) (= (+ main_~A~0 main_~d~0) (+ (* main_~B~0 main_~p~0) .cse3 main_~r~0)) .cse0 .cse1 .cse2)))) [2022-04-27 11:55:49,903 INFO L899 garLoopResultBuilder]: For program point L58(line 58) no Hoare annotation was computed. [2022-04-27 11:55:49,903 INFO L899 garLoopResultBuilder]: For program point mainEXIT(lines 22 60) no Hoare annotation was computed. [2022-04-27 11:55:49,903 INFO L899 garLoopResultBuilder]: For program point mainFINAL(lines 22 60) no Hoare annotation was computed. [2022-04-27 11:55:49,903 INFO L895 garLoopResultBuilder]: At program point L44(line 44) the Hoare annotation is: (and (= (* main_~B~0 main_~p~0) main_~d~0) (<= 1 main_~p~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)) [2022-04-27 11:55:49,904 INFO L895 garLoopResultBuilder]: At program point L44-1(line 44) the Hoare annotation is: (let ((.cse1 (* main_~B~0 main_~q~0))) (let ((.cse0 (div main_~p~0 2)) (.cse2 (= (+ .cse1 main_~r~0) main_~A~0))) (or (and (<= 1 .cse0) (= (+ main_~A~0 main_~d~0) (+ (* main_~B~0 main_~p~0) .cse1 main_~r~0)) (= main_~B~0 1) .cse2) (and (= (let ((.cse3 (div main_~d~0 2))) (+ (div .cse3 2) main_~A~0 .cse3)) (+ .cse1 main_~r~0 (* main_~B~0 (div .cse0 2)) (* main_~B~0 .cse0))) (<= 1 main_~B~0) .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1))))) [2022-04-27 11:55:49,904 INFO L899 garLoopResultBuilder]: For program point L36(lines 33 41) no Hoare annotation was computed. [2022-04-27 11:55:49,904 INFO L895 garLoopResultBuilder]: At program point L34(line 34) the Hoare annotation is: (let ((.cse3 (* main_~B~0 main_~q~0))) (let ((.cse0 (= main_~q~0 0)) (.cse1 (= main_~B~0 1)) (.cse2 (= (+ .cse3 main_~r~0) main_~A~0))) (or (and .cse0 .cse1 .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse0 .cse1 .cse2) (and (<= 1 (div (div main_~p~0 2) 2)) (= (+ main_~A~0 main_~d~0) (+ (* main_~B~0 main_~p~0) .cse3 main_~r~0)) .cse0 .cse1 .cse2)))) [2022-04-27 11:55:49,904 INFO L895 garLoopResultBuilder]: At program point L34-1(line 34) the Hoare annotation is: (let ((.cse3 (* main_~B~0 main_~q~0))) (let ((.cse0 (= main_~q~0 0)) (.cse1 (= main_~B~0 1)) (.cse2 (= (+ .cse3 main_~r~0) main_~A~0))) (or (and .cse0 .cse1 .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse0 .cse1 .cse2) (and (<= 1 (div (div main_~p~0 2) 2)) (= (+ main_~A~0 main_~d~0) (+ (* main_~B~0 main_~p~0) .cse3 main_~r~0)) .cse0 .cse1 .cse2)))) [2022-04-27 11:55:49,904 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 22 60) the Hoare annotation is: true [2022-04-27 11:55:49,904 INFO L895 garLoopResultBuilder]: At program point L57(line 57) the Hoare annotation is: (let ((.cse0 (= main_~B~0 main_~d~0))) (or (and (= main_~B~0 1) .cse0 (= main_~p~0 1)) (and (<= 1 main_~B~0) (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= 1 main_~p~0) .cse0))) [2022-04-27 11:55:49,904 INFO L899 garLoopResultBuilder]: For program point L51(lines 51 54) no Hoare annotation was computed. [2022-04-27 11:55:49,904 INFO L899 garLoopResultBuilder]: For program point L51-2(lines 22 60) no Hoare annotation was computed. [2022-04-27 11:55:49,904 INFO L899 garLoopResultBuilder]: For program point L45(lines 43 55) no Hoare annotation was computed. [2022-04-27 11:55:49,904 INFO L895 garLoopResultBuilder]: At program point L43-1(lines 43 55) the Hoare annotation is: (and (<= 1 main_~B~0) (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= 1 main_~p~0) (= main_~B~0 main_~d~0)) [2022-04-27 11:55:49,904 INFO L895 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse3 (* main_~B~0 main_~q~0))) (let ((.cse0 (= main_~q~0 0)) (.cse1 (= main_~B~0 1)) (.cse2 (= (+ .cse3 main_~r~0) main_~A~0))) (or (and .cse0 .cse1 .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse0 .cse1 .cse2) (and (<= 1 (div (div main_~p~0 2) 2)) (= (+ main_~A~0 main_~d~0) (+ (* main_~B~0 main_~p~0) .cse3 main_~r~0)) .cse0 .cse1 .cse2)))) [2022-04-27 11:55:49,904 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-27 11:55:49,904 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-27 11:55:49,904 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-27 11:55:49,904 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-27 11:55:49,904 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-27 11:55:49,904 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-27 11:55:49,904 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-27 11:55:49,905 INFO L899 garLoopResultBuilder]: For program point L16(lines 16 17) no Hoare annotation was computed. [2022-04-27 11:55:49,905 INFO L899 garLoopResultBuilder]: For program point L15(lines 15 18) no Hoare annotation was computed. [2022-04-27 11:55:49,905 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-27 11:55:49,905 INFO L899 garLoopResultBuilder]: For program point L15-2(lines 14 20) no Hoare annotation was computed. [2022-04-27 11:55:49,905 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 14 20) no Hoare annotation was computed. [2022-04-27 11:55:49,905 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 17) no Hoare annotation was computed. [2022-04-27 11:55:49,907 INFO L356 BasicCegarLoop]: Path program histogram: [3, 3, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:55:49,908 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 11:55:49,910 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 11:55:49,910 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 11:55:49,910 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2022-04-27 11:55:49,911 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 11:55:49,911 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-27 11:55:49,911 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 11:55:49,911 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 11:55:49,911 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 11:55:49,911 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 11:55:49,911 WARN L170 areAnnotationChecker]: L51-2 has no Hoare annotation [2022-04-27 11:55:49,911 WARN L170 areAnnotationChecker]: L51-2 has no Hoare annotation [2022-04-27 11:55:49,912 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 11:55:49,912 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: L12-2 has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: L51-2 has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: L51-2 has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: L51-2 has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: L15-2 has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: L58 has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: L45 has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: L45 has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: L45 has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: L58 has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: L51 has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: L51 has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 11:55:49,913 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-27 11:55:49,913 INFO L163 areAnnotationChecker]: CFG has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-27 11:55:49,920 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 11:55:49 BoogieIcfgContainer [2022-04-27 11:55:49,920 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 11:55:49,921 INFO L158 Benchmark]: Toolchain (without parser) took 213820.30ms. Allocated memory was 170.9MB in the beginning and 215.0MB in the end (delta: 44.0MB). Free memory was 119.5MB in the beginning and 155.5MB in the end (delta: -36.0MB). Peak memory consumption was 102.9MB. Max. memory is 8.0GB. [2022-04-27 11:55:49,921 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 170.9MB. Free memory is still 136.3MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 11:55:49,921 INFO L158 Benchmark]: CACSL2BoogieTranslator took 185.00ms. Allocated memory is still 170.9MB. Free memory was 119.2MB in the beginning and 145.5MB in the end (delta: -26.3MB). Peak memory consumption was 12.4MB. Max. memory is 8.0GB. [2022-04-27 11:55:49,921 INFO L158 Benchmark]: Boogie Preprocessor took 17.97ms. Allocated memory is still 170.9MB. Free memory was 145.5MB in the beginning and 144.1MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-27 11:55:49,921 INFO L158 Benchmark]: RCFGBuilder took 261.14ms. Allocated memory is still 170.9MB. Free memory was 143.8MB in the beginning and 133.0MB in the end (delta: 10.9MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-27 11:55:49,921 INFO L158 Benchmark]: TraceAbstraction took 213335.15ms. Allocated memory was 170.9MB in the beginning and 215.0MB in the end (delta: 44.0MB). Free memory was 132.3MB in the beginning and 155.5MB in the end (delta: -23.2MB). Peak memory consumption was 115.7MB. Max. memory is 8.0GB. [2022-04-27 11:55:49,922 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.09ms. Allocated memory is still 170.9MB. Free memory is still 136.3MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 185.00ms. Allocated memory is still 170.9MB. Free memory was 119.2MB in the beginning and 145.5MB in the end (delta: -26.3MB). Peak memory consumption was 12.4MB. Max. memory is 8.0GB. * Boogie Preprocessor took 17.97ms. Allocated memory is still 170.9MB. Free memory was 145.5MB in the beginning and 144.1MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 261.14ms. Allocated memory is still 170.9MB. Free memory was 143.8MB in the beginning and 133.0MB in the end (delta: 10.9MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 213335.15ms. Allocated memory was 170.9MB in the beginning and 215.0MB in the end (delta: 44.0MB). Free memory was 132.3MB in the beginning and 155.5MB in the end (delta: -23.2MB). Peak memory consumption was 115.7MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 17]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 36 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 213.3s, OverallIterations: 13, TraceHistogramMax: 20, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 45.5s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 14.9s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 1 mSolverCounterUnknown, 376 SdHoareTripleChecker+Valid, 10.8s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 314 mSDsluCounter, 1558 SdHoareTripleChecker+Invalid, 10.8s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1097 mSDsCounter, 436 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2250 IncrementalHoareTripleChecker+Invalid, 2687 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 436 mSolverCounterUnsat, 461 mSDtfsCounter, 2250 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1477 GetRequests, 1334 SyntacticMatches, 22 SemanticMatches, 121 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 123 ImplicationChecksByTransitivity, 24.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=168occurred in iteration=10, InterpolantAutomatonStates: 97, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.6s AutomataMinimizationTime, 13 MinimizatonAttempts, 75 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 13 LocationsWithAnnotation, 126 PreInvPairs, 186 NumberOfFragments, 453 HoareAnnotationTreeSize, 126 FomulaSimplifications, 554 FormulaSimplificationTreeSizeReduction, 0.9s HoareSimplificationTime, 13 FomulaSimplificationsInter, 13266 FormulaSimplificationTreeSizeReductionInter, 14.0s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 147.6s InterpolantComputationTime, 867 NumberOfCodeBlocks, 745 NumberOfCodeBlocksAsserted, 21 NumberOfCheckSat, 1442 ConstructedInterpolants, 0 QuantifiedInterpolants, 15881 SizeOfPredicates, 26 NumberOfNonLiveVariables, 1855 ConjunctsInSsa, 195 ConjunctsInUnsatCore, 20 InterpolantComputations, 6 PerfectInterpolantSequences, 6338/6540 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 33]: Loop Invariant Derived loop invariant: (((((q == 0 && B == 1) && B * q + r == A) && B == d) && p == 1) || ((((B * 2 == d && p == 2) && q == 0) && B == 1) && B * q + r == A)) || ((((1 <= p / 2 / 2 && A + d == B * p + B * q + r) && q == 0) && B == 1) && B * q + r == A) RESULT: Ultimate proved your program to be correct! [2022-04-27 11:55:49,983 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...