/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/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard2_unwindbound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 13:14:52,410 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 13:14:52,411 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 13:14:52,453 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 13:14:52,453 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 13:14:52,454 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 13:14:52,455 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 13:14:52,456 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 13:14:52,466 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 13:14:52,470 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 13:14:52,471 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 13:14:52,474 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 13:14:52,475 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 13:14:52,476 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 13:14:52,477 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 13:14:52,479 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 13:14:52,479 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 13:14:52,480 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 13:14:52,482 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 13:14:52,486 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 13:14:52,488 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 13:14:52,489 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 13:14:52,490 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 13:14:52,492 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 13:14:52,493 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 13:14:52,497 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 13:14:52,497 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 13:14:52,497 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 13:14:52,500 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 13:14:52,501 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 13:14:52,501 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 13:14:52,502 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 13:14:52,503 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 13:14:52,503 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 13:14:52,504 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 13:14:52,504 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 13:14:52,504 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 13:14:52,505 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 13:14:52,505 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 13:14:52,505 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 13:14:52,506 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 13:14:52,507 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 13:14:52,507 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 13:14:52,516 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 13:14:52,516 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 13:14:52,517 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 13:14:52,517 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 13:14:52,517 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 13:14:52,518 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 13:14:52,518 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 13:14:52,518 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 13:14:52,518 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 13:14:52,518 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 13:14:52,519 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 13:14:52,519 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 13:14:52,519 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 13:14:52,519 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 13:14:52,519 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 13:14:52,519 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 13:14:52,519 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 13:14:52,519 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 13:14:52,520 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 13:14:52,520 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 13:14:52,520 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 13:14:52,520 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 13:14:52,520 INFO L138 SettingsManager]: * Use separate solver for trace checks=false 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-28 13:14:52,697 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 13:14:52,711 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 13:14:52,713 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 13:14:52,714 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 13:14:52,714 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 13:14:52,715 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard2_unwindbound20.c [2022-04-28 13:14:52,774 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f8e16fac9/97b2754fc97e4ad1bf39c4a5a0e8d3bb/FLAG7bbe65a4e [2022-04-28 13:14:53,087 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 13:14:53,087 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard2_unwindbound20.c [2022-04-28 13:14:53,092 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f8e16fac9/97b2754fc97e4ad1bf39c4a5a0e8d3bb/FLAG7bbe65a4e [2022-04-28 13:14:53,518 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f8e16fac9/97b2754fc97e4ad1bf39c4a5a0e8d3bb [2022-04-28 13:14:53,520 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 13:14:53,521 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 13:14:53,523 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 13:14:53,523 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 13:14:53,526 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 13:14:53,527 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 01:14:53" (1/1) ... [2022-04-28 13:14:53,528 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@25b77f05 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:14:53, skipping insertion in model container [2022-04-28 13:14:53,528 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 01:14:53" (1/1) ... [2022-04-28 13:14:53,532 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 13:14:53,544 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 13:14:53,709 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-scaling/hard2_unwindbound20.c[526,539] [2022-04-28 13:14:53,738 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 13:14:53,747 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 13:14:53,756 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-scaling/hard2_unwindbound20.c[526,539] [2022-04-28 13:14:53,769 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 13:14:53,780 INFO L208 MainTranslator]: Completed translation [2022-04-28 13:14:53,781 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:14:53 WrapperNode [2022-04-28 13:14:53,781 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 13:14:53,782 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 13:14:53,782 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 13:14:53,783 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 13:14:53,793 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:14:53" (1/1) ... [2022-04-28 13:14:53,794 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:14:53" (1/1) ... [2022-04-28 13:14:53,799 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:14:53" (1/1) ... [2022-04-28 13:14:53,800 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:14:53" (1/1) ... [2022-04-28 13:14:53,812 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:14:53" (1/1) ... [2022-04-28 13:14:53,817 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:14:53" (1/1) ... [2022-04-28 13:14:53,823 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:14:53" (1/1) ... [2022-04-28 13:14:53,826 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 13:14:53,827 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 13:14:53,827 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 13:14:53,827 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 13:14:53,828 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:14:53" (1/1) ... [2022-04-28 13:14:53,834 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 13:14:53,843 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:14:53,853 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-28 13:14:53,870 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-28 13:14:53,887 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 13:14:53,888 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 13:14:53,888 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 13:14:53,888 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 13:14:53,888 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 13:14:53,888 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 13:14:53,888 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 13:14:53,888 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 13:14:53,888 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 13:14:53,888 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 13:14:53,888 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 13:14:53,888 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 13:14:53,889 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 13:14:53,889 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 13:14:53,889 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 13:14:53,890 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 13:14:53,890 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 13:14:53,890 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 13:14:53,890 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 13:14:53,890 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 13:14:53,938 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 13:14:53,940 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 13:14:54,116 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 13:14:54,121 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 13:14:54,121 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 13:14:54,122 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 01:14:54 BoogieIcfgContainer [2022-04-28 13:14:54,123 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 13:14:54,124 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 13:14:54,124 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 13:14:54,140 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 13:14:54,140 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 01:14:53" (1/3) ... [2022-04-28 13:14:54,140 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@60b1330e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 01:14:54, skipping insertion in model container [2022-04-28 13:14:54,140 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:14:53" (2/3) ... [2022-04-28 13:14:54,141 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@60b1330e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 01:14:54, skipping insertion in model container [2022-04-28 13:14:54,141 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 01:14:54" (3/3) ... [2022-04-28 13:14:54,142 INFO L111 eAbstractionObserver]: Analyzing ICFG hard2_unwindbound20.c [2022-04-28 13:14:54,153 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 13:14:54,153 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 13:14:54,197 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 13:14:54,203 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, 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@6904d91, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@6b563096 [2022-04-28 13:14:54,204 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 13:14:54,210 INFO L276 IsEmpty]: Start isEmpty. Operand has 31 states, 17 states have (on average 1.5294117647058822) internal successors, (26), 18 states have internal predecessors, (26), 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-28 13:14:54,214 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-28 13:14:54,215 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:14:54,216 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:14:54,216 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:14:54,221 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:14:54,221 INFO L85 PathProgramCache]: Analyzing trace with hash -1682617676, now seen corresponding path program 1 times [2022-04-28 13:14:54,228 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:14:54,229 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [250392796] [2022-04-28 13:14:54,237 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:14:54,238 INFO L85 PathProgramCache]: Analyzing trace with hash -1682617676, now seen corresponding path program 2 times [2022-04-28 13:14:54,240 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:14:54,240 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [263536554] [2022-04-28 13:14:54,240 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:14:54,241 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:14:54,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:14:54,407 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 13:14:54,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:14:54,432 INFO L290 TraceCheckUtils]: 0: Hoare triple {39#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {34#true} is VALID [2022-04-28 13:14:54,433 INFO L290 TraceCheckUtils]: 1: Hoare triple {34#true} assume true; {34#true} is VALID [2022-04-28 13:14:54,433 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {34#true} {34#true} #92#return; {34#true} is VALID [2022-04-28 13:14:54,436 INFO L272 TraceCheckUtils]: 0: Hoare triple {34#true} call ULTIMATE.init(); {39#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 13:14:54,436 INFO L290 TraceCheckUtils]: 1: Hoare triple {39#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {34#true} is VALID [2022-04-28 13:14:54,436 INFO L290 TraceCheckUtils]: 2: Hoare triple {34#true} assume true; {34#true} is VALID [2022-04-28 13:14:54,436 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34#true} {34#true} #92#return; {34#true} is VALID [2022-04-28 13:14:54,437 INFO L272 TraceCheckUtils]: 4: Hoare triple {34#true} call #t~ret7 := main(); {34#true} is VALID [2022-04-28 13:14:54,437 INFO L290 TraceCheckUtils]: 5: Hoare triple {34#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; {34#true} is VALID [2022-04-28 13:14:54,437 INFO L290 TraceCheckUtils]: 6: Hoare triple {34#true} assume !true; {35#false} is VALID [2022-04-28 13:14:54,437 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#false} assume !true; {35#false} is VALID [2022-04-28 13:14:54,438 INFO L272 TraceCheckUtils]: 8: Hoare triple {35#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {35#false} is VALID [2022-04-28 13:14:54,438 INFO L290 TraceCheckUtils]: 9: Hoare triple {35#false} ~cond := #in~cond; {35#false} is VALID [2022-04-28 13:14:54,438 INFO L290 TraceCheckUtils]: 10: Hoare triple {35#false} assume 0 == ~cond; {35#false} is VALID [2022-04-28 13:14:54,439 INFO L290 TraceCheckUtils]: 11: Hoare triple {35#false} assume !false; {35#false} is VALID [2022-04-28 13:14:54,439 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-28 13:14:54,440 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:14:54,440 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [263536554] [2022-04-28 13:14:54,440 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [263536554] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:14:54,440 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:14:54,440 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 13:14:54,443 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:14:54,443 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [250392796] [2022-04-28 13:14:54,443 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [250392796] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:14:54,443 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:14:54,443 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 13:14:54,444 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2074514139] [2022-04-28 13:14:54,444 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:14:54,449 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 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 12 [2022-04-28 13:14:54,451 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:14:54,454 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 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-28 13:14:54,478 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:14:54,478 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 13:14:54,479 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:14:54,498 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 13:14:54,499 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 13:14:54,502 INFO L87 Difference]: Start difference. First operand has 31 states, 17 states have (on average 1.5294117647058822) internal successors, (26), 18 states have internal predecessors, (26), 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 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 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-28 13:14:54,699 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:14:54,700 INFO L93 Difference]: Finished difference Result 57 states and 91 transitions. [2022-04-28 13:14:54,700 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 13:14:54,700 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 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 12 [2022-04-28 13:14:54,700 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:14:54,702 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 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-28 13:14:54,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 91 transitions. [2022-04-28 13:14:54,714 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 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-28 13:14:54,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 91 transitions. [2022-04-28 13:14:54,717 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 91 transitions. [2022-04-28 13:14:54,822 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:14:54,828 INFO L225 Difference]: With dead ends: 57 [2022-04-28 13:14:54,828 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 13:14:54,830 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 13:14:54,833 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 6 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 44 SdHoareTripleChecker+Invalid, 31 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 13:14:54,833 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 44 Invalid, 31 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 13:14:54,844 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 13:14:54,855 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 26. [2022-04-28 13:14:54,855 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:14:54,856 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 13:14:54,856 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 13:14:54,857 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 13:14:54,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:14:54,860 INFO L93 Difference]: Finished difference Result 27 states and 37 transitions. [2022-04-28 13:14:54,860 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 37 transitions. [2022-04-28 13:14:54,861 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:14:54,861 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:14:54,861 INFO L74 IsIncluded]: Start isIncluded. First operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 27 states. [2022-04-28 13:14:54,862 INFO L87 Difference]: Start difference. First operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 27 states. [2022-04-28 13:14:54,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:14:54,864 INFO L93 Difference]: Finished difference Result 27 states and 37 transitions. [2022-04-28 13:14:54,864 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 37 transitions. [2022-04-28 13:14:54,865 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:14:54,865 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:14:54,865 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:14:54,865 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:14:54,866 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 13:14:54,867 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 36 transitions. [2022-04-28 13:14:54,868 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 36 transitions. Word has length 12 [2022-04-28 13:14:54,868 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:14:54,869 INFO L495 AbstractCegarLoop]: Abstraction has 26 states and 36 transitions. [2022-04-28 13:14:54,869 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 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-28 13:14:54,869 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 36 transitions. [2022-04-28 13:14:54,899 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:14:54,899 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 36 transitions. [2022-04-28 13:14:54,900 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-28 13:14:54,900 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:14:54,900 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:14:54,900 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 13:14:54,901 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:14:54,901 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:14:54,901 INFO L85 PathProgramCache]: Analyzing trace with hash -2144676086, now seen corresponding path program 1 times [2022-04-28 13:14:54,901 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:14:54,901 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1056403782] [2022-04-28 13:14:54,902 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:14:54,902 INFO L85 PathProgramCache]: Analyzing trace with hash -2144676086, now seen corresponding path program 2 times [2022-04-28 13:14:54,902 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:14:54,902 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [10951955] [2022-04-28 13:14:54,902 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:14:54,903 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:14:54,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:14:54,976 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 13:14:54,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:14:54,983 INFO L290 TraceCheckUtils]: 0: Hoare triple {270#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {262#true} is VALID [2022-04-28 13:14:54,984 INFO L290 TraceCheckUtils]: 1: Hoare triple {262#true} assume true; {262#true} is VALID [2022-04-28 13:14:54,984 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {262#true} {262#true} #92#return; {262#true} is VALID [2022-04-28 13:14:54,985 INFO L272 TraceCheckUtils]: 0: Hoare triple {262#true} call ULTIMATE.init(); {270#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 13:14:54,985 INFO L290 TraceCheckUtils]: 1: Hoare triple {270#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {262#true} is VALID [2022-04-28 13:14:54,985 INFO L290 TraceCheckUtils]: 2: Hoare triple {262#true} assume true; {262#true} is VALID [2022-04-28 13:14:54,986 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {262#true} {262#true} #92#return; {262#true} is VALID [2022-04-28 13:14:54,986 INFO L272 TraceCheckUtils]: 4: Hoare triple {262#true} call #t~ret7 := main(); {262#true} is VALID [2022-04-28 13:14:54,986 INFO L290 TraceCheckUtils]: 5: Hoare triple {262#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; {267#(= main_~q~0 0)} is VALID [2022-04-28 13:14:54,987 INFO L290 TraceCheckUtils]: 6: Hoare triple {267#(= main_~q~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {267#(= main_~q~0 0)} is VALID [2022-04-28 13:14:54,987 INFO L290 TraceCheckUtils]: 7: Hoare triple {267#(= main_~q~0 0)} assume !!(#t~post5 < 20);havoc #t~post5; {267#(= main_~q~0 0)} is VALID [2022-04-28 13:14:54,988 INFO L272 TraceCheckUtils]: 8: Hoare triple {267#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {268#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:14:54,988 INFO L290 TraceCheckUtils]: 9: Hoare triple {268#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {269#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:14:54,988 INFO L290 TraceCheckUtils]: 10: Hoare triple {269#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {263#false} is VALID [2022-04-28 13:14:54,989 INFO L290 TraceCheckUtils]: 11: Hoare triple {263#false} assume !false; {263#false} is VALID [2022-04-28 13:14:54,989 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-28 13:14:54,989 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:14:54,989 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [10951955] [2022-04-28 13:14:54,989 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [10951955] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:14:54,989 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:14:54,990 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 13:14:54,990 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:14:54,990 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1056403782] [2022-04-28 13:14:54,990 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1056403782] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:14:54,990 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:14:54,990 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 13:14:54,990 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1043661118] [2022-04-28 13:14:54,990 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:14:54,991 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 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 12 [2022-04-28 13:14:54,991 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:14:54,991 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 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-28 13:14:55,000 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:14:55,000 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 13:14:55,000 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:14:55,001 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 13:14:55,001 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 13:14:55,001 INFO L87 Difference]: Start difference. First operand 26 states and 36 transitions. Second operand has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 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-28 13:14:55,277 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:14:55,277 INFO L93 Difference]: Finished difference Result 41 states and 56 transitions. [2022-04-28 13:14:55,278 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 13:14:55,278 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 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 12 [2022-04-28 13:14:55,278 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:14:55,278 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 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-28 13:14:55,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 56 transitions. [2022-04-28 13:14:55,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 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-28 13:14:55,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 56 transitions. [2022-04-28 13:14:55,282 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 56 transitions. [2022-04-28 13:14:55,347 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:14:55,352 INFO L225 Difference]: With dead ends: 41 [2022-04-28 13:14:55,352 INFO L226 Difference]: Without dead ends: 39 [2022-04-28 13:14:55,353 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 13:14:55,354 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 24 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 80 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 85 SdHoareTripleChecker+Invalid, 93 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 80 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:14:55,354 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 85 Invalid, 93 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 80 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:14:55,355 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-04-28 13:14:55,359 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 30. [2022-04-28 13:14:55,360 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:14:55,360 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 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-28 13:14:55,360 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 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-28 13:14:55,361 INFO L87 Difference]: Start difference. First operand 39 states. Second operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 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-28 13:14:55,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:14:55,363 INFO L93 Difference]: Finished difference Result 39 states and 54 transitions. [2022-04-28 13:14:55,363 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 54 transitions. [2022-04-28 13:14:55,364 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:14:55,364 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:14:55,364 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 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 39 states. [2022-04-28 13:14:55,365 INFO L87 Difference]: Start difference. First operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 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 39 states. [2022-04-28 13:14:55,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:14:55,367 INFO L93 Difference]: Finished difference Result 39 states and 54 transitions. [2022-04-28 13:14:55,367 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 54 transitions. [2022-04-28 13:14:55,368 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:14:55,368 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:14:55,368 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:14:55,368 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:14:55,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 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-28 13:14:55,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 39 transitions. [2022-04-28 13:14:55,370 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 39 transitions. Word has length 12 [2022-04-28 13:14:55,370 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:14:55,370 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 39 transitions. [2022-04-28 13:14:55,370 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 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-28 13:14:55,371 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 39 transitions. [2022-04-28 13:14:55,405 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:14:55,405 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 39 transitions. [2022-04-28 13:14:55,406 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2022-04-28 13:14:55,406 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:14:55,406 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:14:55,406 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 13:14:55,406 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:14:55,407 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:14:55,407 INFO L85 PathProgramCache]: Analyzing trace with hash 1842794081, now seen corresponding path program 1 times [2022-04-28 13:14:55,407 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:14:55,407 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1263590666] [2022-04-28 13:14:55,407 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:14:55,407 INFO L85 PathProgramCache]: Analyzing trace with hash 1842794081, now seen corresponding path program 2 times [2022-04-28 13:14:55,408 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:14:55,408 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [50191904] [2022-04-28 13:14:55,408 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:14:55,408 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:14:55,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:14:55,444 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 13:14:55,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:14:55,456 INFO L290 TraceCheckUtils]: 0: Hoare triple {508#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {506#(<= ~counter~0 0)} is VALID [2022-04-28 13:14:55,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {506#(<= ~counter~0 0)} assume true; {506#(<= ~counter~0 0)} is VALID [2022-04-28 13:14:55,457 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {506#(<= ~counter~0 0)} {501#true} #92#return; {506#(<= ~counter~0 0)} is VALID [2022-04-28 13:14:55,458 INFO L272 TraceCheckUtils]: 0: Hoare triple {501#true} call ULTIMATE.init(); {508#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 13:14:55,459 INFO L290 TraceCheckUtils]: 1: Hoare triple {508#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {506#(<= ~counter~0 0)} is VALID [2022-04-28 13:14:55,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {506#(<= ~counter~0 0)} assume true; {506#(<= ~counter~0 0)} is VALID [2022-04-28 13:14:55,459 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {506#(<= ~counter~0 0)} {501#true} #92#return; {506#(<= ~counter~0 0)} is VALID [2022-04-28 13:14:55,460 INFO L272 TraceCheckUtils]: 4: Hoare triple {506#(<= ~counter~0 0)} call #t~ret7 := main(); {506#(<= ~counter~0 0)} is VALID [2022-04-28 13:14:55,460 INFO L290 TraceCheckUtils]: 5: Hoare triple {506#(<= ~counter~0 0)} 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; {506#(<= ~counter~0 0)} is VALID [2022-04-28 13:14:55,461 INFO L290 TraceCheckUtils]: 6: Hoare triple {506#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {507#(<= |main_#t~post5| 0)} is VALID [2022-04-28 13:14:55,461 INFO L290 TraceCheckUtils]: 7: Hoare triple {507#(<= |main_#t~post5| 0)} assume !(#t~post5 < 20);havoc #t~post5; {502#false} is VALID [2022-04-28 13:14:55,461 INFO L290 TraceCheckUtils]: 8: Hoare triple {502#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {502#false} is VALID [2022-04-28 13:14:55,462 INFO L290 TraceCheckUtils]: 9: Hoare triple {502#false} assume !(#t~post6 < 20);havoc #t~post6; {502#false} is VALID [2022-04-28 13:14:55,462 INFO L272 TraceCheckUtils]: 10: Hoare triple {502#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {502#false} is VALID [2022-04-28 13:14:55,462 INFO L290 TraceCheckUtils]: 11: Hoare triple {502#false} ~cond := #in~cond; {502#false} is VALID [2022-04-28 13:14:55,462 INFO L290 TraceCheckUtils]: 12: Hoare triple {502#false} assume 0 == ~cond; {502#false} is VALID [2022-04-28 13:14:55,462 INFO L290 TraceCheckUtils]: 13: Hoare triple {502#false} assume !false; {502#false} is VALID [2022-04-28 13:14:55,463 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-28 13:14:55,463 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:14:55,463 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [50191904] [2022-04-28 13:14:55,463 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [50191904] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:14:55,463 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:14:55,463 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 13:14:55,464 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:14:55,464 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1263590666] [2022-04-28 13:14:55,464 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1263590666] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:14:55,464 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:14:55,464 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 13:14:55,464 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [137753587] [2022-04-28 13:14:55,464 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:14:55,465 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 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 14 [2022-04-28 13:14:55,465 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:14:55,465 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 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-28 13:14:55,476 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:14:55,476 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 13:14:55,477 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:14:55,477 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 13:14:55,477 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 13:14:55,477 INFO L87 Difference]: Start difference. First operand 30 states and 39 transitions. Second operand has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 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-28 13:14:55,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:14:55,650 INFO L93 Difference]: Finished difference Result 46 states and 61 transitions. [2022-04-28 13:14:55,650 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 13:14:55,650 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 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 14 [2022-04-28 13:14:55,650 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:14:55,650 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 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-28 13:14:55,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2022-04-28 13:14:55,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 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-28 13:14:55,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2022-04-28 13:14:55,654 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 58 transitions. [2022-04-28 13:14:55,695 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:14:55,697 INFO L225 Difference]: With dead ends: 46 [2022-04-28 13:14:55,697 INFO L226 Difference]: Without dead ends: 32 [2022-04-28 13:14:55,697 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 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-28 13:14:55,698 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 6 mSDsluCounter, 39 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 73 SdHoareTripleChecker+Invalid, 59 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:14:55,698 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 73 Invalid, 59 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:14:55,699 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-28 13:14:55,705 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-28 13:14:55,705 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:14:55,706 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 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-28 13:14:55,706 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 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-28 13:14:55,706 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 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-28 13:14:55,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:14:55,708 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-28 13:14:55,708 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 13:14:55,709 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:14:55,709 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:14:55,709 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 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 32 states. [2022-04-28 13:14:55,709 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 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 32 states. [2022-04-28 13:14:55,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:14:55,711 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-28 13:14:55,711 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 13:14:55,711 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:14:55,711 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:14:55,712 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:14:55,712 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:14:55,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 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-28 13:14:55,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-28 13:14:55,713 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 14 [2022-04-28 13:14:55,714 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:14:55,714 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-28 13:14:55,714 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 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-28 13:14:55,714 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 41 transitions. [2022-04-28 13:14:55,745 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:14:55,746 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 13:14:55,746 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-28 13:14:55,747 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:14:55,747 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:14:55,747 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-28 13:14:55,747 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:14:55,747 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:14:55,747 INFO L85 PathProgramCache]: Analyzing trace with hash 311129497, now seen corresponding path program 1 times [2022-04-28 13:14:55,748 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:14:55,748 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1733720] [2022-04-28 13:14:55,748 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:14:55,748 INFO L85 PathProgramCache]: Analyzing trace with hash 311129497, now seen corresponding path program 2 times [2022-04-28 13:14:55,749 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:14:55,749 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1563755875] [2022-04-28 13:14:55,749 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:14:55,749 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:14:55,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:14:55,794 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 13:14:55,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:14:55,800 INFO L290 TraceCheckUtils]: 0: Hoare triple {745#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {733#true} is VALID [2022-04-28 13:14:55,801 INFO L290 TraceCheckUtils]: 1: Hoare triple {733#true} assume true; {733#true} is VALID [2022-04-28 13:14:55,801 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {733#true} {733#true} #92#return; {733#true} is VALID [2022-04-28 13:14:55,801 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-04-28 13:14:55,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:14:55,806 INFO L290 TraceCheckUtils]: 0: Hoare triple {733#true} ~cond := #in~cond; {733#true} is VALID [2022-04-28 13:14:55,806 INFO L290 TraceCheckUtils]: 1: Hoare triple {733#true} assume !(0 == ~cond); {733#true} is VALID [2022-04-28 13:14:55,806 INFO L290 TraceCheckUtils]: 2: Hoare triple {733#true} assume true; {733#true} is VALID [2022-04-28 13:14:55,807 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {733#true} {738#(= main_~A~0 main_~r~0)} #78#return; {738#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 13:14:55,808 INFO L272 TraceCheckUtils]: 0: Hoare triple {733#true} call ULTIMATE.init(); {745#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 13:14:55,808 INFO L290 TraceCheckUtils]: 1: Hoare triple {745#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {733#true} is VALID [2022-04-28 13:14:55,808 INFO L290 TraceCheckUtils]: 2: Hoare triple {733#true} assume true; {733#true} is VALID [2022-04-28 13:14:55,808 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {733#true} {733#true} #92#return; {733#true} is VALID [2022-04-28 13:14:55,808 INFO L272 TraceCheckUtils]: 4: Hoare triple {733#true} call #t~ret7 := main(); {733#true} is VALID [2022-04-28 13:14:55,809 INFO L290 TraceCheckUtils]: 5: Hoare triple {733#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; {738#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 13:14:55,809 INFO L290 TraceCheckUtils]: 6: Hoare triple {738#(= main_~A~0 main_~r~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {738#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 13:14:55,809 INFO L290 TraceCheckUtils]: 7: Hoare triple {738#(= main_~A~0 main_~r~0)} assume !!(#t~post5 < 20);havoc #t~post5; {738#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 13:14:55,809 INFO L272 TraceCheckUtils]: 8: Hoare triple {738#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {733#true} is VALID [2022-04-28 13:14:55,810 INFO L290 TraceCheckUtils]: 9: Hoare triple {733#true} ~cond := #in~cond; {733#true} is VALID [2022-04-28 13:14:55,810 INFO L290 TraceCheckUtils]: 10: Hoare triple {733#true} assume !(0 == ~cond); {733#true} is VALID [2022-04-28 13:14:55,810 INFO L290 TraceCheckUtils]: 11: Hoare triple {733#true} assume true; {733#true} is VALID [2022-04-28 13:14:55,810 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {733#true} {738#(= main_~A~0 main_~r~0)} #78#return; {738#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 13:14:55,811 INFO L272 TraceCheckUtils]: 13: Hoare triple {738#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:14:55,811 INFO L290 TraceCheckUtils]: 14: Hoare triple {743#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {744#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:14:55,812 INFO L290 TraceCheckUtils]: 15: Hoare triple {744#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {734#false} is VALID [2022-04-28 13:14:55,812 INFO L290 TraceCheckUtils]: 16: Hoare triple {734#false} assume !false; {734#false} is VALID [2022-04-28 13:14:55,812 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-28 13:14:55,813 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:14:55,813 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1563755875] [2022-04-28 13:14:55,813 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1563755875] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:14:55,813 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:14:55,813 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 13:14:55,813 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:14:55,813 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1733720] [2022-04-28 13:14:55,813 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1733720] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:14:55,814 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:14:55,814 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 13:14:55,814 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [458088464] [2022-04-28 13:14:55,814 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:14:55,814 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 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 17 [2022-04-28 13:14:55,814 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:14:55,815 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 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-28 13:14:55,824 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:14:55,825 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 13:14:55,825 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:14:55,825 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 13:14:55,825 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 13:14:55,826 INFO L87 Difference]: Start difference. First operand 32 states and 41 transitions. Second operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 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-28 13:14:56,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:14:56,087 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-28 13:14:56,087 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 13:14:56,088 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 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 17 [2022-04-28 13:14:56,089 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:14:56,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 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-28 13:14:56,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 56 transitions. [2022-04-28 13:14:56,097 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 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-28 13:14:56,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 56 transitions. [2022-04-28 13:14:56,099 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 56 transitions. [2022-04-28 13:14:56,139 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:14:56,140 INFO L225 Difference]: With dead ends: 46 [2022-04-28 13:14:56,140 INFO L226 Difference]: Without dead ends: 44 [2022-04-28 13:14:56,141 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-28 13:14:56,141 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 19 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 78 SdHoareTripleChecker+Invalid, 106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 93 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:14:56,142 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 78 Invalid, 106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 93 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:14:56,142 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-28 13:14:56,149 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 36. [2022-04-28 13:14:56,149 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:14:56,149 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 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-28 13:14:56,150 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 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-28 13:14:56,150 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 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-28 13:14:56,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:14:56,152 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-28 13:14:56,152 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-28 13:14:56,153 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:14:56,153 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:14:56,153 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 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 44 states. [2022-04-28 13:14:56,153 INFO L87 Difference]: Start difference. First operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 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 44 states. [2022-04-28 13:14:56,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:14:56,155 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-28 13:14:56,155 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-28 13:14:56,155 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:14:56,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:14:56,156 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:14:56,156 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:14:56,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 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-28 13:14:56,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 44 transitions. [2022-04-28 13:14:56,157 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 44 transitions. Word has length 17 [2022-04-28 13:14:56,157 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:14:56,157 INFO L495 AbstractCegarLoop]: Abstraction has 36 states and 44 transitions. [2022-04-28 13:14:56,158 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 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-28 13:14:56,158 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 44 transitions. [2022-04-28 13:14:56,187 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:14:56,187 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 44 transitions. [2022-04-28 13:14:56,188 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 13:14:56,188 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:14:56,188 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:14:56,188 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-28 13:14:56,188 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:14:56,189 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:14:56,189 INFO L85 PathProgramCache]: Analyzing trace with hash -1912623062, now seen corresponding path program 1 times [2022-04-28 13:14:56,189 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:14:56,189 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2129696717] [2022-04-28 13:14:56,189 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:14:56,189 INFO L85 PathProgramCache]: Analyzing trace with hash -1912623062, now seen corresponding path program 2 times [2022-04-28 13:14:56,189 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:14:56,190 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1872045498] [2022-04-28 13:14:56,190 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:14:56,190 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:14:56,199 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:14:56,199 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [239521642] [2022-04-28 13:14:56,199 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:14:56,208 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:14:56,208 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:14:56,209 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-28 13:14:56,227 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-28 13:14:56,256 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:14:56,256 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:14:56,258 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 13:14:56,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:14:56,280 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:14:56,481 INFO L272 TraceCheckUtils]: 0: Hoare triple {1008#true} call ULTIMATE.init(); {1008#true} is VALID [2022-04-28 13:14:56,482 INFO L290 TraceCheckUtils]: 1: Hoare triple {1008#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1008#true} is VALID [2022-04-28 13:14:56,482 INFO L290 TraceCheckUtils]: 2: Hoare triple {1008#true} assume true; {1008#true} is VALID [2022-04-28 13:14:56,482 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1008#true} {1008#true} #92#return; {1008#true} is VALID [2022-04-28 13:14:56,482 INFO L272 TraceCheckUtils]: 4: Hoare triple {1008#true} call #t~ret7 := main(); {1008#true} is VALID [2022-04-28 13:14:56,483 INFO L290 TraceCheckUtils]: 5: Hoare triple {1008#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; {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:14:56,483 INFO L290 TraceCheckUtils]: 6: Hoare triple {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:14:56,484 INFO L290 TraceCheckUtils]: 7: Hoare triple {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(#t~post5 < 20);havoc #t~post5; {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:14:56,484 INFO L272 TraceCheckUtils]: 8: Hoare triple {1028#(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)); {1008#true} is VALID [2022-04-28 13:14:56,484 INFO L290 TraceCheckUtils]: 9: Hoare triple {1008#true} ~cond := #in~cond; {1008#true} is VALID [2022-04-28 13:14:56,484 INFO L290 TraceCheckUtils]: 10: Hoare triple {1008#true} assume !(0 == ~cond); {1008#true} is VALID [2022-04-28 13:14:56,484 INFO L290 TraceCheckUtils]: 11: Hoare triple {1008#true} assume true; {1008#true} is VALID [2022-04-28 13:14:56,485 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1008#true} {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:14:56,485 INFO L272 TraceCheckUtils]: 13: Hoare triple {1028#(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)); {1008#true} is VALID [2022-04-28 13:14:56,485 INFO L290 TraceCheckUtils]: 14: Hoare triple {1008#true} ~cond := #in~cond; {1008#true} is VALID [2022-04-28 13:14:56,486 INFO L290 TraceCheckUtils]: 15: Hoare triple {1008#true} assume !(0 == ~cond); {1008#true} is VALID [2022-04-28 13:14:56,486 INFO L290 TraceCheckUtils]: 16: Hoare triple {1008#true} assume true; {1008#true} is VALID [2022-04-28 13:14:56,486 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1008#true} {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:14:56,487 INFO L272 TraceCheckUtils]: 18: Hoare triple {1028#(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)); {1068#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:14:56,488 INFO L290 TraceCheckUtils]: 19: Hoare triple {1068#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1072#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:14:56,488 INFO L290 TraceCheckUtils]: 20: Hoare triple {1072#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1009#false} is VALID [2022-04-28 13:14:56,488 INFO L290 TraceCheckUtils]: 21: Hoare triple {1009#false} assume !false; {1009#false} is VALID [2022-04-28 13:14:56,489 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-28 13:14:56,489 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 13:14:56,489 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:14:56,489 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1872045498] [2022-04-28 13:14:56,489 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:14:56,489 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [239521642] [2022-04-28 13:14:56,489 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [239521642] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:14:56,489 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:14:56,489 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 13:14:56,490 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:14:56,490 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2129696717] [2022-04-28 13:14:56,490 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2129696717] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:14:56,490 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:14:56,494 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 13:14:56,494 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [132816768] [2022-04-28 13:14:56,494 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:14:56,495 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, (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 22 [2022-04-28 13:14:56,495 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:14:56,495 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, (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-28 13:14:56,507 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:14:56,507 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 13:14:56,507 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:14:56,508 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 13:14:56,508 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 13:14:56,508 INFO L87 Difference]: Start difference. First operand 36 states and 44 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, (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-28 13:14:56,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:14:56,677 INFO L93 Difference]: Finished difference Result 65 states and 87 transitions. [2022-04-28 13:14:56,677 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 13:14:56,678 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, (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 22 [2022-04-28 13:14:56,678 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:14:56,678 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, (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-28 13:14:56,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 81 transitions. [2022-04-28 13:14:56,680 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, (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-28 13:14:56,681 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 81 transitions. [2022-04-28 13:14:56,681 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 81 transitions. [2022-04-28 13:14:56,730 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:14:56,732 INFO L225 Difference]: With dead ends: 65 [2022-04-28 13:14:56,732 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 13:14:56,733 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 18 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-28 13:14:56,733 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 10 mSDsluCounter, 83 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 121 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-28 13:14:56,733 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 121 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 13:14:56,734 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 13:14:56,747 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-04-28 13:14:56,748 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:14:56,748 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 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-28 13:14:56,748 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 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-28 13:14:56,748 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 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-28 13:14:56,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:14:56,750 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-28 13:14:56,750 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-28 13:14:56,751 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:14:56,751 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:14:56,751 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 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 50 states. [2022-04-28 13:14:56,751 INFO L87 Difference]: Start difference. First operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 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 50 states. [2022-04-28 13:14:56,753 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:14:56,753 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-28 13:14:56,753 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-28 13:14:56,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:14:56,753 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:14:56,753 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:14:56,753 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:14:56,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 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-28 13:14:56,755 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2022-04-28 13:14:56,755 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 22 [2022-04-28 13:14:56,755 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:14:56,755 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2022-04-28 13:14:56,756 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, (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-28 13:14:56,756 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 64 transitions. [2022-04-28 13:14:56,799 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:14:56,799 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-28 13:14:56,800 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-04-28 13:14:56,800 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:14:56,800 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, 1, 1] [2022-04-28 13:14:56,827 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-28 13:14:57,019 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:14:57,020 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:14:57,020 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:14:57,020 INFO L85 PathProgramCache]: Analyzing trace with hash 214651490, now seen corresponding path program 1 times [2022-04-28 13:14:57,020 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:14:57,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1193189450] [2022-04-28 13:14:57,021 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:14:57,021 INFO L85 PathProgramCache]: Analyzing trace with hash 214651490, now seen corresponding path program 2 times [2022-04-28 13:14:57,021 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:14:57,021 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [686579448] [2022-04-28 13:14:57,021 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:14:57,021 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:14:57,032 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:14:57,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [693075974] [2022-04-28 13:14:57,033 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:14:57,033 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:14:57,033 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:14:57,034 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-28 13:14:57,035 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-28 13:14:57,070 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:14:57,070 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:14:57,075 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 13:14:57,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:14:57,083 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:14:57,261 INFO L272 TraceCheckUtils]: 0: Hoare triple {1410#true} call ULTIMATE.init(); {1410#true} is VALID [2022-04-28 13:14:57,262 INFO L290 TraceCheckUtils]: 1: Hoare triple {1410#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1418#(<= ~counter~0 0)} is VALID [2022-04-28 13:14:57,262 INFO L290 TraceCheckUtils]: 2: Hoare triple {1418#(<= ~counter~0 0)} assume true; {1418#(<= ~counter~0 0)} is VALID [2022-04-28 13:14:57,263 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1418#(<= ~counter~0 0)} {1410#true} #92#return; {1418#(<= ~counter~0 0)} is VALID [2022-04-28 13:14:57,263 INFO L272 TraceCheckUtils]: 4: Hoare triple {1418#(<= ~counter~0 0)} call #t~ret7 := main(); {1418#(<= ~counter~0 0)} is VALID [2022-04-28 13:14:57,266 INFO L290 TraceCheckUtils]: 5: Hoare triple {1418#(<= ~counter~0 0)} 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; {1418#(<= ~counter~0 0)} is VALID [2022-04-28 13:14:57,267 INFO L290 TraceCheckUtils]: 6: Hoare triple {1418#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 13:14:57,267 INFO L290 TraceCheckUtils]: 7: Hoare triple {1434#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 13:14:57,267 INFO L272 TraceCheckUtils]: 8: Hoare triple {1434#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1434#(<= ~counter~0 1)} is VALID [2022-04-28 13:14:57,269 INFO L290 TraceCheckUtils]: 9: Hoare triple {1434#(<= ~counter~0 1)} ~cond := #in~cond; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 13:14:57,270 INFO L290 TraceCheckUtils]: 10: Hoare triple {1434#(<= ~counter~0 1)} assume !(0 == ~cond); {1434#(<= ~counter~0 1)} is VALID [2022-04-28 13:14:57,270 INFO L290 TraceCheckUtils]: 11: Hoare triple {1434#(<= ~counter~0 1)} assume true; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 13:14:57,270 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1434#(<= ~counter~0 1)} {1434#(<= ~counter~0 1)} #78#return; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 13:14:57,271 INFO L272 TraceCheckUtils]: 13: Hoare triple {1434#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1434#(<= ~counter~0 1)} is VALID [2022-04-28 13:14:57,271 INFO L290 TraceCheckUtils]: 14: Hoare triple {1434#(<= ~counter~0 1)} ~cond := #in~cond; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 13:14:57,271 INFO L290 TraceCheckUtils]: 15: Hoare triple {1434#(<= ~counter~0 1)} assume !(0 == ~cond); {1434#(<= ~counter~0 1)} is VALID [2022-04-28 13:14:57,272 INFO L290 TraceCheckUtils]: 16: Hoare triple {1434#(<= ~counter~0 1)} assume true; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 13:14:57,272 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1434#(<= ~counter~0 1)} {1434#(<= ~counter~0 1)} #80#return; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 13:14:57,273 INFO L272 TraceCheckUtils]: 18: Hoare triple {1434#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1434#(<= ~counter~0 1)} is VALID [2022-04-28 13:14:57,273 INFO L290 TraceCheckUtils]: 19: Hoare triple {1434#(<= ~counter~0 1)} ~cond := #in~cond; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 13:14:57,273 INFO L290 TraceCheckUtils]: 20: Hoare triple {1434#(<= ~counter~0 1)} assume !(0 == ~cond); {1434#(<= ~counter~0 1)} is VALID [2022-04-28 13:14:57,273 INFO L290 TraceCheckUtils]: 21: Hoare triple {1434#(<= ~counter~0 1)} assume true; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 13:14:57,274 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1434#(<= ~counter~0 1)} {1434#(<= ~counter~0 1)} #82#return; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 13:14:57,274 INFO L290 TraceCheckUtils]: 23: Hoare triple {1434#(<= ~counter~0 1)} assume !(~r~0 >= ~d~0); {1434#(<= ~counter~0 1)} is VALID [2022-04-28 13:14:57,275 INFO L290 TraceCheckUtils]: 24: Hoare triple {1434#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1489#(<= |main_#t~post6| 1)} is VALID [2022-04-28 13:14:57,276 INFO L290 TraceCheckUtils]: 25: Hoare triple {1489#(<= |main_#t~post6| 1)} assume !(#t~post6 < 20);havoc #t~post6; {1411#false} is VALID [2022-04-28 13:14:57,276 INFO L272 TraceCheckUtils]: 26: Hoare triple {1411#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {1411#false} is VALID [2022-04-28 13:14:57,277 INFO L290 TraceCheckUtils]: 27: Hoare triple {1411#false} ~cond := #in~cond; {1411#false} is VALID [2022-04-28 13:14:57,277 INFO L290 TraceCheckUtils]: 28: Hoare triple {1411#false} assume 0 == ~cond; {1411#false} is VALID [2022-04-28 13:14:57,285 INFO L290 TraceCheckUtils]: 29: Hoare triple {1411#false} assume !false; {1411#false} is VALID [2022-04-28 13:14:57,286 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-28 13:14:57,286 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 13:14:57,286 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:14:57,286 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [686579448] [2022-04-28 13:14:57,286 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:14:57,286 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [693075974] [2022-04-28 13:14:57,287 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [693075974] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:14:57,287 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:14:57,287 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 13:14:57,287 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:14:57,287 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1193189450] [2022-04-28 13:14:57,287 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1193189450] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:14:57,287 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:14:57,287 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 13:14:57,287 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [233259807] [2022-04-28 13:14:57,287 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:14:57,288 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 30 [2022-04-28 13:14:57,288 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:14:57,288 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 13:14:57,301 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:14:57,301 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 13:14:57,301 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:14:57,302 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 13:14:57,302 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 13:14:57,302 INFO L87 Difference]: Start difference. First operand 50 states and 64 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 13:14:57,391 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:14:57,391 INFO L93 Difference]: Finished difference Result 70 states and 80 transitions. [2022-04-28 13:14:57,391 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 13:14:57,392 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 30 [2022-04-28 13:14:57,393 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:14:57,393 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 13:14:57,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-28 13:14:57,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 13:14:57,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-28 13:14:57,396 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 59 transitions. [2022-04-28 13:14:57,425 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:14:57,427 INFO L225 Difference]: With dead ends: 70 [2022-04-28 13:14:57,427 INFO L226 Difference]: Without dead ends: 63 [2022-04-28 13:14:57,427 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 13:14:57,429 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 3 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 17 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 105 SdHoareTripleChecker+Invalid, 20 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 17 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 13:14:57,429 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [3 Valid, 105 Invalid, 20 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 17 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 13:14:57,430 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-28 13:14:57,458 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 62. [2022-04-28 13:14:57,458 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:14:57,459 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 13:14:57,459 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 13:14:57,459 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 13:14:57,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:14:57,463 INFO L93 Difference]: Finished difference Result 63 states and 73 transitions. [2022-04-28 13:14:57,463 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 73 transitions. [2022-04-28 13:14:57,463 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:14:57,463 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:14:57,464 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 63 states. [2022-04-28 13:14:57,465 INFO L87 Difference]: Start difference. First operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 63 states. [2022-04-28 13:14:57,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:14:57,466 INFO L93 Difference]: Finished difference Result 63 states and 73 transitions. [2022-04-28 13:14:57,466 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 73 transitions. [2022-04-28 13:14:57,467 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:14:57,467 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:14:57,467 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:14:57,467 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:14:57,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 13:14:57,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 72 transitions. [2022-04-28 13:14:57,470 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 72 transitions. Word has length 30 [2022-04-28 13:14:57,470 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:14:57,470 INFO L495 AbstractCegarLoop]: Abstraction has 62 states and 72 transitions. [2022-04-28 13:14:57,470 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 13:14:57,470 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 62 states and 72 transitions. [2022-04-28 13:14:57,519 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-28 13:14:57,519 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 72 transitions. [2022-04-28 13:14:57,519 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-04-28 13:14:57,519 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:14:57,519 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, 1, 1] [2022-04-28 13:14:57,539 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-28 13:14:57,731 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,SelfDestructingSolverStorable5 [2022-04-28 13:14:57,732 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:14:57,732 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:14:57,732 INFO L85 PathProgramCache]: Analyzing trace with hash 216379368, now seen corresponding path program 1 times [2022-04-28 13:14:57,732 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:14:57,732 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [912494348] [2022-04-28 13:14:57,733 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:14:57,733 INFO L85 PathProgramCache]: Analyzing trace with hash 216379368, now seen corresponding path program 2 times [2022-04-28 13:14:57,733 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:14:57,733 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [635077044] [2022-04-28 13:14:57,733 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:14:57,733 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:14:57,742 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:14:57,743 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [479838458] [2022-04-28 13:14:57,743 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:14:57,743 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:14:57,743 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:14:57,758 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-28 13:14:57,758 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-28 13:14:57,789 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:14:57,789 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:14:57,790 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 13:14:57,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:14:57,801 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:14:59,763 INFO L272 TraceCheckUtils]: 0: Hoare triple {1894#true} call ULTIMATE.init(); {1894#true} is VALID [2022-04-28 13:14:59,763 INFO L290 TraceCheckUtils]: 1: Hoare triple {1894#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1894#true} is VALID [2022-04-28 13:14:59,763 INFO L290 TraceCheckUtils]: 2: Hoare triple {1894#true} assume true; {1894#true} is VALID [2022-04-28 13:14:59,763 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1894#true} {1894#true} #92#return; {1894#true} is VALID [2022-04-28 13:14:59,763 INFO L272 TraceCheckUtils]: 4: Hoare triple {1894#true} call #t~ret7 := main(); {1894#true} is VALID [2022-04-28 13:14:59,766 INFO L290 TraceCheckUtils]: 5: Hoare triple {1894#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; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:14:59,767 INFO L290 TraceCheckUtils]: 6: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:14:59,767 INFO L290 TraceCheckUtils]: 7: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !!(#t~post5 < 20);havoc #t~post5; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:14:59,767 INFO L272 TraceCheckUtils]: 8: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1894#true} is VALID [2022-04-28 13:14:59,767 INFO L290 TraceCheckUtils]: 9: Hoare triple {1894#true} ~cond := #in~cond; {1894#true} is VALID [2022-04-28 13:14:59,767 INFO L290 TraceCheckUtils]: 10: Hoare triple {1894#true} assume !(0 == ~cond); {1894#true} is VALID [2022-04-28 13:14:59,767 INFO L290 TraceCheckUtils]: 11: Hoare triple {1894#true} assume true; {1894#true} is VALID [2022-04-28 13:14:59,768 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1894#true} {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #78#return; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:14:59,768 INFO L272 TraceCheckUtils]: 13: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1894#true} is VALID [2022-04-28 13:14:59,768 INFO L290 TraceCheckUtils]: 14: Hoare triple {1894#true} ~cond := #in~cond; {1894#true} is VALID [2022-04-28 13:14:59,768 INFO L290 TraceCheckUtils]: 15: Hoare triple {1894#true} assume !(0 == ~cond); {1894#true} is VALID [2022-04-28 13:14:59,768 INFO L290 TraceCheckUtils]: 16: Hoare triple {1894#true} assume true; {1894#true} is VALID [2022-04-28 13:14:59,769 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1894#true} {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #80#return; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:14:59,770 INFO L272 TraceCheckUtils]: 18: Hoare triple {1914#(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)); {1894#true} is VALID [2022-04-28 13:14:59,770 INFO L290 TraceCheckUtils]: 19: Hoare triple {1894#true} ~cond := #in~cond; {1894#true} is VALID [2022-04-28 13:14:59,770 INFO L290 TraceCheckUtils]: 20: Hoare triple {1894#true} assume !(0 == ~cond); {1894#true} is VALID [2022-04-28 13:14:59,770 INFO L290 TraceCheckUtils]: 21: Hoare triple {1894#true} assume true; {1894#true} is VALID [2022-04-28 13:14:59,771 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1894#true} {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #82#return; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:14:59,771 INFO L290 TraceCheckUtils]: 23: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:14:59,771 INFO L290 TraceCheckUtils]: 24: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:14:59,772 INFO L290 TraceCheckUtils]: 25: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:14:59,772 INFO L272 TraceCheckUtils]: 26: Hoare triple {1914#(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)); {1978#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:14:59,773 INFO L290 TraceCheckUtils]: 27: Hoare triple {1978#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1982#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:14:59,773 INFO L290 TraceCheckUtils]: 28: Hoare triple {1982#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1895#false} is VALID [2022-04-28 13:14:59,773 INFO L290 TraceCheckUtils]: 29: Hoare triple {1895#false} assume !false; {1895#false} is VALID [2022-04-28 13:14:59,773 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-28 13:14:59,774 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 13:14:59,774 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:14:59,774 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [635077044] [2022-04-28 13:14:59,774 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:14:59,774 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [479838458] [2022-04-28 13:14:59,774 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [479838458] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:14:59,774 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:14:59,774 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 13:14:59,774 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:14:59,774 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [912494348] [2022-04-28 13:14:59,774 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [912494348] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:14:59,774 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:14:59,775 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 13:14:59,775 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1487891116] [2022-04-28 13:14:59,775 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:14:59,775 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 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 30 [2022-04-28 13:14:59,775 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:14:59,775 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 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-28 13:14:59,794 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:14:59,794 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 13:14:59,794 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:14:59,794 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 13:14:59,794 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 13:14:59,795 INFO L87 Difference]: Start difference. First operand 62 states and 72 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 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-28 13:14:59,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:14:59,971 INFO L93 Difference]: Finished difference Result 76 states and 91 transitions. [2022-04-28 13:14:59,971 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 13:14:59,971 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 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 30 [2022-04-28 13:14:59,971 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:14:59,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 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-28 13:14:59,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-28 13:14:59,972 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 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-28 13:14:59,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-28 13:14:59,973 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-28 13:15:00,007 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:15:00,008 INFO L225 Difference]: With dead ends: 76 [2022-04-28 13:15:00,008 INFO L226 Difference]: Without dead ends: 64 [2022-04-28 13:15:00,009 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 26 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-28 13:15:00,009 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 11 mSDsluCounter, 66 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 95 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-28 13:15:00,009 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 95 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 13:15:00,010 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-28 13:15:00,041 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 63. [2022-04-28 13:15:00,041 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:15:00,041 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 13:15:00,042 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 13:15:00,042 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 13:15:00,043 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:00,044 INFO L93 Difference]: Finished difference Result 64 states and 77 transitions. [2022-04-28 13:15:00,044 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-28 13:15:00,044 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:15:00,044 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:15:00,044 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 64 states. [2022-04-28 13:15:00,044 INFO L87 Difference]: Start difference. First operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 64 states. [2022-04-28 13:15:00,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:00,046 INFO L93 Difference]: Finished difference Result 64 states and 77 transitions. [2022-04-28 13:15:00,046 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-28 13:15:00,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:15:00,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:15:00,047 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:15:00,047 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:15:00,047 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 13:15:00,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 76 transitions. [2022-04-28 13:15:00,048 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 76 transitions. Word has length 30 [2022-04-28 13:15:00,049 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:15:00,049 INFO L495 AbstractCegarLoop]: Abstraction has 63 states and 76 transitions. [2022-04-28 13:15:00,049 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 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-28 13:15:00,049 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 76 transitions. [2022-04-28 13:15:00,106 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:15:00,106 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 76 transitions. [2022-04-28 13:15:00,107 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 13:15:00,107 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:15:00,107 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:15:00,126 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-28 13:15:00,312 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:15:00,313 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:15:00,313 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:15:00,313 INFO L85 PathProgramCache]: Analyzing trace with hash -1255015940, now seen corresponding path program 1 times [2022-04-28 13:15:00,313 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:15:00,313 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1137171162] [2022-04-28 13:15:02,743 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:15:02,743 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:15:02,744 INFO L85 PathProgramCache]: Analyzing trace with hash -1255015940, now seen corresponding path program 2 times [2022-04-28 13:15:02,744 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:15:02,744 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [59645508] [2022-04-28 13:15:02,744 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:15:02,744 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:15:02,755 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:15:02,755 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [141398220] [2022-04-28 13:15:02,755 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:15:02,755 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:15:02,755 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:15:02,756 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-28 13:15:02,757 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-28 13:15:02,797 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:15:02,797 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:15:02,798 INFO L263 TraceCheckSpWp]: Trace formula consists of 126 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 13:15:02,813 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:15:02,814 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:15:02,962 INFO L272 TraceCheckUtils]: 0: Hoare triple {2396#true} call ULTIMATE.init(); {2396#true} is VALID [2022-04-28 13:15:02,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {2396#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2404#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:02,963 INFO L290 TraceCheckUtils]: 2: Hoare triple {2404#(<= ~counter~0 0)} assume true; {2404#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:02,964 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2404#(<= ~counter~0 0)} {2396#true} #92#return; {2404#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:02,964 INFO L272 TraceCheckUtils]: 4: Hoare triple {2404#(<= ~counter~0 0)} call #t~ret7 := main(); {2404#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:02,965 INFO L290 TraceCheckUtils]: 5: Hoare triple {2404#(<= ~counter~0 0)} 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; {2404#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:02,965 INFO L290 TraceCheckUtils]: 6: Hoare triple {2404#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:02,965 INFO L290 TraceCheckUtils]: 7: Hoare triple {2420#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:02,966 INFO L272 TraceCheckUtils]: 8: Hoare triple {2420#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2420#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:02,966 INFO L290 TraceCheckUtils]: 9: Hoare triple {2420#(<= ~counter~0 1)} ~cond := #in~cond; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:02,967 INFO L290 TraceCheckUtils]: 10: Hoare triple {2420#(<= ~counter~0 1)} assume !(0 == ~cond); {2420#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:02,967 INFO L290 TraceCheckUtils]: 11: Hoare triple {2420#(<= ~counter~0 1)} assume true; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:02,967 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2420#(<= ~counter~0 1)} {2420#(<= ~counter~0 1)} #78#return; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:02,968 INFO L272 TraceCheckUtils]: 13: Hoare triple {2420#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2420#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:02,968 INFO L290 TraceCheckUtils]: 14: Hoare triple {2420#(<= ~counter~0 1)} ~cond := #in~cond; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:02,968 INFO L290 TraceCheckUtils]: 15: Hoare triple {2420#(<= ~counter~0 1)} assume !(0 == ~cond); {2420#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:02,969 INFO L290 TraceCheckUtils]: 16: Hoare triple {2420#(<= ~counter~0 1)} assume true; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:02,969 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2420#(<= ~counter~0 1)} {2420#(<= ~counter~0 1)} #80#return; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:02,970 INFO L272 TraceCheckUtils]: 18: Hoare triple {2420#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2420#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:02,970 INFO L290 TraceCheckUtils]: 19: Hoare triple {2420#(<= ~counter~0 1)} ~cond := #in~cond; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:02,970 INFO L290 TraceCheckUtils]: 20: Hoare triple {2420#(<= ~counter~0 1)} assume !(0 == ~cond); {2420#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:02,970 INFO L290 TraceCheckUtils]: 21: Hoare triple {2420#(<= ~counter~0 1)} assume true; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:02,971 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2420#(<= ~counter~0 1)} {2420#(<= ~counter~0 1)} #82#return; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:02,971 INFO L290 TraceCheckUtils]: 23: Hoare triple {2420#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:02,972 INFO L290 TraceCheckUtils]: 24: Hoare triple {2420#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2475#(<= |main_#t~post5| 1)} is VALID [2022-04-28 13:15:02,972 INFO L290 TraceCheckUtils]: 25: Hoare triple {2475#(<= |main_#t~post5| 1)} assume !(#t~post5 < 20);havoc #t~post5; {2397#false} is VALID [2022-04-28 13:15:02,972 INFO L290 TraceCheckUtils]: 26: Hoare triple {2397#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2397#false} is VALID [2022-04-28 13:15:02,972 INFO L290 TraceCheckUtils]: 27: Hoare triple {2397#false} assume !(#t~post6 < 20);havoc #t~post6; {2397#false} is VALID [2022-04-28 13:15:02,972 INFO L272 TraceCheckUtils]: 28: Hoare triple {2397#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2397#false} is VALID [2022-04-28 13:15:02,972 INFO L290 TraceCheckUtils]: 29: Hoare triple {2397#false} ~cond := #in~cond; {2397#false} is VALID [2022-04-28 13:15:02,972 INFO L290 TraceCheckUtils]: 30: Hoare triple {2397#false} assume !(0 == ~cond); {2397#false} is VALID [2022-04-28 13:15:02,973 INFO L290 TraceCheckUtils]: 31: Hoare triple {2397#false} assume true; {2397#false} is VALID [2022-04-28 13:15:02,973 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2397#false} {2397#false} #88#return; {2397#false} is VALID [2022-04-28 13:15:02,973 INFO L272 TraceCheckUtils]: 33: Hoare triple {2397#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {2397#false} is VALID [2022-04-28 13:15:02,973 INFO L290 TraceCheckUtils]: 34: Hoare triple {2397#false} ~cond := #in~cond; {2397#false} is VALID [2022-04-28 13:15:02,973 INFO L290 TraceCheckUtils]: 35: Hoare triple {2397#false} assume 0 == ~cond; {2397#false} is VALID [2022-04-28 13:15:02,973 INFO L290 TraceCheckUtils]: 36: Hoare triple {2397#false} assume !false; {2397#false} is VALID [2022-04-28 13:15:02,973 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 18 proven. 2 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-28 13:15:02,973 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:15:03,157 INFO L290 TraceCheckUtils]: 36: Hoare triple {2397#false} assume !false; {2397#false} is VALID [2022-04-28 13:15:03,158 INFO L290 TraceCheckUtils]: 35: Hoare triple {2397#false} assume 0 == ~cond; {2397#false} is VALID [2022-04-28 13:15:03,158 INFO L290 TraceCheckUtils]: 34: Hoare triple {2397#false} ~cond := #in~cond; {2397#false} is VALID [2022-04-28 13:15:03,158 INFO L272 TraceCheckUtils]: 33: Hoare triple {2397#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {2397#false} is VALID [2022-04-28 13:15:03,158 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2396#true} {2397#false} #88#return; {2397#false} is VALID [2022-04-28 13:15:03,158 INFO L290 TraceCheckUtils]: 31: Hoare triple {2396#true} assume true; {2396#true} is VALID [2022-04-28 13:15:03,158 INFO L290 TraceCheckUtils]: 30: Hoare triple {2396#true} assume !(0 == ~cond); {2396#true} is VALID [2022-04-28 13:15:03,158 INFO L290 TraceCheckUtils]: 29: Hoare triple {2396#true} ~cond := #in~cond; {2396#true} is VALID [2022-04-28 13:15:03,158 INFO L272 TraceCheckUtils]: 28: Hoare triple {2397#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2396#true} is VALID [2022-04-28 13:15:03,158 INFO L290 TraceCheckUtils]: 27: Hoare triple {2397#false} assume !(#t~post6 < 20);havoc #t~post6; {2397#false} is VALID [2022-04-28 13:15:03,159 INFO L290 TraceCheckUtils]: 26: Hoare triple {2397#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2397#false} is VALID [2022-04-28 13:15:03,162 INFO L290 TraceCheckUtils]: 25: Hoare triple {2545#(< |main_#t~post5| 20)} assume !(#t~post5 < 20);havoc #t~post5; {2397#false} is VALID [2022-04-28 13:15:03,163 INFO L290 TraceCheckUtils]: 24: Hoare triple {2549#(< ~counter~0 20)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2545#(< |main_#t~post5| 20)} is VALID [2022-04-28 13:15:03,163 INFO L290 TraceCheckUtils]: 23: Hoare triple {2549#(< ~counter~0 20)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2549#(< ~counter~0 20)} is VALID [2022-04-28 13:15:03,164 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2396#true} {2549#(< ~counter~0 20)} #82#return; {2549#(< ~counter~0 20)} is VALID [2022-04-28 13:15:03,164 INFO L290 TraceCheckUtils]: 21: Hoare triple {2396#true} assume true; {2396#true} is VALID [2022-04-28 13:15:03,164 INFO L290 TraceCheckUtils]: 20: Hoare triple {2396#true} assume !(0 == ~cond); {2396#true} is VALID [2022-04-28 13:15:03,164 INFO L290 TraceCheckUtils]: 19: Hoare triple {2396#true} ~cond := #in~cond; {2396#true} is VALID [2022-04-28 13:15:03,164 INFO L272 TraceCheckUtils]: 18: Hoare triple {2549#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2396#true} is VALID [2022-04-28 13:15:03,164 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2396#true} {2549#(< ~counter~0 20)} #80#return; {2549#(< ~counter~0 20)} is VALID [2022-04-28 13:15:03,165 INFO L290 TraceCheckUtils]: 16: Hoare triple {2396#true} assume true; {2396#true} is VALID [2022-04-28 13:15:03,165 INFO L290 TraceCheckUtils]: 15: Hoare triple {2396#true} assume !(0 == ~cond); {2396#true} is VALID [2022-04-28 13:15:03,165 INFO L290 TraceCheckUtils]: 14: Hoare triple {2396#true} ~cond := #in~cond; {2396#true} is VALID [2022-04-28 13:15:03,165 INFO L272 TraceCheckUtils]: 13: Hoare triple {2549#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2396#true} is VALID [2022-04-28 13:15:03,165 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2396#true} {2549#(< ~counter~0 20)} #78#return; {2549#(< ~counter~0 20)} is VALID [2022-04-28 13:15:03,165 INFO L290 TraceCheckUtils]: 11: Hoare triple {2396#true} assume true; {2396#true} is VALID [2022-04-28 13:15:03,165 INFO L290 TraceCheckUtils]: 10: Hoare triple {2396#true} assume !(0 == ~cond); {2396#true} is VALID [2022-04-28 13:15:03,166 INFO L290 TraceCheckUtils]: 9: Hoare triple {2396#true} ~cond := #in~cond; {2396#true} is VALID [2022-04-28 13:15:03,166 INFO L272 TraceCheckUtils]: 8: Hoare triple {2549#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2396#true} is VALID [2022-04-28 13:15:03,166 INFO L290 TraceCheckUtils]: 7: Hoare triple {2549#(< ~counter~0 20)} assume !!(#t~post5 < 20);havoc #t~post5; {2549#(< ~counter~0 20)} is VALID [2022-04-28 13:15:03,167 INFO L290 TraceCheckUtils]: 6: Hoare triple {2604#(< ~counter~0 19)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2549#(< ~counter~0 20)} is VALID [2022-04-28 13:15:03,167 INFO L290 TraceCheckUtils]: 5: Hoare triple {2604#(< ~counter~0 19)} 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; {2604#(< ~counter~0 19)} is VALID [2022-04-28 13:15:03,168 INFO L272 TraceCheckUtils]: 4: Hoare triple {2604#(< ~counter~0 19)} call #t~ret7 := main(); {2604#(< ~counter~0 19)} is VALID [2022-04-28 13:15:03,168 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2604#(< ~counter~0 19)} {2396#true} #92#return; {2604#(< ~counter~0 19)} is VALID [2022-04-28 13:15:03,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {2604#(< ~counter~0 19)} assume true; {2604#(< ~counter~0 19)} is VALID [2022-04-28 13:15:03,169 INFO L290 TraceCheckUtils]: 1: Hoare triple {2396#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2604#(< ~counter~0 19)} is VALID [2022-04-28 13:15:03,169 INFO L272 TraceCheckUtils]: 0: Hoare triple {2396#true} call ULTIMATE.init(); {2396#true} is VALID [2022-04-28 13:15:03,169 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 13:15:03,169 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:15:03,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [59645508] [2022-04-28 13:15:03,170 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:15:03,170 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [141398220] [2022-04-28 13:15:03,170 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [141398220] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:15:03,170 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:15:03,170 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 13:15:03,170 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:15:03,170 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1137171162] [2022-04-28 13:15:03,170 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1137171162] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:15:03,170 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:15:03,170 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 13:15:03,170 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1741819476] [2022-04-28 13:15:03,170 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:15:03,171 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 37 [2022-04-28 13:15:03,171 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:15:03,171 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 13:15:03,192 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:15:03,192 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 13:15:03,192 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:15:03,192 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 13:15:03,192 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-28 13:15:03,193 INFO L87 Difference]: Start difference. First operand 63 states and 76 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 13:15:03,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:03,322 INFO L93 Difference]: Finished difference Result 90 states and 114 transitions. [2022-04-28 13:15:03,322 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 13:15:03,322 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 37 [2022-04-28 13:15:03,322 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:15:03,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 13:15:03,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-28 13:15:03,323 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 13:15:03,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-28 13:15:03,324 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 70 transitions. [2022-04-28 13:15:03,369 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:15:03,371 INFO L225 Difference]: With dead ends: 90 [2022-04-28 13:15:03,371 INFO L226 Difference]: Without dead ends: 65 [2022-04-28 13:15:03,371 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 67 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-28 13:15:03,372 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 2 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 17 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 20 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 17 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 13:15:03,372 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [2 Valid, 126 Invalid, 20 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 17 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 13:15:03,372 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-04-28 13:15:03,409 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 65. [2022-04-28 13:15:03,409 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:15:03,410 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand has 65 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 43 states have internal predecessors, (50), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 13:15:03,410 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand has 65 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 43 states have internal predecessors, (50), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 13:15:03,410 INFO L87 Difference]: Start difference. First operand 65 states. Second operand has 65 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 43 states have internal predecessors, (50), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 13:15:03,412 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:03,412 INFO L93 Difference]: Finished difference Result 65 states and 78 transitions. [2022-04-28 13:15:03,412 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 78 transitions. [2022-04-28 13:15:03,412 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:15:03,412 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:15:03,412 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 43 states have internal predecessors, (50), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 65 states. [2022-04-28 13:15:03,413 INFO L87 Difference]: Start difference. First operand has 65 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 43 states have internal predecessors, (50), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 65 states. [2022-04-28 13:15:03,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:03,414 INFO L93 Difference]: Finished difference Result 65 states and 78 transitions. [2022-04-28 13:15:03,414 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 78 transitions. [2022-04-28 13:15:03,415 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:15:03,415 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:15:03,415 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:15:03,415 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:15:03,415 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 43 states have internal predecessors, (50), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 13:15:03,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 78 transitions. [2022-04-28 13:15:03,417 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 78 transitions. Word has length 37 [2022-04-28 13:15:03,417 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:15:03,417 INFO L495 AbstractCegarLoop]: Abstraction has 65 states and 78 transitions. [2022-04-28 13:15:03,417 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 13:15:03,417 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 78 transitions. [2022-04-28 13:15:03,484 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:15:03,484 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 78 transitions. [2022-04-28 13:15:03,484 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-28 13:15:03,484 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:15:03,484 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:15:03,504 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-28 13:15:03,699 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:15:03,699 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:15:03,700 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:15:03,700 INFO L85 PathProgramCache]: Analyzing trace with hash -1057559728, now seen corresponding path program 1 times [2022-04-28 13:15:03,700 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:15:03,700 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [667376374] [2022-04-28 13:15:05,858 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:15:05,858 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:15:05,858 INFO L85 PathProgramCache]: Analyzing trace with hash -1057559728, now seen corresponding path program 2 times [2022-04-28 13:15:05,859 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:15:05,859 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1387162609] [2022-04-28 13:15:05,859 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:15:05,859 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:15:05,866 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:15:05,866 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2108899029] [2022-04-28 13:15:05,866 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:15:05,866 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:15:05,866 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:15:05,867 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-28 13:15:05,868 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-28 13:15:05,900 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:15:05,901 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:15:05,902 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 13:15:05,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:15:05,911 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:15:06,063 INFO L272 TraceCheckUtils]: 0: Hoare triple {3067#true} call ULTIMATE.init(); {3067#true} is VALID [2022-04-28 13:15:06,064 INFO L290 TraceCheckUtils]: 1: Hoare triple {3067#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3067#true} is VALID [2022-04-28 13:15:06,064 INFO L290 TraceCheckUtils]: 2: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 13:15:06,064 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3067#true} {3067#true} #92#return; {3067#true} is VALID [2022-04-28 13:15:06,064 INFO L272 TraceCheckUtils]: 4: Hoare triple {3067#true} call #t~ret7 := main(); {3067#true} is VALID [2022-04-28 13:15:06,065 INFO L290 TraceCheckUtils]: 5: Hoare triple {3067#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; {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:15:06,065 INFO L290 TraceCheckUtils]: 6: Hoare triple {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:15:06,065 INFO L290 TraceCheckUtils]: 7: Hoare triple {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(#t~post5 < 20);havoc #t~post5; {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:15:06,065 INFO L272 TraceCheckUtils]: 8: Hoare triple {3087#(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)); {3067#true} is VALID [2022-04-28 13:15:06,066 INFO L290 TraceCheckUtils]: 9: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 13:15:06,066 INFO L290 TraceCheckUtils]: 10: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 13:15:06,066 INFO L290 TraceCheckUtils]: 11: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 13:15:06,066 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3067#true} {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:15:06,066 INFO L272 TraceCheckUtils]: 13: Hoare triple {3087#(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)); {3067#true} is VALID [2022-04-28 13:15:06,066 INFO L290 TraceCheckUtils]: 14: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 13:15:06,066 INFO L290 TraceCheckUtils]: 15: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 13:15:06,067 INFO L290 TraceCheckUtils]: 16: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 13:15:06,067 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3067#true} {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:15:06,067 INFO L272 TraceCheckUtils]: 18: Hoare triple {3087#(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)); {3067#true} is VALID [2022-04-28 13:15:06,067 INFO L290 TraceCheckUtils]: 19: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 13:15:06,067 INFO L290 TraceCheckUtils]: 20: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 13:15:06,067 INFO L290 TraceCheckUtils]: 21: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 13:15:06,068 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3067#true} {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:15:06,069 INFO L290 TraceCheckUtils]: 23: Hoare triple {3087#(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; {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:15:06,071 INFO L290 TraceCheckUtils]: 24: Hoare triple {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:15:06,072 INFO L290 TraceCheckUtils]: 25: Hoare triple {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !!(#t~post5 < 20);havoc #t~post5; {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:15:06,072 INFO L272 TraceCheckUtils]: 26: Hoare triple {3142#(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)); {3067#true} is VALID [2022-04-28 13:15:06,072 INFO L290 TraceCheckUtils]: 27: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 13:15:06,073 INFO L290 TraceCheckUtils]: 28: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 13:15:06,073 INFO L290 TraceCheckUtils]: 29: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 13:15:06,073 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {3067#true} {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #78#return; {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:15:06,073 INFO L272 TraceCheckUtils]: 31: Hoare triple {3142#(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)); {3067#true} is VALID [2022-04-28 13:15:06,073 INFO L290 TraceCheckUtils]: 32: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 13:15:06,074 INFO L290 TraceCheckUtils]: 33: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 13:15:06,074 INFO L290 TraceCheckUtils]: 34: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 13:15:06,074 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3067#true} {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #80#return; {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:15:06,075 INFO L272 TraceCheckUtils]: 36: Hoare triple {3142#(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)); {3182#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:15:06,075 INFO L290 TraceCheckUtils]: 37: Hoare triple {3182#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3186#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:15:06,075 INFO L290 TraceCheckUtils]: 38: Hoare triple {3186#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3068#false} is VALID [2022-04-28 13:15:06,075 INFO L290 TraceCheckUtils]: 39: Hoare triple {3068#false} assume !false; {3068#false} is VALID [2022-04-28 13:15:06,075 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 5 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-28 13:15:06,076 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:15:06,263 INFO L290 TraceCheckUtils]: 39: Hoare triple {3068#false} assume !false; {3068#false} is VALID [2022-04-28 13:15:06,263 INFO L290 TraceCheckUtils]: 38: Hoare triple {3186#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3068#false} is VALID [2022-04-28 13:15:06,264 INFO L290 TraceCheckUtils]: 37: Hoare triple {3182#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3186#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:15:06,264 INFO L272 TraceCheckUtils]: 36: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3182#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:15:06,265 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3067#true} {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:15:06,265 INFO L290 TraceCheckUtils]: 34: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 13:15:06,265 INFO L290 TraceCheckUtils]: 33: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 13:15:06,265 INFO L290 TraceCheckUtils]: 32: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 13:15:06,265 INFO L272 TraceCheckUtils]: 31: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3067#true} is VALID [2022-04-28 13:15:06,266 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {3067#true} {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #78#return; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:15:06,266 INFO L290 TraceCheckUtils]: 29: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 13:15:06,266 INFO L290 TraceCheckUtils]: 28: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 13:15:06,266 INFO L290 TraceCheckUtils]: 27: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 13:15:06,266 INFO L272 TraceCheckUtils]: 26: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3067#true} is VALID [2022-04-28 13:15:06,267 INFO L290 TraceCheckUtils]: 25: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(#t~post5 < 20);havoc #t~post5; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:15:06,267 INFO L290 TraceCheckUtils]: 24: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:15:06,269 INFO L290 TraceCheckUtils]: 23: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:15:06,270 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3067#true} {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:15:06,270 INFO L290 TraceCheckUtils]: 21: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 13:15:06,270 INFO L290 TraceCheckUtils]: 20: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 13:15:06,270 INFO L290 TraceCheckUtils]: 19: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 13:15:06,270 INFO L272 TraceCheckUtils]: 18: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3067#true} is VALID [2022-04-28 13:15:06,271 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3067#true} {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:15:06,271 INFO L290 TraceCheckUtils]: 16: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 13:15:06,271 INFO L290 TraceCheckUtils]: 15: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 13:15:06,271 INFO L290 TraceCheckUtils]: 14: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 13:15:06,271 INFO L272 TraceCheckUtils]: 13: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3067#true} is VALID [2022-04-28 13:15:06,272 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3067#true} {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #78#return; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:15:06,272 INFO L290 TraceCheckUtils]: 11: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 13:15:06,272 INFO L290 TraceCheckUtils]: 10: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 13:15:06,272 INFO L290 TraceCheckUtils]: 9: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 13:15:06,272 INFO L272 TraceCheckUtils]: 8: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3067#true} is VALID [2022-04-28 13:15:06,273 INFO L290 TraceCheckUtils]: 7: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(#t~post5 < 20);havoc #t~post5; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:15:06,273 INFO L290 TraceCheckUtils]: 6: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:15:06,274 INFO L290 TraceCheckUtils]: 5: Hoare triple {3067#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; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:15:06,274 INFO L272 TraceCheckUtils]: 4: Hoare triple {3067#true} call #t~ret7 := main(); {3067#true} is VALID [2022-04-28 13:15:06,274 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3067#true} {3067#true} #92#return; {3067#true} is VALID [2022-04-28 13:15:06,274 INFO L290 TraceCheckUtils]: 2: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 13:15:06,274 INFO L290 TraceCheckUtils]: 1: Hoare triple {3067#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3067#true} is VALID [2022-04-28 13:15:06,274 INFO L272 TraceCheckUtils]: 0: Hoare triple {3067#true} call ULTIMATE.init(); {3067#true} is VALID [2022-04-28 13:15:06,274 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-28 13:15:06,274 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:15:06,275 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1387162609] [2022-04-28 13:15:06,275 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:15:06,275 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2108899029] [2022-04-28 13:15:06,275 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2108899029] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 13:15:06,275 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 13:15:06,275 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-28 13:15:06,275 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:15:06,275 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [667376374] [2022-04-28 13:15:06,275 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [667376374] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:15:06,275 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:15:06,275 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 13:15:06,275 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1308030052] [2022-04-28 13:15:06,276 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:15:06,276 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 40 [2022-04-28 13:15:06,276 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:15:06,276 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-28 13:15:06,293 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-28 13:15:06,293 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 13:15:06,293 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:15:06,293 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 13:15:06,293 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 13:15:06,294 INFO L87 Difference]: Start difference. First operand 65 states and 78 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-28 13:15:08,501 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:08,501 INFO L93 Difference]: Finished difference Result 78 states and 95 transitions. [2022-04-28 13:15:08,501 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 13:15:08,501 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 40 [2022-04-28 13:15:08,502 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:15:08,502 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-28 13:15:08,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 13:15:08,503 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-28 13:15:08,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 13:15:08,503 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-28 13:15:08,542 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:15:08,544 INFO L225 Difference]: With dead ends: 78 [2022-04-28 13:15:08,544 INFO L226 Difference]: Without dead ends: 76 [2022-04-28 13:15:08,544 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 72 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-28 13:15:08,544 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 11 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 103 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.0s IncrementalHoareTripleChecker+Time [2022-04-28 13:15:08,545 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 103 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 13:15:08,545 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-28 13:15:08,584 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 73. [2022-04-28 13:15:08,585 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:15:08,585 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 73 states, 46 states have (on average 1.2173913043478262) internal successors, (56), 49 states have internal predecessors, (56), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 13:15:08,585 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 73 states, 46 states have (on average 1.2173913043478262) internal successors, (56), 49 states have internal predecessors, (56), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 13:15:08,585 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 73 states, 46 states have (on average 1.2173913043478262) internal successors, (56), 49 states have internal predecessors, (56), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 13:15:08,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:08,588 INFO L93 Difference]: Finished difference Result 76 states and 93 transitions. [2022-04-28 13:15:08,588 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 93 transitions. [2022-04-28 13:15:08,588 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:15:08,588 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:15:08,588 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 46 states have (on average 1.2173913043478262) internal successors, (56), 49 states have internal predecessors, (56), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) Second operand 76 states. [2022-04-28 13:15:08,588 INFO L87 Difference]: Start difference. First operand has 73 states, 46 states have (on average 1.2173913043478262) internal successors, (56), 49 states have internal predecessors, (56), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) Second operand 76 states. [2022-04-28 13:15:08,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:08,590 INFO L93 Difference]: Finished difference Result 76 states and 93 transitions. [2022-04-28 13:15:08,590 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 93 transitions. [2022-04-28 13:15:08,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:15:08,591 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:15:08,591 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:15:08,591 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:15:08,591 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 46 states have (on average 1.2173913043478262) internal successors, (56), 49 states have internal predecessors, (56), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 13:15:08,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 88 transitions. [2022-04-28 13:15:08,593 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 88 transitions. Word has length 40 [2022-04-28 13:15:08,593 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:15:08,593 INFO L495 AbstractCegarLoop]: Abstraction has 73 states and 88 transitions. [2022-04-28 13:15:08,594 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-28 13:15:08,594 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 88 transitions. [2022-04-28 13:15:08,665 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:15:08,665 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 88 transitions. [2022-04-28 13:15:08,666 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-28 13:15:08,666 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:15:08,666 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 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-28 13:15:08,683 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 13:15:08,879 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:15:08,881 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:15:08,882 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:15:08,882 INFO L85 PathProgramCache]: Analyzing trace with hash 529029787, now seen corresponding path program 1 times [2022-04-28 13:15:08,882 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:15:08,882 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1151616858] [2022-04-28 13:15:12,985 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:15:12,986 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:15:12,986 INFO L85 PathProgramCache]: Analyzing trace with hash 529029787, now seen corresponding path program 2 times [2022-04-28 13:15:12,986 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:15:12,986 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [622488670] [2022-04-28 13:15:12,986 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:15:12,986 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:15:13,009 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:15:13,009 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1991041621] [2022-04-28 13:15:13,009 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:15:13,010 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:15:13,010 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:15:13,011 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-28 13:15:13,012 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-28 13:15:13,047 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:15:13,047 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:15:13,048 INFO L263 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 13:15:13,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:15:13,066 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:15:13,297 INFO L272 TraceCheckUtils]: 0: Hoare triple {3769#true} call ULTIMATE.init(); {3769#true} is VALID [2022-04-28 13:15:13,298 INFO L290 TraceCheckUtils]: 1: Hoare triple {3769#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3777#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:13,298 INFO L290 TraceCheckUtils]: 2: Hoare triple {3777#(<= ~counter~0 0)} assume true; {3777#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:13,298 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3777#(<= ~counter~0 0)} {3769#true} #92#return; {3777#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:13,299 INFO L272 TraceCheckUtils]: 4: Hoare triple {3777#(<= ~counter~0 0)} call #t~ret7 := main(); {3777#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:13,299 INFO L290 TraceCheckUtils]: 5: Hoare triple {3777#(<= ~counter~0 0)} 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; {3777#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:13,300 INFO L290 TraceCheckUtils]: 6: Hoare triple {3777#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:13,300 INFO L290 TraceCheckUtils]: 7: Hoare triple {3793#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:13,300 INFO L272 TraceCheckUtils]: 8: Hoare triple {3793#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3793#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:13,301 INFO L290 TraceCheckUtils]: 9: Hoare triple {3793#(<= ~counter~0 1)} ~cond := #in~cond; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:13,301 INFO L290 TraceCheckUtils]: 10: Hoare triple {3793#(<= ~counter~0 1)} assume !(0 == ~cond); {3793#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:13,301 INFO L290 TraceCheckUtils]: 11: Hoare triple {3793#(<= ~counter~0 1)} assume true; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:13,302 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3793#(<= ~counter~0 1)} {3793#(<= ~counter~0 1)} #78#return; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:13,302 INFO L272 TraceCheckUtils]: 13: Hoare triple {3793#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3793#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:13,302 INFO L290 TraceCheckUtils]: 14: Hoare triple {3793#(<= ~counter~0 1)} ~cond := #in~cond; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:13,303 INFO L290 TraceCheckUtils]: 15: Hoare triple {3793#(<= ~counter~0 1)} assume !(0 == ~cond); {3793#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:13,303 INFO L290 TraceCheckUtils]: 16: Hoare triple {3793#(<= ~counter~0 1)} assume true; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:13,303 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3793#(<= ~counter~0 1)} {3793#(<= ~counter~0 1)} #80#return; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:13,304 INFO L272 TraceCheckUtils]: 18: Hoare triple {3793#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3793#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:13,304 INFO L290 TraceCheckUtils]: 19: Hoare triple {3793#(<= ~counter~0 1)} ~cond := #in~cond; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:13,304 INFO L290 TraceCheckUtils]: 20: Hoare triple {3793#(<= ~counter~0 1)} assume !(0 == ~cond); {3793#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:13,305 INFO L290 TraceCheckUtils]: 21: Hoare triple {3793#(<= ~counter~0 1)} assume true; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:13,308 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3793#(<= ~counter~0 1)} {3793#(<= ~counter~0 1)} #82#return; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:13,308 INFO L290 TraceCheckUtils]: 23: Hoare triple {3793#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:13,309 INFO L290 TraceCheckUtils]: 24: Hoare triple {3793#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:13,309 INFO L290 TraceCheckUtils]: 25: Hoare triple {3848#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:13,309 INFO L272 TraceCheckUtils]: 26: Hoare triple {3848#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3848#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:13,310 INFO L290 TraceCheckUtils]: 27: Hoare triple {3848#(<= ~counter~0 2)} ~cond := #in~cond; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:13,310 INFO L290 TraceCheckUtils]: 28: Hoare triple {3848#(<= ~counter~0 2)} assume !(0 == ~cond); {3848#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:13,310 INFO L290 TraceCheckUtils]: 29: Hoare triple {3848#(<= ~counter~0 2)} assume true; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:13,311 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {3848#(<= ~counter~0 2)} {3848#(<= ~counter~0 2)} #78#return; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:13,311 INFO L272 TraceCheckUtils]: 31: Hoare triple {3848#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3848#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:13,311 INFO L290 TraceCheckUtils]: 32: Hoare triple {3848#(<= ~counter~0 2)} ~cond := #in~cond; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:13,312 INFO L290 TraceCheckUtils]: 33: Hoare triple {3848#(<= ~counter~0 2)} assume !(0 == ~cond); {3848#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:13,312 INFO L290 TraceCheckUtils]: 34: Hoare triple {3848#(<= ~counter~0 2)} assume true; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:13,312 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3848#(<= ~counter~0 2)} {3848#(<= ~counter~0 2)} #80#return; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:13,313 INFO L272 TraceCheckUtils]: 36: Hoare triple {3848#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3848#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:13,313 INFO L290 TraceCheckUtils]: 37: Hoare triple {3848#(<= ~counter~0 2)} ~cond := #in~cond; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:13,313 INFO L290 TraceCheckUtils]: 38: Hoare triple {3848#(<= ~counter~0 2)} assume !(0 == ~cond); {3848#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:13,314 INFO L290 TraceCheckUtils]: 39: Hoare triple {3848#(<= ~counter~0 2)} assume true; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:13,318 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3848#(<= ~counter~0 2)} {3848#(<= ~counter~0 2)} #82#return; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:13,319 INFO L290 TraceCheckUtils]: 41: Hoare triple {3848#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {3848#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:13,319 INFO L290 TraceCheckUtils]: 42: Hoare triple {3848#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3903#(<= |main_#t~post6| 2)} is VALID [2022-04-28 13:15:13,320 INFO L290 TraceCheckUtils]: 43: Hoare triple {3903#(<= |main_#t~post6| 2)} assume !(#t~post6 < 20);havoc #t~post6; {3770#false} is VALID [2022-04-28 13:15:13,320 INFO L272 TraceCheckUtils]: 44: Hoare triple {3770#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3770#false} is VALID [2022-04-28 13:15:13,320 INFO L290 TraceCheckUtils]: 45: Hoare triple {3770#false} ~cond := #in~cond; {3770#false} is VALID [2022-04-28 13:15:13,320 INFO L290 TraceCheckUtils]: 46: Hoare triple {3770#false} assume !(0 == ~cond); {3770#false} is VALID [2022-04-28 13:15:13,320 INFO L290 TraceCheckUtils]: 47: Hoare triple {3770#false} assume true; {3770#false} is VALID [2022-04-28 13:15:13,320 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3770#false} {3770#false} #88#return; {3770#false} is VALID [2022-04-28 13:15:13,320 INFO L272 TraceCheckUtils]: 49: Hoare triple {3770#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {3770#false} is VALID [2022-04-28 13:15:13,320 INFO L290 TraceCheckUtils]: 50: Hoare triple {3770#false} ~cond := #in~cond; {3770#false} is VALID [2022-04-28 13:15:13,321 INFO L290 TraceCheckUtils]: 51: Hoare triple {3770#false} assume 0 == ~cond; {3770#false} is VALID [2022-04-28 13:15:13,321 INFO L290 TraceCheckUtils]: 52: Hoare triple {3770#false} assume !false; {3770#false} is VALID [2022-04-28 13:15:13,321 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 36 proven. 42 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 13:15:13,321 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:15:13,553 INFO L290 TraceCheckUtils]: 52: Hoare triple {3770#false} assume !false; {3770#false} is VALID [2022-04-28 13:15:13,553 INFO L290 TraceCheckUtils]: 51: Hoare triple {3770#false} assume 0 == ~cond; {3770#false} is VALID [2022-04-28 13:15:13,553 INFO L290 TraceCheckUtils]: 50: Hoare triple {3770#false} ~cond := #in~cond; {3770#false} is VALID [2022-04-28 13:15:13,553 INFO L272 TraceCheckUtils]: 49: Hoare triple {3770#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {3770#false} is VALID [2022-04-28 13:15:13,553 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3769#true} {3770#false} #88#return; {3770#false} is VALID [2022-04-28 13:15:13,553 INFO L290 TraceCheckUtils]: 47: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-28 13:15:13,553 INFO L290 TraceCheckUtils]: 46: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-28 13:15:13,553 INFO L290 TraceCheckUtils]: 45: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-28 13:15:13,553 INFO L272 TraceCheckUtils]: 44: Hoare triple {3770#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3769#true} is VALID [2022-04-28 13:15:13,554 INFO L290 TraceCheckUtils]: 43: Hoare triple {3961#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {3770#false} is VALID [2022-04-28 13:15:13,554 INFO L290 TraceCheckUtils]: 42: Hoare triple {3965#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3961#(< |main_#t~post6| 20)} is VALID [2022-04-28 13:15:13,554 INFO L290 TraceCheckUtils]: 41: Hoare triple {3965#(< ~counter~0 20)} assume !(~r~0 >= ~d~0); {3965#(< ~counter~0 20)} is VALID [2022-04-28 13:15:13,555 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3769#true} {3965#(< ~counter~0 20)} #82#return; {3965#(< ~counter~0 20)} is VALID [2022-04-28 13:15:13,555 INFO L290 TraceCheckUtils]: 39: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-28 13:15:13,555 INFO L290 TraceCheckUtils]: 38: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-28 13:15:13,555 INFO L290 TraceCheckUtils]: 37: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-28 13:15:13,555 INFO L272 TraceCheckUtils]: 36: Hoare triple {3965#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3769#true} is VALID [2022-04-28 13:15:13,556 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3769#true} {3965#(< ~counter~0 20)} #80#return; {3965#(< ~counter~0 20)} is VALID [2022-04-28 13:15:13,556 INFO L290 TraceCheckUtils]: 34: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-28 13:15:13,556 INFO L290 TraceCheckUtils]: 33: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-28 13:15:13,556 INFO L290 TraceCheckUtils]: 32: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-28 13:15:13,556 INFO L272 TraceCheckUtils]: 31: Hoare triple {3965#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3769#true} is VALID [2022-04-28 13:15:13,561 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {3769#true} {3965#(< ~counter~0 20)} #78#return; {3965#(< ~counter~0 20)} is VALID [2022-04-28 13:15:13,561 INFO L290 TraceCheckUtils]: 29: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-28 13:15:13,561 INFO L290 TraceCheckUtils]: 28: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-28 13:15:13,561 INFO L290 TraceCheckUtils]: 27: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-28 13:15:13,561 INFO L272 TraceCheckUtils]: 26: Hoare triple {3965#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3769#true} is VALID [2022-04-28 13:15:13,562 INFO L290 TraceCheckUtils]: 25: Hoare triple {3965#(< ~counter~0 20)} assume !!(#t~post5 < 20);havoc #t~post5; {3965#(< ~counter~0 20)} is VALID [2022-04-28 13:15:13,562 INFO L290 TraceCheckUtils]: 24: Hoare triple {4020#(< ~counter~0 19)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3965#(< ~counter~0 20)} is VALID [2022-04-28 13:15:13,563 INFO L290 TraceCheckUtils]: 23: Hoare triple {4020#(< ~counter~0 19)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4020#(< ~counter~0 19)} is VALID [2022-04-28 13:15:13,563 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3769#true} {4020#(< ~counter~0 19)} #82#return; {4020#(< ~counter~0 19)} is VALID [2022-04-28 13:15:13,564 INFO L290 TraceCheckUtils]: 21: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-28 13:15:13,564 INFO L290 TraceCheckUtils]: 20: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-28 13:15:13,564 INFO L290 TraceCheckUtils]: 19: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-28 13:15:13,564 INFO L272 TraceCheckUtils]: 18: Hoare triple {4020#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3769#true} is VALID [2022-04-28 13:15:13,564 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3769#true} {4020#(< ~counter~0 19)} #80#return; {4020#(< ~counter~0 19)} is VALID [2022-04-28 13:15:13,564 INFO L290 TraceCheckUtils]: 16: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-28 13:15:13,564 INFO L290 TraceCheckUtils]: 15: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-28 13:15:13,565 INFO L290 TraceCheckUtils]: 14: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-28 13:15:13,565 INFO L272 TraceCheckUtils]: 13: Hoare triple {4020#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3769#true} is VALID [2022-04-28 13:15:13,565 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3769#true} {4020#(< ~counter~0 19)} #78#return; {4020#(< ~counter~0 19)} is VALID [2022-04-28 13:15:13,565 INFO L290 TraceCheckUtils]: 11: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-28 13:15:13,565 INFO L290 TraceCheckUtils]: 10: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-28 13:15:13,565 INFO L290 TraceCheckUtils]: 9: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-28 13:15:13,565 INFO L272 TraceCheckUtils]: 8: Hoare triple {4020#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3769#true} is VALID [2022-04-28 13:15:13,566 INFO L290 TraceCheckUtils]: 7: Hoare triple {4020#(< ~counter~0 19)} assume !!(#t~post5 < 20);havoc #t~post5; {4020#(< ~counter~0 19)} is VALID [2022-04-28 13:15:13,566 INFO L290 TraceCheckUtils]: 6: Hoare triple {4075#(< ~counter~0 18)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4020#(< ~counter~0 19)} is VALID [2022-04-28 13:15:13,566 INFO L290 TraceCheckUtils]: 5: Hoare triple {4075#(< ~counter~0 18)} 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; {4075#(< ~counter~0 18)} is VALID [2022-04-28 13:15:13,567 INFO L272 TraceCheckUtils]: 4: Hoare triple {4075#(< ~counter~0 18)} call #t~ret7 := main(); {4075#(< ~counter~0 18)} is VALID [2022-04-28 13:15:13,567 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4075#(< ~counter~0 18)} {3769#true} #92#return; {4075#(< ~counter~0 18)} is VALID [2022-04-28 13:15:13,567 INFO L290 TraceCheckUtils]: 2: Hoare triple {4075#(< ~counter~0 18)} assume true; {4075#(< ~counter~0 18)} is VALID [2022-04-28 13:15:13,568 INFO L290 TraceCheckUtils]: 1: Hoare triple {3769#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4075#(< ~counter~0 18)} is VALID [2022-04-28 13:15:13,568 INFO L272 TraceCheckUtils]: 0: Hoare triple {3769#true} call ULTIMATE.init(); {3769#true} is VALID [2022-04-28 13:15:13,568 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 14 proven. 6 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-28 13:15:13,568 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:15:13,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [622488670] [2022-04-28 13:15:13,569 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:15:13,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1991041621] [2022-04-28 13:15:13,569 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1991041621] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:15:13,569 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:15:13,569 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 13:15:13,569 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:15:13,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1151616858] [2022-04-28 13:15:13,569 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1151616858] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:15:13,569 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:15:13,569 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 13:15:13,569 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1826020396] [2022-04-28 13:15:13,569 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:15:13,570 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 53 [2022-04-28 13:15:13,570 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:15:13,570 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 13:15:13,596 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:15:13,596 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 13:15:13,596 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:15:13,597 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 13:15:13,597 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 13:15:13,597 INFO L87 Difference]: Start difference. First operand 73 states and 88 transitions. Second operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 13:15:13,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:13,763 INFO L93 Difference]: Finished difference Result 104 states and 120 transitions. [2022-04-28 13:15:13,763 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 13:15:13,763 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 53 [2022-04-28 13:15:13,763 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:15:13,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 13:15:13,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2022-04-28 13:15:13,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 13:15:13,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2022-04-28 13:15:13,768 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 73 transitions. [2022-04-28 13:15:13,816 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:15:13,817 INFO L225 Difference]: With dead ends: 104 [2022-04-28 13:15:13,817 INFO L226 Difference]: Without dead ends: 92 [2022-04-28 13:15:13,818 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 97 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 13:15:13,818 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 4 mSDsluCounter, 116 mSDsCounter, 0 mSdLazyCounter, 31 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 31 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 13:15:13,818 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [4 Valid, 155 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 31 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 13:15:13,819 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-28 13:15:13,881 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 91. [2022-04-28 13:15:13,881 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:15:13,881 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 91 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 61 states have internal predecessors, (69), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 13:15:13,881 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 91 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 61 states have internal predecessors, (69), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 13:15:13,882 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 91 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 61 states have internal predecessors, (69), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 13:15:13,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:13,884 INFO L93 Difference]: Finished difference Result 92 states and 108 transitions. [2022-04-28 13:15:13,884 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 108 transitions. [2022-04-28 13:15:13,885 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:15:13,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:15:13,885 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 61 states have internal predecessors, (69), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 92 states. [2022-04-28 13:15:13,885 INFO L87 Difference]: Start difference. First operand has 91 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 61 states have internal predecessors, (69), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 92 states. [2022-04-28 13:15:13,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:13,887 INFO L93 Difference]: Finished difference Result 92 states and 108 transitions. [2022-04-28 13:15:13,887 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 108 transitions. [2022-04-28 13:15:13,887 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:15:13,887 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:15:13,887 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:15:13,887 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:15:13,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 61 states have internal predecessors, (69), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 13:15:13,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 107 transitions. [2022-04-28 13:15:13,889 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 107 transitions. Word has length 53 [2022-04-28 13:15:13,889 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:15:13,889 INFO L495 AbstractCegarLoop]: Abstraction has 91 states and 107 transitions. [2022-04-28 13:15:13,889 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 13:15:13,890 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 91 states and 107 transitions. [2022-04-28 13:15:13,998 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-28 13:15:13,999 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 107 transitions. [2022-04-28 13:15:13,999 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 13:15:13,999 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:15:13,999 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:15:14,018 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 13:15:14,200 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:15:14,200 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:15:14,200 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:15:14,200 INFO L85 PathProgramCache]: Analyzing trace with hash 1864650262, now seen corresponding path program 3 times [2022-04-28 13:15:14,200 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:15:14,200 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [91571573] [2022-04-28 13:15:16,328 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:15:16,329 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:15:16,329 INFO L85 PathProgramCache]: Analyzing trace with hash 1864650262, now seen corresponding path program 4 times [2022-04-28 13:15:16,329 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:15:16,329 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [613488292] [2022-04-28 13:15:16,329 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:15:16,329 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:15:16,337 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:15:16,337 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1825007726] [2022-04-28 13:15:16,337 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:15:16,337 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:15:16,337 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:15:16,338 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-28 13:15:16,339 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-28 13:15:16,375 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:15:16,375 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:15:16,376 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 13:15:16,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:15:16,385 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:15:16,593 INFO L272 TraceCheckUtils]: 0: Hoare triple {4670#true} call ULTIMATE.init(); {4670#true} is VALID [2022-04-28 13:15:16,594 INFO L290 TraceCheckUtils]: 1: Hoare triple {4670#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4678#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:16,594 INFO L290 TraceCheckUtils]: 2: Hoare triple {4678#(<= ~counter~0 0)} assume true; {4678#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:16,594 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4678#(<= ~counter~0 0)} {4670#true} #92#return; {4678#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:16,595 INFO L272 TraceCheckUtils]: 4: Hoare triple {4678#(<= ~counter~0 0)} call #t~ret7 := main(); {4678#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:16,595 INFO L290 TraceCheckUtils]: 5: Hoare triple {4678#(<= ~counter~0 0)} 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; {4678#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:16,596 INFO L290 TraceCheckUtils]: 6: Hoare triple {4678#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:16,596 INFO L290 TraceCheckUtils]: 7: Hoare triple {4694#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:16,596 INFO L272 TraceCheckUtils]: 8: Hoare triple {4694#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4694#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:16,597 INFO L290 TraceCheckUtils]: 9: Hoare triple {4694#(<= ~counter~0 1)} ~cond := #in~cond; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:16,597 INFO L290 TraceCheckUtils]: 10: Hoare triple {4694#(<= ~counter~0 1)} assume !(0 == ~cond); {4694#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:16,597 INFO L290 TraceCheckUtils]: 11: Hoare triple {4694#(<= ~counter~0 1)} assume true; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:16,598 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4694#(<= ~counter~0 1)} {4694#(<= ~counter~0 1)} #78#return; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:16,598 INFO L272 TraceCheckUtils]: 13: Hoare triple {4694#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4694#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:16,598 INFO L290 TraceCheckUtils]: 14: Hoare triple {4694#(<= ~counter~0 1)} ~cond := #in~cond; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:16,598 INFO L290 TraceCheckUtils]: 15: Hoare triple {4694#(<= ~counter~0 1)} assume !(0 == ~cond); {4694#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:16,599 INFO L290 TraceCheckUtils]: 16: Hoare triple {4694#(<= ~counter~0 1)} assume true; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:16,599 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4694#(<= ~counter~0 1)} {4694#(<= ~counter~0 1)} #80#return; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:16,600 INFO L272 TraceCheckUtils]: 18: Hoare triple {4694#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4694#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:16,600 INFO L290 TraceCheckUtils]: 19: Hoare triple {4694#(<= ~counter~0 1)} ~cond := #in~cond; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:16,600 INFO L290 TraceCheckUtils]: 20: Hoare triple {4694#(<= ~counter~0 1)} assume !(0 == ~cond); {4694#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:16,600 INFO L290 TraceCheckUtils]: 21: Hoare triple {4694#(<= ~counter~0 1)} assume true; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:16,601 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4694#(<= ~counter~0 1)} {4694#(<= ~counter~0 1)} #82#return; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:16,601 INFO L290 TraceCheckUtils]: 23: Hoare triple {4694#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:16,602 INFO L290 TraceCheckUtils]: 24: Hoare triple {4694#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:16,602 INFO L290 TraceCheckUtils]: 25: Hoare triple {4749#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:16,613 INFO L272 TraceCheckUtils]: 26: Hoare triple {4749#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4749#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:16,613 INFO L290 TraceCheckUtils]: 27: Hoare triple {4749#(<= ~counter~0 2)} ~cond := #in~cond; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:16,614 INFO L290 TraceCheckUtils]: 28: Hoare triple {4749#(<= ~counter~0 2)} assume !(0 == ~cond); {4749#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:16,614 INFO L290 TraceCheckUtils]: 29: Hoare triple {4749#(<= ~counter~0 2)} assume true; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:16,614 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {4749#(<= ~counter~0 2)} {4749#(<= ~counter~0 2)} #78#return; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:16,615 INFO L272 TraceCheckUtils]: 31: Hoare triple {4749#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4749#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:16,615 INFO L290 TraceCheckUtils]: 32: Hoare triple {4749#(<= ~counter~0 2)} ~cond := #in~cond; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:16,615 INFO L290 TraceCheckUtils]: 33: Hoare triple {4749#(<= ~counter~0 2)} assume !(0 == ~cond); {4749#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:16,616 INFO L290 TraceCheckUtils]: 34: Hoare triple {4749#(<= ~counter~0 2)} assume true; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:16,616 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4749#(<= ~counter~0 2)} {4749#(<= ~counter~0 2)} #80#return; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:16,616 INFO L272 TraceCheckUtils]: 36: Hoare triple {4749#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4749#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:16,617 INFO L290 TraceCheckUtils]: 37: Hoare triple {4749#(<= ~counter~0 2)} ~cond := #in~cond; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:16,617 INFO L290 TraceCheckUtils]: 38: Hoare triple {4749#(<= ~counter~0 2)} assume !(0 == ~cond); {4749#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:16,617 INFO L290 TraceCheckUtils]: 39: Hoare triple {4749#(<= ~counter~0 2)} assume true; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:16,618 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4749#(<= ~counter~0 2)} {4749#(<= ~counter~0 2)} #82#return; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:16,618 INFO L290 TraceCheckUtils]: 41: Hoare triple {4749#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:16,618 INFO L290 TraceCheckUtils]: 42: Hoare triple {4749#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4804#(<= |main_#t~post5| 2)} is VALID [2022-04-28 13:15:16,619 INFO L290 TraceCheckUtils]: 43: Hoare triple {4804#(<= |main_#t~post5| 2)} assume !(#t~post5 < 20);havoc #t~post5; {4671#false} is VALID [2022-04-28 13:15:16,619 INFO L290 TraceCheckUtils]: 44: Hoare triple {4671#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4671#false} is VALID [2022-04-28 13:15:16,619 INFO L290 TraceCheckUtils]: 45: Hoare triple {4671#false} assume !(#t~post6 < 20);havoc #t~post6; {4671#false} is VALID [2022-04-28 13:15:16,619 INFO L272 TraceCheckUtils]: 46: Hoare triple {4671#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4671#false} is VALID [2022-04-28 13:15:16,619 INFO L290 TraceCheckUtils]: 47: Hoare triple {4671#false} ~cond := #in~cond; {4671#false} is VALID [2022-04-28 13:15:16,619 INFO L290 TraceCheckUtils]: 48: Hoare triple {4671#false} assume !(0 == ~cond); {4671#false} is VALID [2022-04-28 13:15:16,619 INFO L290 TraceCheckUtils]: 49: Hoare triple {4671#false} assume true; {4671#false} is VALID [2022-04-28 13:15:16,619 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4671#false} {4671#false} #88#return; {4671#false} is VALID [2022-04-28 13:15:16,620 INFO L272 TraceCheckUtils]: 51: Hoare triple {4671#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {4671#false} is VALID [2022-04-28 13:15:16,620 INFO L290 TraceCheckUtils]: 52: Hoare triple {4671#false} ~cond := #in~cond; {4671#false} is VALID [2022-04-28 13:15:16,620 INFO L290 TraceCheckUtils]: 53: Hoare triple {4671#false} assume 0 == ~cond; {4671#false} is VALID [2022-04-28 13:15:16,620 INFO L290 TraceCheckUtils]: 54: Hoare triple {4671#false} assume !false; {4671#false} is VALID [2022-04-28 13:15:16,620 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 36 proven. 46 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 13:15:16,620 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:15:16,866 INFO L290 TraceCheckUtils]: 54: Hoare triple {4671#false} assume !false; {4671#false} is VALID [2022-04-28 13:15:16,866 INFO L290 TraceCheckUtils]: 53: Hoare triple {4671#false} assume 0 == ~cond; {4671#false} is VALID [2022-04-28 13:15:16,866 INFO L290 TraceCheckUtils]: 52: Hoare triple {4671#false} ~cond := #in~cond; {4671#false} is VALID [2022-04-28 13:15:16,866 INFO L272 TraceCheckUtils]: 51: Hoare triple {4671#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {4671#false} is VALID [2022-04-28 13:15:16,866 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4670#true} {4671#false} #88#return; {4671#false} is VALID [2022-04-28 13:15:16,866 INFO L290 TraceCheckUtils]: 49: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-28 13:15:16,866 INFO L290 TraceCheckUtils]: 48: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-28 13:15:16,866 INFO L290 TraceCheckUtils]: 47: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-28 13:15:16,866 INFO L272 TraceCheckUtils]: 46: Hoare triple {4671#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4670#true} is VALID [2022-04-28 13:15:16,867 INFO L290 TraceCheckUtils]: 45: Hoare triple {4671#false} assume !(#t~post6 < 20);havoc #t~post6; {4671#false} is VALID [2022-04-28 13:15:16,867 INFO L290 TraceCheckUtils]: 44: Hoare triple {4671#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4671#false} is VALID [2022-04-28 13:15:16,867 INFO L290 TraceCheckUtils]: 43: Hoare triple {4874#(< |main_#t~post5| 20)} assume !(#t~post5 < 20);havoc #t~post5; {4671#false} is VALID [2022-04-28 13:15:16,867 INFO L290 TraceCheckUtils]: 42: Hoare triple {4878#(< ~counter~0 20)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4874#(< |main_#t~post5| 20)} is VALID [2022-04-28 13:15:16,867 INFO L290 TraceCheckUtils]: 41: Hoare triple {4878#(< ~counter~0 20)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4878#(< ~counter~0 20)} is VALID [2022-04-28 13:15:16,868 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4670#true} {4878#(< ~counter~0 20)} #82#return; {4878#(< ~counter~0 20)} is VALID [2022-04-28 13:15:16,868 INFO L290 TraceCheckUtils]: 39: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-28 13:15:16,868 INFO L290 TraceCheckUtils]: 38: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-28 13:15:16,868 INFO L290 TraceCheckUtils]: 37: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-28 13:15:16,868 INFO L272 TraceCheckUtils]: 36: Hoare triple {4878#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4670#true} is VALID [2022-04-28 13:15:16,869 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4670#true} {4878#(< ~counter~0 20)} #80#return; {4878#(< ~counter~0 20)} is VALID [2022-04-28 13:15:16,869 INFO L290 TraceCheckUtils]: 34: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-28 13:15:16,869 INFO L290 TraceCheckUtils]: 33: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-28 13:15:16,869 INFO L290 TraceCheckUtils]: 32: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-28 13:15:16,869 INFO L272 TraceCheckUtils]: 31: Hoare triple {4878#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4670#true} is VALID [2022-04-28 13:15:16,869 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {4670#true} {4878#(< ~counter~0 20)} #78#return; {4878#(< ~counter~0 20)} is VALID [2022-04-28 13:15:16,869 INFO L290 TraceCheckUtils]: 29: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-28 13:15:16,870 INFO L290 TraceCheckUtils]: 28: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-28 13:15:16,870 INFO L290 TraceCheckUtils]: 27: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-28 13:15:16,870 INFO L272 TraceCheckUtils]: 26: Hoare triple {4878#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4670#true} is VALID [2022-04-28 13:15:16,870 INFO L290 TraceCheckUtils]: 25: Hoare triple {4878#(< ~counter~0 20)} assume !!(#t~post5 < 20);havoc #t~post5; {4878#(< ~counter~0 20)} is VALID [2022-04-28 13:15:16,870 INFO L290 TraceCheckUtils]: 24: Hoare triple {4933#(< ~counter~0 19)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4878#(< ~counter~0 20)} is VALID [2022-04-28 13:15:16,871 INFO L290 TraceCheckUtils]: 23: Hoare triple {4933#(< ~counter~0 19)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4933#(< ~counter~0 19)} is VALID [2022-04-28 13:15:16,871 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4670#true} {4933#(< ~counter~0 19)} #82#return; {4933#(< ~counter~0 19)} is VALID [2022-04-28 13:15:16,871 INFO L290 TraceCheckUtils]: 21: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-28 13:15:16,871 INFO L290 TraceCheckUtils]: 20: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-28 13:15:16,871 INFO L290 TraceCheckUtils]: 19: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-28 13:15:16,872 INFO L272 TraceCheckUtils]: 18: Hoare triple {4933#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4670#true} is VALID [2022-04-28 13:15:16,872 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4670#true} {4933#(< ~counter~0 19)} #80#return; {4933#(< ~counter~0 19)} is VALID [2022-04-28 13:15:16,872 INFO L290 TraceCheckUtils]: 16: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-28 13:15:16,872 INFO L290 TraceCheckUtils]: 15: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-28 13:15:16,872 INFO L290 TraceCheckUtils]: 14: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-28 13:15:16,872 INFO L272 TraceCheckUtils]: 13: Hoare triple {4933#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4670#true} is VALID [2022-04-28 13:15:16,880 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4670#true} {4933#(< ~counter~0 19)} #78#return; {4933#(< ~counter~0 19)} is VALID [2022-04-28 13:15:16,880 INFO L290 TraceCheckUtils]: 11: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-28 13:15:16,880 INFO L290 TraceCheckUtils]: 10: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-28 13:15:16,880 INFO L290 TraceCheckUtils]: 9: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-28 13:15:16,880 INFO L272 TraceCheckUtils]: 8: Hoare triple {4933#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4670#true} is VALID [2022-04-28 13:15:16,881 INFO L290 TraceCheckUtils]: 7: Hoare triple {4933#(< ~counter~0 19)} assume !!(#t~post5 < 20);havoc #t~post5; {4933#(< ~counter~0 19)} is VALID [2022-04-28 13:15:16,881 INFO L290 TraceCheckUtils]: 6: Hoare triple {4988#(< ~counter~0 18)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4933#(< ~counter~0 19)} is VALID [2022-04-28 13:15:16,881 INFO L290 TraceCheckUtils]: 5: Hoare triple {4988#(< ~counter~0 18)} 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; {4988#(< ~counter~0 18)} is VALID [2022-04-28 13:15:16,882 INFO L272 TraceCheckUtils]: 4: Hoare triple {4988#(< ~counter~0 18)} call #t~ret7 := main(); {4988#(< ~counter~0 18)} is VALID [2022-04-28 13:15:16,882 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4988#(< ~counter~0 18)} {4670#true} #92#return; {4988#(< ~counter~0 18)} is VALID [2022-04-28 13:15:16,882 INFO L290 TraceCheckUtils]: 2: Hoare triple {4988#(< ~counter~0 18)} assume true; {4988#(< ~counter~0 18)} is VALID [2022-04-28 13:15:16,883 INFO L290 TraceCheckUtils]: 1: Hoare triple {4670#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4988#(< ~counter~0 18)} is VALID [2022-04-28 13:15:16,883 INFO L272 TraceCheckUtils]: 0: Hoare triple {4670#true} call ULTIMATE.init(); {4670#true} is VALID [2022-04-28 13:15:16,883 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 14 proven. 10 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-28 13:15:16,883 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:15:16,883 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [613488292] [2022-04-28 13:15:16,883 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:15:16,883 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1825007726] [2022-04-28 13:15:16,884 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1825007726] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:15:16,884 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:15:16,884 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 13:15:16,884 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:15:16,884 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [91571573] [2022-04-28 13:15:16,884 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [91571573] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:15:16,884 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:15:16,884 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 13:15:16,884 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [984734346] [2022-04-28 13:15:16,884 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:15:16,885 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 55 [2022-04-28 13:15:16,885 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:15:16,885 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 13:15:16,911 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:15:16,911 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 13:15:16,911 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:15:16,912 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 13:15:16,912 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 13:15:16,912 INFO L87 Difference]: Start difference. First operand 91 states and 107 transitions. Second operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 13:15:17,089 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:17,089 INFO L93 Difference]: Finished difference Result 126 states and 155 transitions. [2022-04-28 13:15:17,089 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 13:15:17,089 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 55 [2022-04-28 13:15:17,091 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:15:17,091 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 13:15:17,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 84 transitions. [2022-04-28 13:15:17,092 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 13:15:17,093 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 84 transitions. [2022-04-28 13:15:17,094 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 84 transitions. [2022-04-28 13:15:17,146 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:15:17,147 INFO L225 Difference]: With dead ends: 126 [2022-04-28 13:15:17,147 INFO L226 Difference]: Without dead ends: 93 [2022-04-28 13:15:17,148 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 111 GetRequests, 101 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-28 13:15:17,148 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 5 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 29 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 115 SdHoareTripleChecker+Invalid, 35 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 29 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 13:15:17,148 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 115 Invalid, 35 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 29 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 13:15:17,148 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2022-04-28 13:15:17,199 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 93. [2022-04-28 13:15:17,200 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:15:17,200 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand has 93 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 63 states have internal predecessors, (71), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 13:15:17,200 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand has 93 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 63 states have internal predecessors, (71), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 13:15:17,200 INFO L87 Difference]: Start difference. First operand 93 states. Second operand has 93 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 63 states have internal predecessors, (71), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 13:15:17,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:17,202 INFO L93 Difference]: Finished difference Result 93 states and 109 transitions. [2022-04-28 13:15:17,202 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 109 transitions. [2022-04-28 13:15:17,203 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:15:17,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:15:17,203 INFO L74 IsIncluded]: Start isIncluded. First operand has 93 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 63 states have internal predecessors, (71), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 93 states. [2022-04-28 13:15:17,203 INFO L87 Difference]: Start difference. First operand has 93 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 63 states have internal predecessors, (71), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 93 states. [2022-04-28 13:15:17,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:17,205 INFO L93 Difference]: Finished difference Result 93 states and 109 transitions. [2022-04-28 13:15:17,205 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 109 transitions. [2022-04-28 13:15:17,205 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:15:17,205 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:15:17,205 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:15:17,205 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:15:17,206 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 93 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 63 states have internal predecessors, (71), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 13:15:17,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 109 transitions. [2022-04-28 13:15:17,207 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 109 transitions. Word has length 55 [2022-04-28 13:15:17,207 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:15:17,207 INFO L495 AbstractCegarLoop]: Abstraction has 93 states and 109 transitions. [2022-04-28 13:15:17,208 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 13:15:17,208 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 93 states and 109 transitions. [2022-04-28 13:15:17,298 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:15:17,298 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 109 transitions. [2022-04-28 13:15:17,298 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-28 13:15:17,298 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:15:17,298 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, 1, 1, 1, 1] [2022-04-28 13:15:17,316 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-28 13:15:17,507 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:15:17,508 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:15:17,508 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:15:17,508 INFO L85 PathProgramCache]: Analyzing trace with hash -43330764, now seen corresponding path program 1 times [2022-04-28 13:15:17,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:15:17,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [246573927] [2022-04-28 13:15:19,633 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:15:19,633 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:15:19,633 INFO L85 PathProgramCache]: Analyzing trace with hash -43330764, now seen corresponding path program 2 times [2022-04-28 13:15:19,634 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:15:19,634 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1071954536] [2022-04-28 13:15:19,634 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:15:19,634 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:15:19,643 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:15:19,643 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1278494574] [2022-04-28 13:15:19,644 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:15:19,644 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:15:19,644 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:15:19,645 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-28 13:15:19,645 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-28 13:15:19,690 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:15:19,690 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:15:19,691 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 13:15:19,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:15:19,701 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:15:19,966 INFO L272 TraceCheckUtils]: 0: Hoare triple {5637#true} call ULTIMATE.init(); {5637#true} is VALID [2022-04-28 13:15:19,966 INFO L290 TraceCheckUtils]: 1: Hoare triple {5637#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5645#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:19,967 INFO L290 TraceCheckUtils]: 2: Hoare triple {5645#(<= ~counter~0 0)} assume true; {5645#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:19,967 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5645#(<= ~counter~0 0)} {5637#true} #92#return; {5645#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:19,967 INFO L272 TraceCheckUtils]: 4: Hoare triple {5645#(<= ~counter~0 0)} call #t~ret7 := main(); {5645#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:19,968 INFO L290 TraceCheckUtils]: 5: Hoare triple {5645#(<= ~counter~0 0)} 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; {5645#(<= ~counter~0 0)} is VALID [2022-04-28 13:15:19,968 INFO L290 TraceCheckUtils]: 6: Hoare triple {5645#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:19,968 INFO L290 TraceCheckUtils]: 7: Hoare triple {5661#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:19,969 INFO L272 TraceCheckUtils]: 8: Hoare triple {5661#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5661#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:19,969 INFO L290 TraceCheckUtils]: 9: Hoare triple {5661#(<= ~counter~0 1)} ~cond := #in~cond; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:19,969 INFO L290 TraceCheckUtils]: 10: Hoare triple {5661#(<= ~counter~0 1)} assume !(0 == ~cond); {5661#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:19,969 INFO L290 TraceCheckUtils]: 11: Hoare triple {5661#(<= ~counter~0 1)} assume true; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:19,970 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5661#(<= ~counter~0 1)} {5661#(<= ~counter~0 1)} #78#return; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:19,970 INFO L272 TraceCheckUtils]: 13: Hoare triple {5661#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5661#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:19,970 INFO L290 TraceCheckUtils]: 14: Hoare triple {5661#(<= ~counter~0 1)} ~cond := #in~cond; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:19,971 INFO L290 TraceCheckUtils]: 15: Hoare triple {5661#(<= ~counter~0 1)} assume !(0 == ~cond); {5661#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:19,971 INFO L290 TraceCheckUtils]: 16: Hoare triple {5661#(<= ~counter~0 1)} assume true; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:19,971 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5661#(<= ~counter~0 1)} {5661#(<= ~counter~0 1)} #80#return; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:19,972 INFO L272 TraceCheckUtils]: 18: Hoare triple {5661#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5661#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:19,972 INFO L290 TraceCheckUtils]: 19: Hoare triple {5661#(<= ~counter~0 1)} ~cond := #in~cond; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:19,972 INFO L290 TraceCheckUtils]: 20: Hoare triple {5661#(<= ~counter~0 1)} assume !(0 == ~cond); {5661#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:19,972 INFO L290 TraceCheckUtils]: 21: Hoare triple {5661#(<= ~counter~0 1)} assume true; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:19,973 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5661#(<= ~counter~0 1)} {5661#(<= ~counter~0 1)} #82#return; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:19,973 INFO L290 TraceCheckUtils]: 23: Hoare triple {5661#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 13:15:19,973 INFO L290 TraceCheckUtils]: 24: Hoare triple {5661#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:19,974 INFO L290 TraceCheckUtils]: 25: Hoare triple {5716#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:19,974 INFO L272 TraceCheckUtils]: 26: Hoare triple {5716#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5716#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:19,974 INFO L290 TraceCheckUtils]: 27: Hoare triple {5716#(<= ~counter~0 2)} ~cond := #in~cond; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:19,975 INFO L290 TraceCheckUtils]: 28: Hoare triple {5716#(<= ~counter~0 2)} assume !(0 == ~cond); {5716#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:19,975 INFO L290 TraceCheckUtils]: 29: Hoare triple {5716#(<= ~counter~0 2)} assume true; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:19,975 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {5716#(<= ~counter~0 2)} {5716#(<= ~counter~0 2)} #78#return; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:19,975 INFO L272 TraceCheckUtils]: 31: Hoare triple {5716#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5716#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:19,976 INFO L290 TraceCheckUtils]: 32: Hoare triple {5716#(<= ~counter~0 2)} ~cond := #in~cond; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:19,976 INFO L290 TraceCheckUtils]: 33: Hoare triple {5716#(<= ~counter~0 2)} assume !(0 == ~cond); {5716#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:19,976 INFO L290 TraceCheckUtils]: 34: Hoare triple {5716#(<= ~counter~0 2)} assume true; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:19,977 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5716#(<= ~counter~0 2)} {5716#(<= ~counter~0 2)} #80#return; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:19,977 INFO L272 TraceCheckUtils]: 36: Hoare triple {5716#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5716#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:19,977 INFO L290 TraceCheckUtils]: 37: Hoare triple {5716#(<= ~counter~0 2)} ~cond := #in~cond; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:19,977 INFO L290 TraceCheckUtils]: 38: Hoare triple {5716#(<= ~counter~0 2)} assume !(0 == ~cond); {5716#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:19,978 INFO L290 TraceCheckUtils]: 39: Hoare triple {5716#(<= ~counter~0 2)} assume true; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:19,978 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {5716#(<= ~counter~0 2)} {5716#(<= ~counter~0 2)} #82#return; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:19,978 INFO L290 TraceCheckUtils]: 41: Hoare triple {5716#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {5716#(<= ~counter~0 2)} is VALID [2022-04-28 13:15:19,979 INFO L290 TraceCheckUtils]: 42: Hoare triple {5716#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5771#(<= ~counter~0 3)} is VALID [2022-04-28 13:15:19,979 INFO L290 TraceCheckUtils]: 43: Hoare triple {5771#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {5771#(<= ~counter~0 3)} is VALID [2022-04-28 13:15:19,979 INFO L272 TraceCheckUtils]: 44: Hoare triple {5771#(<= ~counter~0 3)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5771#(<= ~counter~0 3)} is VALID [2022-04-28 13:15:19,980 INFO L290 TraceCheckUtils]: 45: Hoare triple {5771#(<= ~counter~0 3)} ~cond := #in~cond; {5771#(<= ~counter~0 3)} is VALID [2022-04-28 13:15:19,980 INFO L290 TraceCheckUtils]: 46: Hoare triple {5771#(<= ~counter~0 3)} assume !(0 == ~cond); {5771#(<= ~counter~0 3)} is VALID [2022-04-28 13:15:19,980 INFO L290 TraceCheckUtils]: 47: Hoare triple {5771#(<= ~counter~0 3)} assume true; {5771#(<= ~counter~0 3)} is VALID [2022-04-28 13:15:19,981 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5771#(<= ~counter~0 3)} {5771#(<= ~counter~0 3)} #84#return; {5771#(<= ~counter~0 3)} is VALID [2022-04-28 13:15:19,981 INFO L272 TraceCheckUtils]: 49: Hoare triple {5771#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5771#(<= ~counter~0 3)} is VALID [2022-04-28 13:15:19,981 INFO L290 TraceCheckUtils]: 50: Hoare triple {5771#(<= ~counter~0 3)} ~cond := #in~cond; {5771#(<= ~counter~0 3)} is VALID [2022-04-28 13:15:19,981 INFO L290 TraceCheckUtils]: 51: Hoare triple {5771#(<= ~counter~0 3)} assume !(0 == ~cond); {5771#(<= ~counter~0 3)} is VALID [2022-04-28 13:15:19,982 INFO L290 TraceCheckUtils]: 52: Hoare triple {5771#(<= ~counter~0 3)} assume true; {5771#(<= ~counter~0 3)} is VALID [2022-04-28 13:15:19,982 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {5771#(<= ~counter~0 3)} {5771#(<= ~counter~0 3)} #86#return; {5771#(<= ~counter~0 3)} is VALID [2022-04-28 13:15:19,983 INFO L290 TraceCheckUtils]: 54: Hoare triple {5771#(<= ~counter~0 3)} 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); {5771#(<= ~counter~0 3)} is VALID [2022-04-28 13:15:19,983 INFO L290 TraceCheckUtils]: 55: Hoare triple {5771#(<= ~counter~0 3)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5771#(<= ~counter~0 3)} is VALID [2022-04-28 13:15:19,983 INFO L290 TraceCheckUtils]: 56: Hoare triple {5771#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5814#(<= |main_#t~post6| 3)} is VALID [2022-04-28 13:15:19,984 INFO L290 TraceCheckUtils]: 57: Hoare triple {5814#(<= |main_#t~post6| 3)} assume !(#t~post6 < 20);havoc #t~post6; {5638#false} is VALID [2022-04-28 13:15:19,984 INFO L272 TraceCheckUtils]: 58: Hoare triple {5638#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5638#false} is VALID [2022-04-28 13:15:19,984 INFO L290 TraceCheckUtils]: 59: Hoare triple {5638#false} ~cond := #in~cond; {5638#false} is VALID [2022-04-28 13:15:19,984 INFO L290 TraceCheckUtils]: 60: Hoare triple {5638#false} assume 0 == ~cond; {5638#false} is VALID [2022-04-28 13:15:19,984 INFO L290 TraceCheckUtils]: 61: Hoare triple {5638#false} assume !false; {5638#false} is VALID [2022-04-28 13:15:19,984 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 16 proven. 92 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 13:15:19,984 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:15:20,245 INFO L290 TraceCheckUtils]: 61: Hoare triple {5638#false} assume !false; {5638#false} is VALID [2022-04-28 13:15:20,246 INFO L290 TraceCheckUtils]: 60: Hoare triple {5638#false} assume 0 == ~cond; {5638#false} is VALID [2022-04-28 13:15:20,246 INFO L290 TraceCheckUtils]: 59: Hoare triple {5638#false} ~cond := #in~cond; {5638#false} is VALID [2022-04-28 13:15:20,246 INFO L272 TraceCheckUtils]: 58: Hoare triple {5638#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5638#false} is VALID [2022-04-28 13:15:20,246 INFO L290 TraceCheckUtils]: 57: Hoare triple {5842#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {5638#false} is VALID [2022-04-28 13:15:20,246 INFO L290 TraceCheckUtils]: 56: Hoare triple {5846#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5842#(< |main_#t~post6| 20)} is VALID [2022-04-28 13:15:20,247 INFO L290 TraceCheckUtils]: 55: Hoare triple {5846#(< ~counter~0 20)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5846#(< ~counter~0 20)} is VALID [2022-04-28 13:15:20,247 INFO L290 TraceCheckUtils]: 54: Hoare triple {5846#(< ~counter~0 20)} 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); {5846#(< ~counter~0 20)} is VALID [2022-04-28 13:15:20,248 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {5637#true} {5846#(< ~counter~0 20)} #86#return; {5846#(< ~counter~0 20)} is VALID [2022-04-28 13:15:20,248 INFO L290 TraceCheckUtils]: 52: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-28 13:15:20,248 INFO L290 TraceCheckUtils]: 51: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-28 13:15:20,248 INFO L290 TraceCheckUtils]: 50: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-28 13:15:20,248 INFO L272 TraceCheckUtils]: 49: Hoare triple {5846#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5637#true} is VALID [2022-04-28 13:15:20,248 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5637#true} {5846#(< ~counter~0 20)} #84#return; {5846#(< ~counter~0 20)} is VALID [2022-04-28 13:15:20,248 INFO L290 TraceCheckUtils]: 47: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-28 13:15:20,249 INFO L290 TraceCheckUtils]: 46: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-28 13:15:20,249 INFO L290 TraceCheckUtils]: 45: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-28 13:15:20,249 INFO L272 TraceCheckUtils]: 44: Hoare triple {5846#(< ~counter~0 20)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5637#true} is VALID [2022-04-28 13:15:20,249 INFO L290 TraceCheckUtils]: 43: Hoare triple {5846#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {5846#(< ~counter~0 20)} is VALID [2022-04-28 13:15:20,249 INFO L290 TraceCheckUtils]: 42: Hoare triple {5889#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5846#(< ~counter~0 20)} is VALID [2022-04-28 13:15:20,250 INFO L290 TraceCheckUtils]: 41: Hoare triple {5889#(< ~counter~0 19)} assume !(~r~0 >= ~d~0); {5889#(< ~counter~0 19)} is VALID [2022-04-28 13:15:20,250 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {5637#true} {5889#(< ~counter~0 19)} #82#return; {5889#(< ~counter~0 19)} is VALID [2022-04-28 13:15:20,250 INFO L290 TraceCheckUtils]: 39: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-28 13:15:20,250 INFO L290 TraceCheckUtils]: 38: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-28 13:15:20,250 INFO L290 TraceCheckUtils]: 37: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-28 13:15:20,250 INFO L272 TraceCheckUtils]: 36: Hoare triple {5889#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5637#true} is VALID [2022-04-28 13:15:20,251 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5637#true} {5889#(< ~counter~0 19)} #80#return; {5889#(< ~counter~0 19)} is VALID [2022-04-28 13:15:20,251 INFO L290 TraceCheckUtils]: 34: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-28 13:15:20,251 INFO L290 TraceCheckUtils]: 33: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-28 13:15:20,251 INFO L290 TraceCheckUtils]: 32: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-28 13:15:20,251 INFO L272 TraceCheckUtils]: 31: Hoare triple {5889#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5637#true} is VALID [2022-04-28 13:15:20,256 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {5637#true} {5889#(< ~counter~0 19)} #78#return; {5889#(< ~counter~0 19)} is VALID [2022-04-28 13:15:20,256 INFO L290 TraceCheckUtils]: 29: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-28 13:15:20,256 INFO L290 TraceCheckUtils]: 28: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-28 13:15:20,256 INFO L290 TraceCheckUtils]: 27: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-28 13:15:20,256 INFO L272 TraceCheckUtils]: 26: Hoare triple {5889#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5637#true} is VALID [2022-04-28 13:15:20,256 INFO L290 TraceCheckUtils]: 25: Hoare triple {5889#(< ~counter~0 19)} assume !!(#t~post5 < 20);havoc #t~post5; {5889#(< ~counter~0 19)} is VALID [2022-04-28 13:15:20,257 INFO L290 TraceCheckUtils]: 24: Hoare triple {5944#(< ~counter~0 18)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {5889#(< ~counter~0 19)} is VALID [2022-04-28 13:15:20,257 INFO L290 TraceCheckUtils]: 23: Hoare triple {5944#(< ~counter~0 18)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5944#(< ~counter~0 18)} is VALID [2022-04-28 13:15:20,258 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5637#true} {5944#(< ~counter~0 18)} #82#return; {5944#(< ~counter~0 18)} is VALID [2022-04-28 13:15:20,258 INFO L290 TraceCheckUtils]: 21: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-28 13:15:20,258 INFO L290 TraceCheckUtils]: 20: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-28 13:15:20,258 INFO L290 TraceCheckUtils]: 19: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-28 13:15:20,258 INFO L272 TraceCheckUtils]: 18: Hoare triple {5944#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5637#true} is VALID [2022-04-28 13:15:20,259 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5637#true} {5944#(< ~counter~0 18)} #80#return; {5944#(< ~counter~0 18)} is VALID [2022-04-28 13:15:20,259 INFO L290 TraceCheckUtils]: 16: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-28 13:15:20,260 INFO L290 TraceCheckUtils]: 15: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-28 13:15:20,260 INFO L290 TraceCheckUtils]: 14: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-28 13:15:20,260 INFO L272 TraceCheckUtils]: 13: Hoare triple {5944#(< ~counter~0 18)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5637#true} is VALID [2022-04-28 13:15:20,260 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5637#true} {5944#(< ~counter~0 18)} #78#return; {5944#(< ~counter~0 18)} is VALID [2022-04-28 13:15:20,260 INFO L290 TraceCheckUtils]: 11: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-28 13:15:20,260 INFO L290 TraceCheckUtils]: 10: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-28 13:15:20,260 INFO L290 TraceCheckUtils]: 9: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-28 13:15:20,260 INFO L272 TraceCheckUtils]: 8: Hoare triple {5944#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5637#true} is VALID [2022-04-28 13:15:20,261 INFO L290 TraceCheckUtils]: 7: Hoare triple {5944#(< ~counter~0 18)} assume !!(#t~post5 < 20);havoc #t~post5; {5944#(< ~counter~0 18)} is VALID [2022-04-28 13:15:20,261 INFO L290 TraceCheckUtils]: 6: Hoare triple {5999#(< ~counter~0 17)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {5944#(< ~counter~0 18)} is VALID [2022-04-28 13:15:20,262 INFO L290 TraceCheckUtils]: 5: Hoare triple {5999#(< ~counter~0 17)} 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; {5999#(< ~counter~0 17)} is VALID [2022-04-28 13:15:20,262 INFO L272 TraceCheckUtils]: 4: Hoare triple {5999#(< ~counter~0 17)} call #t~ret7 := main(); {5999#(< ~counter~0 17)} is VALID [2022-04-28 13:15:20,280 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5999#(< ~counter~0 17)} {5637#true} #92#return; {5999#(< ~counter~0 17)} is VALID [2022-04-28 13:15:20,280 INFO L290 TraceCheckUtils]: 2: Hoare triple {5999#(< ~counter~0 17)} assume true; {5999#(< ~counter~0 17)} is VALID [2022-04-28 13:15:20,281 INFO L290 TraceCheckUtils]: 1: Hoare triple {5637#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5999#(< ~counter~0 17)} is VALID [2022-04-28 13:15:20,281 INFO L272 TraceCheckUtils]: 0: Hoare triple {5637#true} call ULTIMATE.init(); {5637#true} is VALID [2022-04-28 13:15:20,281 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 16 proven. 8 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 13:15:20,281 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:15:20,281 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1071954536] [2022-04-28 13:15:20,281 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:15:20,282 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1278494574] [2022-04-28 13:15:20,282 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1278494574] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:15:20,282 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:15:20,282 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 13:15:20,282 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:15:20,282 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [246573927] [2022-04-28 13:15:20,282 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [246573927] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:15:20,282 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:15:20,282 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 13:15:20,282 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [724285900] [2022-04-28 13:15:20,282 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:15:20,283 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 62 [2022-04-28 13:15:20,283 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:15:20,283 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 13:15:20,315 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-28 13:15:20,315 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 13:15:20,315 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:15:20,316 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 13:15:20,317 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 13:15:20,320 INFO L87 Difference]: Start difference. First operand 93 states and 109 transitions. Second operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 13:15:20,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:20,610 INFO L93 Difference]: Finished difference Result 145 states and 168 transitions. [2022-04-28 13:15:20,610 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 13:15:20,610 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 62 [2022-04-28 13:15:20,611 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:15:20,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 13:15:20,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 101 transitions. [2022-04-28 13:15:20,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 13:15:20,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 101 transitions. [2022-04-28 13:15:20,613 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 101 transitions. [2022-04-28 13:15:20,684 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:15:20,686 INFO L225 Difference]: With dead ends: 145 [2022-04-28 13:15:20,686 INFO L226 Difference]: Without dead ends: 130 [2022-04-28 13:15:20,686 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 113 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=59, Invalid=97, Unknown=0, NotChecked=0, Total=156 [2022-04-28 13:15:20,687 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 23 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 67 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 190 SdHoareTripleChecker+Invalid, 85 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 67 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:15:20,687 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 190 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 67 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:15:20,687 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-04-28 13:15:20,785 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 127. [2022-04-28 13:15:20,785 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:15:20,786 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 127 states, 83 states have (on average 1.1686746987951808) internal successors, (97), 86 states have internal predecessors, (97), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 13:15:20,787 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 127 states, 83 states have (on average 1.1686746987951808) internal successors, (97), 86 states have internal predecessors, (97), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 13:15:20,787 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 127 states, 83 states have (on average 1.1686746987951808) internal successors, (97), 86 states have internal predecessors, (97), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 13:15:20,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:20,791 INFO L93 Difference]: Finished difference Result 130 states and 150 transitions. [2022-04-28 13:15:20,791 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 150 transitions. [2022-04-28 13:15:20,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:15:20,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:15:20,792 INFO L74 IsIncluded]: Start isIncluded. First operand has 127 states, 83 states have (on average 1.1686746987951808) internal successors, (97), 86 states have internal predecessors, (97), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 130 states. [2022-04-28 13:15:20,792 INFO L87 Difference]: Start difference. First operand has 127 states, 83 states have (on average 1.1686746987951808) internal successors, (97), 86 states have internal predecessors, (97), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 130 states. [2022-04-28 13:15:20,795 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:20,795 INFO L93 Difference]: Finished difference Result 130 states and 150 transitions. [2022-04-28 13:15:20,795 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 150 transitions. [2022-04-28 13:15:20,795 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:15:20,795 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:15:20,795 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:15:20,795 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:15:20,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 127 states, 83 states have (on average 1.1686746987951808) internal successors, (97), 86 states have internal predecessors, (97), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 13:15:20,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 148 transitions. [2022-04-28 13:15:20,802 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 148 transitions. Word has length 62 [2022-04-28 13:15:20,802 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:15:20,802 INFO L495 AbstractCegarLoop]: Abstraction has 127 states and 148 transitions. [2022-04-28 13:15:20,802 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 13:15:20,802 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 127 states and 148 transitions. [2022-04-28 13:15:20,930 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 148 edges. 148 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:15:20,930 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 148 transitions. [2022-04-28 13:15:20,931 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-28 13:15:20,931 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:15:20,931 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:15:20,947 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-28 13:15:21,146 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,SelfDestructingSolverStorable11 [2022-04-28 13:15:21,146 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:15:21,146 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:15:21,146 INFO L85 PathProgramCache]: Analyzing trace with hash -41602886, now seen corresponding path program 1 times [2022-04-28 13:15:21,146 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:15:21,147 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [905788785] [2022-04-28 13:15:24,661 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:15:24,662 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:15:24,662 INFO L85 PathProgramCache]: Analyzing trace with hash -41602886, now seen corresponding path program 2 times [2022-04-28 13:15:24,662 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:15:24,662 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1775194] [2022-04-28 13:15:24,662 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:15:24,662 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:15:24,670 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:15:24,670 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [549059072] [2022-04-28 13:15:24,670 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:15:24,670 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:15:24,670 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:15:24,671 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-28 13:15:24,672 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-28 13:15:24,712 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:15:24,712 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:15:24,713 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 13:15:24,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:15:24,725 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:15:25,157 INFO L272 TraceCheckUtils]: 0: Hoare triple {6826#true} call ULTIMATE.init(); {6826#true} is VALID [2022-04-28 13:15:25,157 INFO L290 TraceCheckUtils]: 1: Hoare triple {6826#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6826#true} is VALID [2022-04-28 13:15:25,157 INFO L290 TraceCheckUtils]: 2: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 13:15:25,158 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6826#true} {6826#true} #92#return; {6826#true} is VALID [2022-04-28 13:15:25,158 INFO L272 TraceCheckUtils]: 4: Hoare triple {6826#true} call #t~ret7 := main(); {6826#true} is VALID [2022-04-28 13:15:25,158 INFO L290 TraceCheckUtils]: 5: Hoare triple {6826#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; {6846#(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-28 13:15:25,158 INFO L290 TraceCheckUtils]: 6: Hoare triple {6846#(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))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {6846#(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-28 13:15:25,159 INFO L290 TraceCheckUtils]: 7: Hoare triple {6846#(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 !!(#t~post5 < 20);havoc #t~post5; {6846#(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-28 13:15:25,159 INFO L272 TraceCheckUtils]: 8: Hoare triple {6846#(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)); {6826#true} is VALID [2022-04-28 13:15:25,159 INFO L290 TraceCheckUtils]: 9: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 13:15:25,159 INFO L290 TraceCheckUtils]: 10: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 13:15:25,159 INFO L290 TraceCheckUtils]: 11: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 13:15:25,162 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6826#true} {6846#(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; {6846#(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-28 13:15:25,162 INFO L272 TraceCheckUtils]: 13: Hoare triple {6846#(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)); {6826#true} is VALID [2022-04-28 13:15:25,162 INFO L290 TraceCheckUtils]: 14: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 13:15:25,162 INFO L290 TraceCheckUtils]: 15: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 13:15:25,162 INFO L290 TraceCheckUtils]: 16: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 13:15:25,163 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6826#true} {6846#(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; {6846#(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-28 13:15:25,163 INFO L272 TraceCheckUtils]: 18: Hoare triple {6846#(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)); {6826#true} is VALID [2022-04-28 13:15:25,163 INFO L290 TraceCheckUtils]: 19: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 13:15:25,163 INFO L290 TraceCheckUtils]: 20: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 13:15:25,163 INFO L290 TraceCheckUtils]: 21: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 13:15:25,164 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6826#true} {6846#(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))} #82#return; {6846#(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-28 13:15:25,181 INFO L290 TraceCheckUtils]: 23: Hoare triple {6846#(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; {6901#(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-28 13:15:25,182 INFO L290 TraceCheckUtils]: 24: Hoare triple {6901#(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))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {6901#(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-28 13:15:25,182 INFO L290 TraceCheckUtils]: 25: Hoare triple {6901#(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 !!(#t~post5 < 20);havoc #t~post5; {6901#(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-28 13:15:25,182 INFO L272 TraceCheckUtils]: 26: Hoare triple {6901#(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)); {6826#true} is VALID [2022-04-28 13:15:25,182 INFO L290 TraceCheckUtils]: 27: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 13:15:25,182 INFO L290 TraceCheckUtils]: 28: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 13:15:25,182 INFO L290 TraceCheckUtils]: 29: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 13:15:25,183 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {6826#true} {6901#(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; {6901#(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-28 13:15:25,183 INFO L272 TraceCheckUtils]: 31: Hoare triple {6901#(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)); {6826#true} is VALID [2022-04-28 13:15:25,183 INFO L290 TraceCheckUtils]: 32: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 13:15:25,183 INFO L290 TraceCheckUtils]: 33: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 13:15:25,183 INFO L290 TraceCheckUtils]: 34: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 13:15:25,184 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {6826#true} {6901#(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; {6901#(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-28 13:15:25,184 INFO L272 TraceCheckUtils]: 36: Hoare triple {6901#(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)); {6826#true} is VALID [2022-04-28 13:15:25,184 INFO L290 TraceCheckUtils]: 37: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 13:15:25,184 INFO L290 TraceCheckUtils]: 38: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 13:15:25,184 INFO L290 TraceCheckUtils]: 39: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 13:15:25,184 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6826#true} {6901#(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; {6901#(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-28 13:15:25,185 INFO L290 TraceCheckUtils]: 41: Hoare triple {6901#(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); {6901#(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-28 13:15:25,185 INFO L290 TraceCheckUtils]: 42: Hoare triple {6901#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6901#(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-28 13:15:25,186 INFO L290 TraceCheckUtils]: 43: Hoare triple {6901#(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 !!(#t~post6 < 20);havoc #t~post6; {6901#(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-28 13:15:25,186 INFO L272 TraceCheckUtils]: 44: Hoare triple {6901#(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)); {6826#true} is VALID [2022-04-28 13:15:25,186 INFO L290 TraceCheckUtils]: 45: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 13:15:25,186 INFO L290 TraceCheckUtils]: 46: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 13:15:25,186 INFO L290 TraceCheckUtils]: 47: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 13:15:25,186 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {6826#true} {6901#(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; {6901#(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-28 13:15:25,187 INFO L272 TraceCheckUtils]: 49: Hoare triple {6901#(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)); {6826#true} is VALID [2022-04-28 13:15:25,187 INFO L290 TraceCheckUtils]: 50: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 13:15:25,187 INFO L290 TraceCheckUtils]: 51: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 13:15:25,187 INFO L290 TraceCheckUtils]: 52: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 13:15:25,187 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {6826#true} {6901#(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))} #86#return; {6901#(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-28 13:15:25,188 INFO L290 TraceCheckUtils]: 54: Hoare triple {6901#(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); {6846#(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-28 13:15:25,188 INFO L290 TraceCheckUtils]: 55: Hoare triple {6846#(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; {6998#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-28 13:15:25,189 INFO L290 TraceCheckUtils]: 56: Hoare triple {6998#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6998#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-28 13:15:25,189 INFO L290 TraceCheckUtils]: 57: Hoare triple {6998#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {6998#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-28 13:15:25,190 INFO L272 TraceCheckUtils]: 58: Hoare triple {6998#(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)); {7008#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:15:25,190 INFO L290 TraceCheckUtils]: 59: Hoare triple {7008#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7012#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:15:25,190 INFO L290 TraceCheckUtils]: 60: Hoare triple {7012#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6827#false} is VALID [2022-04-28 13:15:25,190 INFO L290 TraceCheckUtils]: 61: Hoare triple {6827#false} assume !false; {6827#false} is VALID [2022-04-28 13:15:25,191 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 13:15:25,191 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:15:26,277 INFO L290 TraceCheckUtils]: 61: Hoare triple {6827#false} assume !false; {6827#false} is VALID [2022-04-28 13:15:26,278 INFO L290 TraceCheckUtils]: 60: Hoare triple {7012#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6827#false} is VALID [2022-04-28 13:15:26,278 INFO L290 TraceCheckUtils]: 59: Hoare triple {7008#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7012#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:15:26,279 INFO L272 TraceCheckUtils]: 58: Hoare triple {7028#(= (+ (* 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)); {7008#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:15:26,279 INFO L290 TraceCheckUtils]: 57: Hoare triple {7028#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(#t~post6 < 20);havoc #t~post6; {7028#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:15:26,279 INFO L290 TraceCheckUtils]: 56: Hoare triple {7028#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7028#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:15:26,288 INFO L290 TraceCheckUtils]: 55: Hoare triple {7038#(= 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; {7028#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:15:26,303 INFO L290 TraceCheckUtils]: 54: Hoare triple {7042#(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); {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 13:15:26,303 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {6826#true} {7042#(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))))))))} #86#return; {7042#(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-28 13:15:26,304 INFO L290 TraceCheckUtils]: 52: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 13:15:26,304 INFO L290 TraceCheckUtils]: 51: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 13:15:26,304 INFO L290 TraceCheckUtils]: 50: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 13:15:26,304 INFO L272 TraceCheckUtils]: 49: Hoare triple {7042#(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)); {6826#true} is VALID [2022-04-28 13:15:26,304 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {6826#true} {7042#(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; {7042#(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-28 13:15:26,304 INFO L290 TraceCheckUtils]: 47: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 13:15:26,305 INFO L290 TraceCheckUtils]: 46: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 13:15:26,305 INFO L290 TraceCheckUtils]: 45: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 13:15:26,305 INFO L272 TraceCheckUtils]: 44: Hoare triple {7042#(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)); {6826#true} is VALID [2022-04-28 13:15:26,307 INFO L290 TraceCheckUtils]: 43: Hoare triple {7042#(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 !!(#t~post6 < 20);havoc #t~post6; {7042#(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-28 13:15:26,308 INFO L290 TraceCheckUtils]: 42: Hoare triple {7042#(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))))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7042#(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-28 13:15:26,309 INFO L290 TraceCheckUtils]: 41: Hoare triple {7042#(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); {7042#(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-28 13:15:26,311 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6826#true} {7042#(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; {7042#(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-28 13:15:26,311 INFO L290 TraceCheckUtils]: 39: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 13:15:26,311 INFO L290 TraceCheckUtils]: 38: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 13:15:26,311 INFO L290 TraceCheckUtils]: 37: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 13:15:26,311 INFO L272 TraceCheckUtils]: 36: Hoare triple {7042#(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)); {6826#true} is VALID [2022-04-28 13:15:26,312 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {6826#true} {7042#(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; {7042#(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-28 13:15:26,312 INFO L290 TraceCheckUtils]: 34: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 13:15:26,312 INFO L290 TraceCheckUtils]: 33: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 13:15:26,312 INFO L290 TraceCheckUtils]: 32: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 13:15:26,312 INFO L272 TraceCheckUtils]: 31: Hoare triple {7042#(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)); {6826#true} is VALID [2022-04-28 13:15:26,313 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {6826#true} {7042#(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; {7042#(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-28 13:15:26,313 INFO L290 TraceCheckUtils]: 29: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 13:15:26,313 INFO L290 TraceCheckUtils]: 28: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 13:15:26,313 INFO L290 TraceCheckUtils]: 27: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 13:15:26,313 INFO L272 TraceCheckUtils]: 26: Hoare triple {7042#(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)); {6826#true} is VALID [2022-04-28 13:15:26,314 INFO L290 TraceCheckUtils]: 25: Hoare triple {7042#(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 !!(#t~post5 < 20);havoc #t~post5; {7042#(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-28 13:15:26,315 INFO L290 TraceCheckUtils]: 24: Hoare triple {7042#(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))))))))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {7042#(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-28 13:15:26,321 INFO L290 TraceCheckUtils]: 23: Hoare triple {7038#(= 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; {7042#(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-28 13:15:26,322 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6826#true} {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #82#return; {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 13:15:26,322 INFO L290 TraceCheckUtils]: 21: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 13:15:26,322 INFO L290 TraceCheckUtils]: 20: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 13:15:26,322 INFO L290 TraceCheckUtils]: 19: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 13:15:26,322 INFO L272 TraceCheckUtils]: 18: Hoare triple {7038#(= 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)); {6826#true} is VALID [2022-04-28 13:15:26,323 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6826#true} {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #80#return; {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 13:15:26,323 INFO L290 TraceCheckUtils]: 16: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 13:15:26,323 INFO L290 TraceCheckUtils]: 15: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 13:15:26,323 INFO L290 TraceCheckUtils]: 14: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 13:15:26,323 INFO L272 TraceCheckUtils]: 13: Hoare triple {7038#(= 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)); {6826#true} is VALID [2022-04-28 13:15:26,324 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6826#true} {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #78#return; {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 13:15:26,324 INFO L290 TraceCheckUtils]: 11: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 13:15:26,324 INFO L290 TraceCheckUtils]: 10: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 13:15:26,324 INFO L290 TraceCheckUtils]: 9: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 13:15:26,324 INFO L272 TraceCheckUtils]: 8: Hoare triple {7038#(= 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)); {6826#true} is VALID [2022-04-28 13:15:26,325 INFO L290 TraceCheckUtils]: 7: Hoare triple {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume !!(#t~post5 < 20);havoc #t~post5; {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 13:15:26,325 INFO L290 TraceCheckUtils]: 6: Hoare triple {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 13:15:26,326 INFO L290 TraceCheckUtils]: 5: Hoare triple {6826#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; {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 13:15:26,326 INFO L272 TraceCheckUtils]: 4: Hoare triple {6826#true} call #t~ret7 := main(); {6826#true} is VALID [2022-04-28 13:15:26,326 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6826#true} {6826#true} #92#return; {6826#true} is VALID [2022-04-28 13:15:26,326 INFO L290 TraceCheckUtils]: 2: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 13:15:26,326 INFO L290 TraceCheckUtils]: 1: Hoare triple {6826#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6826#true} is VALID [2022-04-28 13:15:26,326 INFO L272 TraceCheckUtils]: 0: Hoare triple {6826#true} call ULTIMATE.init(); {6826#true} is VALID [2022-04-28 13:15:26,327 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 13:15:26,327 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:15:26,327 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1775194] [2022-04-28 13:15:26,327 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:15:26,327 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [549059072] [2022-04-28 13:15:26,327 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [549059072] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:15:26,327 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:15:26,327 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-28 13:15:26,327 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:15:26,327 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [905788785] [2022-04-28 13:15:26,327 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [905788785] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:15:26,328 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:15:26,328 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 13:15:26,328 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [84480443] [2022-04-28 13:15:26,328 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:15:26,328 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 62 [2022-04-28 13:15:26,328 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:15:26,328 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 13:15:26,360 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:15:26,360 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 13:15:26,360 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:15:26,361 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 13:15:26,361 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 13:15:26,361 INFO L87 Difference]: Start difference. First operand 127 states and 148 transitions. Second operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 13:15:26,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:26,962 INFO L93 Difference]: Finished difference Result 181 states and 219 transitions. [2022-04-28 13:15:26,962 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 13:15:26,963 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 62 [2022-04-28 13:15:26,963 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:15:26,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 13:15:26,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 113 transitions. [2022-04-28 13:15:26,965 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 13:15:26,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 113 transitions. [2022-04-28 13:15:26,973 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 113 transitions. [2022-04-28 13:15:27,061 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:15:27,063 INFO L225 Difference]: With dead ends: 181 [2022-04-28 13:15:27,063 INFO L226 Difference]: Without dead ends: 137 [2022-04-28 13:15:27,064 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 112 SyntacticMatches, 3 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-04-28 13:15:27,064 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 13 mSDsluCounter, 137 mSDsCounter, 0 mSdLazyCounter, 209 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 187 SdHoareTripleChecker+Invalid, 223 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 209 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 13:15:27,064 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 187 Invalid, 223 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 209 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 13:15:27,065 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2022-04-28 13:15:27,184 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 135. [2022-04-28 13:15:27,185 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:15:27,185 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 135 states, 89 states have (on average 1.1685393258426966) internal successors, (104), 92 states have internal predecessors, (104), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 13:15:27,185 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 135 states, 89 states have (on average 1.1685393258426966) internal successors, (104), 92 states have internal predecessors, (104), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 13:15:27,185 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 135 states, 89 states have (on average 1.1685393258426966) internal successors, (104), 92 states have internal predecessors, (104), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 13:15:27,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:27,189 INFO L93 Difference]: Finished difference Result 137 states and 159 transitions. [2022-04-28 13:15:27,189 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 159 transitions. [2022-04-28 13:15:27,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:15:27,190 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:15:27,190 INFO L74 IsIncluded]: Start isIncluded. First operand has 135 states, 89 states have (on average 1.1685393258426966) internal successors, (104), 92 states have internal predecessors, (104), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 137 states. [2022-04-28 13:15:27,190 INFO L87 Difference]: Start difference. First operand has 135 states, 89 states have (on average 1.1685393258426966) internal successors, (104), 92 states have internal predecessors, (104), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 137 states. [2022-04-28 13:15:27,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:15:27,193 INFO L93 Difference]: Finished difference Result 137 states and 159 transitions. [2022-04-28 13:15:27,193 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 159 transitions. [2022-04-28 13:15:27,193 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:15:27,193 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:15:27,193 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:15:27,193 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:15:27,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 135 states, 89 states have (on average 1.1685393258426966) internal successors, (104), 92 states have internal predecessors, (104), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 13:15:27,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 135 states to 135 states and 156 transitions. [2022-04-28 13:15:27,196 INFO L78 Accepts]: Start accepts. Automaton has 135 states and 156 transitions. Word has length 62 [2022-04-28 13:15:27,196 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:15:27,196 INFO L495 AbstractCegarLoop]: Abstraction has 135 states and 156 transitions. [2022-04-28 13:15:27,197 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 13:15:27,197 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 135 states and 156 transitions. [2022-04-28 13:15:27,334 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 156 edges. 156 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:15:27,334 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 156 transitions. [2022-04-28 13:15:27,334 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-04-28 13:15:27,334 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:15:27,334 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 2, 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] [2022-04-28 13:15:27,351 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-28 13:15:27,550 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 13:15:27,550 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:15:27,551 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:15:27,551 INFO L85 PathProgramCache]: Analyzing trace with hash -378736343, now seen corresponding path program 3 times [2022-04-28 13:15:27,551 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:15:27,551 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [564251665] [2022-04-28 13:15:29,701 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:15:29,702 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:15:29,702 INFO L85 PathProgramCache]: Analyzing trace with hash -378736343, now seen corresponding path program 4 times [2022-04-28 13:15:29,702 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:15:29,702 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [737974934] [2022-04-28 13:15:29,702 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:15:29,702 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:15:29,712 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:15:29,712 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1217030842] [2022-04-28 13:15:29,712 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:15:29,712 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:15:29,712 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:15:29,713 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-28 13:15:29,719 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-28 13:15:29,762 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:15:29,762 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:15:29,763 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 13:15:29,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:15:29,779 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:15:31,806 INFO L272 TraceCheckUtils]: 0: Hoare triple {8115#true} call ULTIMATE.init(); {8115#true} is VALID [2022-04-28 13:15:31,806 INFO L290 TraceCheckUtils]: 1: Hoare triple {8115#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8115#true} is VALID [2022-04-28 13:15:31,806 INFO L290 TraceCheckUtils]: 2: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-28 13:15:31,806 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8115#true} {8115#true} #92#return; {8115#true} is VALID [2022-04-28 13:15:31,806 INFO L272 TraceCheckUtils]: 4: Hoare triple {8115#true} call #t~ret7 := main(); {8115#true} is VALID [2022-04-28 13:15:31,806 INFO L290 TraceCheckUtils]: 5: Hoare triple {8115#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; {8115#true} is VALID [2022-04-28 13:15:31,806 INFO L290 TraceCheckUtils]: 6: Hoare triple {8115#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {8115#true} is VALID [2022-04-28 13:15:31,807 INFO L290 TraceCheckUtils]: 7: Hoare triple {8115#true} assume !!(#t~post5 < 20);havoc #t~post5; {8115#true} is VALID [2022-04-28 13:15:31,807 INFO L272 TraceCheckUtils]: 8: Hoare triple {8115#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8115#true} is VALID [2022-04-28 13:15:31,807 INFO L290 TraceCheckUtils]: 9: Hoare triple {8115#true} ~cond := #in~cond; {8115#true} is VALID [2022-04-28 13:15:31,807 INFO L290 TraceCheckUtils]: 10: Hoare triple {8115#true} assume !(0 == ~cond); {8115#true} is VALID [2022-04-28 13:15:31,807 INFO L290 TraceCheckUtils]: 11: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-28 13:15:31,807 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {8115#true} {8115#true} #78#return; {8115#true} is VALID [2022-04-28 13:15:31,807 INFO L272 TraceCheckUtils]: 13: Hoare triple {8115#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8115#true} is VALID [2022-04-28 13:15:31,807 INFO L290 TraceCheckUtils]: 14: Hoare triple {8115#true} ~cond := #in~cond; {8162#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:15:31,808 INFO L290 TraceCheckUtils]: 15: Hoare triple {8162#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:15:31,808 INFO L290 TraceCheckUtils]: 16: Hoare triple {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:15:31,808 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} {8115#true} #80#return; {8173#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 13:15:31,809 INFO L272 TraceCheckUtils]: 18: Hoare triple {8173#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8115#true} is VALID [2022-04-28 13:15:31,809 INFO L290 TraceCheckUtils]: 19: Hoare triple {8115#true} ~cond := #in~cond; {8115#true} is VALID [2022-04-28 13:15:31,809 INFO L290 TraceCheckUtils]: 20: Hoare triple {8115#true} assume !(0 == ~cond); {8115#true} is VALID [2022-04-28 13:15:31,809 INFO L290 TraceCheckUtils]: 21: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-28 13:15:31,809 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8115#true} {8173#(= main_~A~0 main_~r~0)} #82#return; {8173#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 13:15:31,810 INFO L290 TraceCheckUtils]: 23: Hoare triple {8173#(= main_~A~0 main_~r~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 13:15:31,810 INFO L290 TraceCheckUtils]: 24: Hoare triple {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 13:15:31,811 INFO L290 TraceCheckUtils]: 25: Hoare triple {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} assume !!(#t~post5 < 20);havoc #t~post5; {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 13:15:31,811 INFO L272 TraceCheckUtils]: 26: Hoare triple {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8115#true} is VALID [2022-04-28 13:15:31,811 INFO L290 TraceCheckUtils]: 27: Hoare triple {8115#true} ~cond := #in~cond; {8162#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:15:31,811 INFO L290 TraceCheckUtils]: 28: Hoare triple {8162#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:15:31,812 INFO L290 TraceCheckUtils]: 29: Hoare triple {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:15:31,812 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} #78#return; {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:15:31,812 INFO L272 TraceCheckUtils]: 31: Hoare triple {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8115#true} is VALID [2022-04-28 13:15:31,812 INFO L290 TraceCheckUtils]: 32: Hoare triple {8115#true} ~cond := #in~cond; {8115#true} is VALID [2022-04-28 13:15:31,812 INFO L290 TraceCheckUtils]: 33: Hoare triple {8115#true} assume !(0 == ~cond); {8115#true} is VALID [2022-04-28 13:15:31,813 INFO L290 TraceCheckUtils]: 34: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-28 13:15:31,813 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {8115#true} {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #80#return; {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:15:31,813 INFO L272 TraceCheckUtils]: 36: Hoare triple {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8115#true} is VALID [2022-04-28 13:15:31,813 INFO L290 TraceCheckUtils]: 37: Hoare triple {8115#true} ~cond := #in~cond; {8115#true} is VALID [2022-04-28 13:15:31,813 INFO L290 TraceCheckUtils]: 38: Hoare triple {8115#true} assume !(0 == ~cond); {8115#true} is VALID [2022-04-28 13:15:31,813 INFO L290 TraceCheckUtils]: 39: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-28 13:15:31,814 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {8115#true} {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #82#return; {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:15:31,814 INFO L290 TraceCheckUtils]: 41: Hoare triple {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:15:31,815 INFO L290 TraceCheckUtils]: 42: Hoare triple {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:15:31,815 INFO L290 TraceCheckUtils]: 43: Hoare triple {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:15:31,815 INFO L272 TraceCheckUtils]: 44: Hoare triple {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8115#true} is VALID [2022-04-28 13:15:31,815 INFO L290 TraceCheckUtils]: 45: Hoare triple {8115#true} ~cond := #in~cond; {8115#true} is VALID [2022-04-28 13:15:31,815 INFO L290 TraceCheckUtils]: 46: Hoare triple {8115#true} assume !(0 == ~cond); {8115#true} is VALID [2022-04-28 13:15:31,815 INFO L290 TraceCheckUtils]: 47: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-28 13:15:31,816 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {8115#true} {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #84#return; {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:15:31,816 INFO L272 TraceCheckUtils]: 49: Hoare triple {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8115#true} is VALID [2022-04-28 13:15:31,816 INFO L290 TraceCheckUtils]: 50: Hoare triple {8115#true} ~cond := #in~cond; {8115#true} is VALID [2022-04-28 13:15:31,816 INFO L290 TraceCheckUtils]: 51: Hoare triple {8115#true} assume !(0 == ~cond); {8115#true} is VALID [2022-04-28 13:15:31,816 INFO L290 TraceCheckUtils]: 52: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-28 13:15:31,817 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {8115#true} {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #86#return; {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:15:31,818 INFO L290 TraceCheckUtils]: 54: Hoare triple {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~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); {8288#(and (= main_~A~0 main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)) (= main_~q~0 0))} is VALID [2022-04-28 13:15:31,819 INFO L290 TraceCheckUtils]: 55: Hoare triple {8288#(and (= main_~A~0 main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 13:15:31,819 INFO L290 TraceCheckUtils]: 56: Hoare triple {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 13:15:31,820 INFO L290 TraceCheckUtils]: 57: Hoare triple {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 13:15:31,820 INFO L272 TraceCheckUtils]: 58: Hoare triple {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8115#true} is VALID [2022-04-28 13:15:31,820 INFO L290 TraceCheckUtils]: 59: Hoare triple {8115#true} ~cond := #in~cond; {8162#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:15:31,820 INFO L290 TraceCheckUtils]: 60: Hoare triple {8162#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:15:31,820 INFO L290 TraceCheckUtils]: 61: Hoare triple {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:15:31,823 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #84#return; {8314#(exists ((aux_div_main_~A~0_41 Int) (aux_mod_main_~A~0_41 Int)) (and (< aux_div_main_~A~0_41 (+ main_~d~0 1)) (< (+ main_~d~0 aux_mod_main_~A~0_41) (* 2 aux_div_main_~A~0_41)) (= (+ (- 1) (* (- 1) main_~d~0) (* 2 aux_div_main_~A~0_41) (* (- 1) aux_mod_main_~A~0_41)) (+ (- 1) (* (- 1) main_~B~0 main_~p~0) (* 2 aux_div_main_~A~0_41) (* (- 1) aux_mod_main_~A~0_41))) (<= 0 aux_mod_main_~A~0_41) (< aux_mod_main_~A~0_41 2)))} is VALID [2022-04-28 13:15:31,824 INFO L272 TraceCheckUtils]: 63: Hoare triple {8314#(exists ((aux_div_main_~A~0_41 Int) (aux_mod_main_~A~0_41 Int)) (and (< aux_div_main_~A~0_41 (+ main_~d~0 1)) (< (+ main_~d~0 aux_mod_main_~A~0_41) (* 2 aux_div_main_~A~0_41)) (= (+ (- 1) (* (- 1) main_~d~0) (* 2 aux_div_main_~A~0_41) (* (- 1) aux_mod_main_~A~0_41)) (+ (- 1) (* (- 1) main_~B~0 main_~p~0) (* 2 aux_div_main_~A~0_41) (* (- 1) aux_mod_main_~A~0_41))) (<= 0 aux_mod_main_~A~0_41) (< aux_mod_main_~A~0_41 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8318#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:15:31,824 INFO L290 TraceCheckUtils]: 64: Hoare triple {8318#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8322#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:15:31,824 INFO L290 TraceCheckUtils]: 65: Hoare triple {8322#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8116#false} is VALID [2022-04-28 13:15:31,824 INFO L290 TraceCheckUtils]: 66: Hoare triple {8116#false} assume !false; {8116#false} is VALID [2022-04-28 13:15:31,825 INFO L134 CoverageAnalysis]: Checked inductivity of 172 backedges. 48 proven. 34 refuted. 0 times theorem prover too weak. 90 trivial. 0 not checked. [2022-04-28 13:15:31,825 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:15:46,976 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 13:16:05,118 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:16:05,118 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [737974934] [2022-04-28 13:16:05,119 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:16:05,119 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1217030842] [2022-04-28 13:16:05,119 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1217030842] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 13:16:05,119 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 13:16:05,119 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-28 13:16:05,119 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:16:05,119 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [564251665] [2022-04-28 13:16:05,119 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [564251665] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:16:05,119 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:16:05,119 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 13:16:05,119 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1495140426] [2022-04-28 13:16:05,119 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:16:05,120 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) Word has length 67 [2022-04-28 13:16:05,120 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:16:05,120 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-28 13:16:05,156 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:16:05,156 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 13:16:05,157 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:16:05,157 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 13:16:05,157 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=173, Unknown=0, NotChecked=0, Total=210 [2022-04-28 13:16:05,157 INFO L87 Difference]: Start difference. First operand 135 states and 156 transitions. Second operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-28 13:16:06,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:16:06,271 INFO L93 Difference]: Finished difference Result 188 states and 232 transitions. [2022-04-28 13:16:06,271 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 13:16:06,271 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) Word has length 67 [2022-04-28 13:16:06,271 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:16:06,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-28 13:16:06,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 122 transitions. [2022-04-28 13:16:06,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-28 13:16:06,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 122 transitions. [2022-04-28 13:16:06,276 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 122 transitions. [2022-04-28 13:16:06,376 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:16:06,379 INFO L225 Difference]: With dead ends: 188 [2022-04-28 13:16:06,379 INFO L226 Difference]: Without dead ends: 163 [2022-04-28 13:16:06,379 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=54, Invalid=252, Unknown=0, NotChecked=0, Total=306 [2022-04-28 13:16:06,380 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 50 mSDsluCounter, 170 mSDsCounter, 0 mSdLazyCounter, 273 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 61 SdHoareTripleChecker+Valid, 214 SdHoareTripleChecker+Invalid, 363 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 273 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 56 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 13:16:06,380 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [61 Valid, 214 Invalid, 363 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 273 Invalid, 0 Unknown, 56 Unchecked, 0.4s Time] [2022-04-28 13:16:06,380 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2022-04-28 13:16:06,534 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 157. [2022-04-28 13:16:06,534 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:16:06,535 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand has 157 states, 102 states have (on average 1.1862745098039216) internal successors, (121), 107 states have internal predecessors, (121), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 13:16:06,535 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand has 157 states, 102 states have (on average 1.1862745098039216) internal successors, (121), 107 states have internal predecessors, (121), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 13:16:06,535 INFO L87 Difference]: Start difference. First operand 163 states. Second operand has 157 states, 102 states have (on average 1.1862745098039216) internal successors, (121), 107 states have internal predecessors, (121), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 13:16:06,539 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:16:06,540 INFO L93 Difference]: Finished difference Result 163 states and 195 transitions. [2022-04-28 13:16:06,540 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 195 transitions. [2022-04-28 13:16:06,540 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:16:06,540 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:16:06,541 INFO L74 IsIncluded]: Start isIncluded. First operand has 157 states, 102 states have (on average 1.1862745098039216) internal successors, (121), 107 states have internal predecessors, (121), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) Second operand 163 states. [2022-04-28 13:16:06,541 INFO L87 Difference]: Start difference. First operand has 157 states, 102 states have (on average 1.1862745098039216) internal successors, (121), 107 states have internal predecessors, (121), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) Second operand 163 states. [2022-04-28 13:16:06,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:16:06,546 INFO L93 Difference]: Finished difference Result 163 states and 195 transitions. [2022-04-28 13:16:06,546 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 195 transitions. [2022-04-28 13:16:06,547 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:16:06,547 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:16:06,547 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:16:06,547 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:16:06,547 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 157 states, 102 states have (on average 1.1862745098039216) internal successors, (121), 107 states have internal predecessors, (121), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 13:16:06,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 187 transitions. [2022-04-28 13:16:06,550 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 187 transitions. Word has length 67 [2022-04-28 13:16:06,551 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:16:06,551 INFO L495 AbstractCegarLoop]: Abstraction has 157 states and 187 transitions. [2022-04-28 13:16:06,551 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-28 13:16:06,551 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 157 states and 187 transitions. [2022-04-28 13:16:06,733 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 187 edges. 187 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:16:06,734 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 187 transitions. [2022-04-28 13:16:06,734 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-28 13:16:06,734 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:16:06,734 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:16:06,751 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-28 13:16:06,935 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,SelfDestructingSolverStorable13 [2022-04-28 13:16:06,935 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:16:06,935 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:16:06,935 INFO L85 PathProgramCache]: Analyzing trace with hash 73149133, now seen corresponding path program 1 times [2022-04-28 13:16:06,935 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:16:06,936 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [315710833] [2022-04-28 13:16:09,218 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:16:09,218 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:16:09,218 INFO L85 PathProgramCache]: Analyzing trace with hash 73149133, now seen corresponding path program 2 times [2022-04-28 13:16:09,218 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:16:09,219 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1806071543] [2022-04-28 13:16:09,219 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:16:09,219 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:16:09,227 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:16:09,227 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [438072344] [2022-04-28 13:16:09,227 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:16:09,227 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:16:09,227 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:16:09,228 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-28 13:16:09,229 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-28 13:16:09,275 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:16:09,275 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:16:09,276 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 13:16:09,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:16:09,292 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:16:09,918 INFO L272 TraceCheckUtils]: 0: Hoare triple {9367#true} call ULTIMATE.init(); {9367#true} is VALID [2022-04-28 13:16:09,918 INFO L290 TraceCheckUtils]: 1: Hoare triple {9367#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {9367#true} is VALID [2022-04-28 13:16:09,918 INFO L290 TraceCheckUtils]: 2: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 13:16:09,918 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9367#true} {9367#true} #92#return; {9367#true} is VALID [2022-04-28 13:16:09,918 INFO L272 TraceCheckUtils]: 4: Hoare triple {9367#true} call #t~ret7 := main(); {9367#true} is VALID [2022-04-28 13:16:09,919 INFO L290 TraceCheckUtils]: 5: Hoare triple {9367#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; {9387#(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-28 13:16:09,919 INFO L290 TraceCheckUtils]: 6: Hoare triple {9387#(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))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {9387#(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-28 13:16:09,919 INFO L290 TraceCheckUtils]: 7: Hoare triple {9387#(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 !!(#t~post5 < 20);havoc #t~post5; {9387#(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-28 13:16:09,920 INFO L272 TraceCheckUtils]: 8: Hoare triple {9387#(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)); {9367#true} is VALID [2022-04-28 13:16:09,920 INFO L290 TraceCheckUtils]: 9: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 13:16:09,920 INFO L290 TraceCheckUtils]: 10: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 13:16:09,920 INFO L290 TraceCheckUtils]: 11: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 13:16:09,920 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9367#true} {9387#(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; {9387#(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-28 13:16:09,920 INFO L272 TraceCheckUtils]: 13: Hoare triple {9387#(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)); {9367#true} is VALID [2022-04-28 13:16:09,921 INFO L290 TraceCheckUtils]: 14: Hoare triple {9367#true} ~cond := #in~cond; {9415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:16:09,921 INFO L290 TraceCheckUtils]: 15: Hoare triple {9415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:16:09,921 INFO L290 TraceCheckUtils]: 16: Hoare triple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:16:09,922 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} {9387#(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; {9387#(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-28 13:16:09,922 INFO L272 TraceCheckUtils]: 18: Hoare triple {9387#(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)); {9367#true} is VALID [2022-04-28 13:16:09,922 INFO L290 TraceCheckUtils]: 19: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 13:16:09,922 INFO L290 TraceCheckUtils]: 20: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 13:16:09,922 INFO L290 TraceCheckUtils]: 21: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 13:16:09,923 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9367#true} {9387#(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))} #82#return; {9387#(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-28 13:16:09,923 INFO L290 TraceCheckUtils]: 23: Hoare triple {9387#(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; {9444#(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-28 13:16:09,923 INFO L290 TraceCheckUtils]: 24: Hoare triple {9444#(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))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {9444#(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-28 13:16:09,924 INFO L290 TraceCheckUtils]: 25: Hoare triple {9444#(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 !!(#t~post5 < 20);havoc #t~post5; {9444#(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-28 13:16:09,924 INFO L272 TraceCheckUtils]: 26: Hoare triple {9444#(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)); {9367#true} is VALID [2022-04-28 13:16:09,924 INFO L290 TraceCheckUtils]: 27: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 13:16:09,924 INFO L290 TraceCheckUtils]: 28: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 13:16:09,924 INFO L290 TraceCheckUtils]: 29: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 13:16:09,925 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {9367#true} {9444#(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; {9444#(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-28 13:16:09,925 INFO L272 TraceCheckUtils]: 31: Hoare triple {9444#(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)); {9367#true} is VALID [2022-04-28 13:16:09,925 INFO L290 TraceCheckUtils]: 32: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 13:16:09,925 INFO L290 TraceCheckUtils]: 33: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 13:16:09,925 INFO L290 TraceCheckUtils]: 34: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 13:16:09,925 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {9367#true} {9444#(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; {9444#(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-28 13:16:09,926 INFO L272 TraceCheckUtils]: 36: Hoare triple {9444#(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)); {9367#true} is VALID [2022-04-28 13:16:09,926 INFO L290 TraceCheckUtils]: 37: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 13:16:09,926 INFO L290 TraceCheckUtils]: 38: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 13:16:09,926 INFO L290 TraceCheckUtils]: 39: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 13:16:09,926 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {9367#true} {9444#(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; {9444#(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-28 13:16:09,927 INFO L290 TraceCheckUtils]: 41: Hoare triple {9444#(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); {9444#(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-28 13:16:09,927 INFO L290 TraceCheckUtils]: 42: Hoare triple {9444#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9444#(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-28 13:16:09,927 INFO L290 TraceCheckUtils]: 43: Hoare triple {9444#(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 !!(#t~post6 < 20);havoc #t~post6; {9444#(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-28 13:16:09,928 INFO L272 TraceCheckUtils]: 44: Hoare triple {9444#(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)); {9367#true} is VALID [2022-04-28 13:16:09,928 INFO L290 TraceCheckUtils]: 45: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 13:16:09,928 INFO L290 TraceCheckUtils]: 46: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 13:16:09,928 INFO L290 TraceCheckUtils]: 47: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 13:16:09,928 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {9367#true} {9444#(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; {9444#(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-28 13:16:09,928 INFO L272 TraceCheckUtils]: 49: Hoare triple {9444#(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)); {9367#true} is VALID [2022-04-28 13:16:09,928 INFO L290 TraceCheckUtils]: 50: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 13:16:09,929 INFO L290 TraceCheckUtils]: 51: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 13:16:09,929 INFO L290 TraceCheckUtils]: 52: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 13:16:09,929 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {9367#true} {9444#(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))} #86#return; {9444#(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-28 13:16:09,930 INFO L290 TraceCheckUtils]: 54: Hoare triple {9444#(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); {9387#(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-28 13:16:09,930 INFO L290 TraceCheckUtils]: 55: Hoare triple {9387#(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; {9541#(and (<= main_~p~0 main_~q~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-28 13:16:09,930 INFO L290 TraceCheckUtils]: 56: Hoare triple {9541#(and (<= main_~p~0 main_~q~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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9541#(and (<= main_~p~0 main_~q~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-28 13:16:09,931 INFO L290 TraceCheckUtils]: 57: Hoare triple {9541#(and (<= main_~p~0 main_~q~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 !!(#t~post6 < 20);havoc #t~post6; {9541#(and (<= main_~p~0 main_~q~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-28 13:16:09,931 INFO L272 TraceCheckUtils]: 58: Hoare triple {9541#(and (<= main_~p~0 main_~q~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)); {9367#true} is VALID [2022-04-28 13:16:09,931 INFO L290 TraceCheckUtils]: 59: Hoare triple {9367#true} ~cond := #in~cond; {9415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:16:09,932 INFO L290 TraceCheckUtils]: 60: Hoare triple {9415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:16:09,932 INFO L290 TraceCheckUtils]: 61: Hoare triple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:16:09,933 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} {9541#(and (<= main_~p~0 main_~q~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; {9563#(and (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:16:09,933 INFO L272 TraceCheckUtils]: 63: Hoare triple {9563#(and (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~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)); {9367#true} is VALID [2022-04-28 13:16:09,933 INFO L290 TraceCheckUtils]: 64: Hoare triple {9367#true} ~cond := #in~cond; {9415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:16:09,934 INFO L290 TraceCheckUtils]: 65: Hoare triple {9415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:16:09,934 INFO L290 TraceCheckUtils]: 66: Hoare triple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:16:09,935 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} {9563#(and (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #86#return; {9579#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} is VALID [2022-04-28 13:16:09,935 INFO L290 TraceCheckUtils]: 68: Hoare triple {9579#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} assume !(1 != ~p~0); {9583#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0))} is VALID [2022-04-28 13:16:09,936 INFO L272 TraceCheckUtils]: 69: Hoare triple {9583#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {9587#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:16:09,936 INFO L290 TraceCheckUtils]: 70: Hoare triple {9587#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9591#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:16:09,936 INFO L290 TraceCheckUtils]: 71: Hoare triple {9591#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9368#false} is VALID [2022-04-28 13:16:09,936 INFO L290 TraceCheckUtils]: 72: Hoare triple {9368#false} assume !false; {9368#false} is VALID [2022-04-28 13:16:09,937 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 62 proven. 32 refuted. 0 times theorem prover too weak. 117 trivial. 0 not checked. [2022-04-28 13:16:09,937 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:16:16,618 INFO L290 TraceCheckUtils]: 72: Hoare triple {9368#false} assume !false; {9368#false} is VALID [2022-04-28 13:16:16,619 INFO L290 TraceCheckUtils]: 71: Hoare triple {9591#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9368#false} is VALID [2022-04-28 13:16:16,619 INFO L290 TraceCheckUtils]: 70: Hoare triple {9587#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9591#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:16:16,620 INFO L272 TraceCheckUtils]: 69: Hoare triple {9607#(= (+ (* 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)); {9587#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:16:16,621 INFO L290 TraceCheckUtils]: 68: Hoare triple {9611#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {9607#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:16:16,621 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} {9615#(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)))} #86#return; {9611#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-28 13:16:16,622 INFO L290 TraceCheckUtils]: 66: Hoare triple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:16:16,622 INFO L290 TraceCheckUtils]: 65: Hoare triple {9625#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:16:16,622 INFO L290 TraceCheckUtils]: 64: Hoare triple {9367#true} ~cond := #in~cond; {9625#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:16:16,623 INFO L272 TraceCheckUtils]: 63: Hoare triple {9615#(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)); {9367#true} is VALID [2022-04-28 13:16:16,625 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} {9367#true} #84#return; {9615#(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-28 13:16:16,626 INFO L290 TraceCheckUtils]: 61: Hoare triple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:16:16,626 INFO L290 TraceCheckUtils]: 60: Hoare triple {9625#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:16:16,626 INFO L290 TraceCheckUtils]: 59: Hoare triple {9367#true} ~cond := #in~cond; {9625#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:16:16,627 INFO L272 TraceCheckUtils]: 58: Hoare triple {9367#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 13:16:16,627 INFO L290 TraceCheckUtils]: 57: Hoare triple {9367#true} assume !!(#t~post6 < 20);havoc #t~post6; {9367#true} is VALID [2022-04-28 13:16:16,627 INFO L290 TraceCheckUtils]: 56: Hoare triple {9367#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9367#true} is VALID [2022-04-28 13:16:16,627 INFO L290 TraceCheckUtils]: 55: Hoare triple {9367#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9367#true} is VALID [2022-04-28 13:16:16,627 INFO L290 TraceCheckUtils]: 54: Hoare triple {9367#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); {9367#true} is VALID [2022-04-28 13:16:16,627 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {9367#true} {9367#true} #86#return; {9367#true} is VALID [2022-04-28 13:16:16,627 INFO L290 TraceCheckUtils]: 52: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 13:16:16,627 INFO L290 TraceCheckUtils]: 51: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 13:16:16,627 INFO L290 TraceCheckUtils]: 50: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 13:16:16,627 INFO L272 TraceCheckUtils]: 49: Hoare triple {9367#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 13:16:16,627 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {9367#true} {9367#true} #84#return; {9367#true} is VALID [2022-04-28 13:16:16,627 INFO L290 TraceCheckUtils]: 47: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 13:16:16,627 INFO L290 TraceCheckUtils]: 46: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 13:16:16,628 INFO L290 TraceCheckUtils]: 45: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 13:16:16,628 INFO L272 TraceCheckUtils]: 44: Hoare triple {9367#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 13:16:16,628 INFO L290 TraceCheckUtils]: 43: Hoare triple {9367#true} assume !!(#t~post6 < 20);havoc #t~post6; {9367#true} is VALID [2022-04-28 13:16:16,628 INFO L290 TraceCheckUtils]: 42: Hoare triple {9367#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9367#true} is VALID [2022-04-28 13:16:16,628 INFO L290 TraceCheckUtils]: 41: Hoare triple {9367#true} assume !(~r~0 >= ~d~0); {9367#true} is VALID [2022-04-28 13:16:16,628 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {9367#true} {9367#true} #82#return; {9367#true} is VALID [2022-04-28 13:16:16,628 INFO L290 TraceCheckUtils]: 39: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 13:16:16,628 INFO L290 TraceCheckUtils]: 38: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 13:16:16,628 INFO L290 TraceCheckUtils]: 37: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 13:16:16,628 INFO L272 TraceCheckUtils]: 36: Hoare triple {9367#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 13:16:16,628 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {9367#true} {9367#true} #80#return; {9367#true} is VALID [2022-04-28 13:16:16,628 INFO L290 TraceCheckUtils]: 34: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 13:16:16,628 INFO L290 TraceCheckUtils]: 33: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 13:16:16,628 INFO L290 TraceCheckUtils]: 32: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 13:16:16,629 INFO L272 TraceCheckUtils]: 31: Hoare triple {9367#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 13:16:16,629 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {9367#true} {9367#true} #78#return; {9367#true} is VALID [2022-04-28 13:16:16,629 INFO L290 TraceCheckUtils]: 29: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 13:16:16,629 INFO L290 TraceCheckUtils]: 28: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 13:16:16,629 INFO L290 TraceCheckUtils]: 27: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 13:16:16,629 INFO L272 TraceCheckUtils]: 26: Hoare triple {9367#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 13:16:16,629 INFO L290 TraceCheckUtils]: 25: Hoare triple {9367#true} assume !!(#t~post5 < 20);havoc #t~post5; {9367#true} is VALID [2022-04-28 13:16:16,629 INFO L290 TraceCheckUtils]: 24: Hoare triple {9367#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {9367#true} is VALID [2022-04-28 13:16:16,629 INFO L290 TraceCheckUtils]: 23: Hoare triple {9367#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9367#true} is VALID [2022-04-28 13:16:16,629 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9367#true} {9367#true} #82#return; {9367#true} is VALID [2022-04-28 13:16:16,629 INFO L290 TraceCheckUtils]: 21: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 13:16:16,629 INFO L290 TraceCheckUtils]: 20: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 13:16:16,630 INFO L290 TraceCheckUtils]: 19: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 13:16:16,630 INFO L272 TraceCheckUtils]: 18: Hoare triple {9367#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 13:16:16,630 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9367#true} {9367#true} #80#return; {9367#true} is VALID [2022-04-28 13:16:16,630 INFO L290 TraceCheckUtils]: 16: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 13:16:16,630 INFO L290 TraceCheckUtils]: 15: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 13:16:16,630 INFO L290 TraceCheckUtils]: 14: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 13:16:16,630 INFO L272 TraceCheckUtils]: 13: Hoare triple {9367#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 13:16:16,630 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9367#true} {9367#true} #78#return; {9367#true} is VALID [2022-04-28 13:16:16,630 INFO L290 TraceCheckUtils]: 11: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 13:16:16,630 INFO L290 TraceCheckUtils]: 10: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 13:16:16,630 INFO L290 TraceCheckUtils]: 9: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 13:16:16,630 INFO L272 TraceCheckUtils]: 8: Hoare triple {9367#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 13:16:16,630 INFO L290 TraceCheckUtils]: 7: Hoare triple {9367#true} assume !!(#t~post5 < 20);havoc #t~post5; {9367#true} is VALID [2022-04-28 13:16:16,631 INFO L290 TraceCheckUtils]: 6: Hoare triple {9367#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {9367#true} is VALID [2022-04-28 13:16:16,631 INFO L290 TraceCheckUtils]: 5: Hoare triple {9367#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; {9367#true} is VALID [2022-04-28 13:16:16,631 INFO L272 TraceCheckUtils]: 4: Hoare triple {9367#true} call #t~ret7 := main(); {9367#true} is VALID [2022-04-28 13:16:16,631 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9367#true} {9367#true} #92#return; {9367#true} is VALID [2022-04-28 13:16:16,631 INFO L290 TraceCheckUtils]: 2: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 13:16:16,631 INFO L290 TraceCheckUtils]: 1: Hoare triple {9367#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {9367#true} is VALID [2022-04-28 13:16:16,631 INFO L272 TraceCheckUtils]: 0: Hoare triple {9367#true} call ULTIMATE.init(); {9367#true} is VALID [2022-04-28 13:16:16,631 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 68 proven. 2 refuted. 0 times theorem prover too weak. 141 trivial. 0 not checked. [2022-04-28 13:16:16,631 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:16:16,632 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1806071543] [2022-04-28 13:16:16,632 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:16:16,632 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [438072344] [2022-04-28 13:16:16,632 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [438072344] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:16:16,632 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:16:16,632 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-28 13:16:16,632 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:16:16,632 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [315710833] [2022-04-28 13:16:16,632 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [315710833] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:16:16,632 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:16:16,632 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 13:16:16,632 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1717623916] [2022-04-28 13:16:16,632 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:16:16,633 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 13:16:16,633 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:16:16,633 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 13:16:16,677 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-28 13:16:16,677 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 13:16:16,678 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:16:16,678 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 13:16:16,678 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-28 13:16:16,678 INFO L87 Difference]: Start difference. First operand 157 states and 187 transitions. Second operand has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 13:16:17,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:16:17,657 INFO L93 Difference]: Finished difference Result 186 states and 221 transitions. [2022-04-28 13:16:17,657 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 13:16:17,657 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 13:16:17,657 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:16:17,657 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 13:16:17,658 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-28 13:16:17,659 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 13:16:17,660 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-28 13:16:17,660 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2022-04-28 13:16:17,738 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:16:17,740 INFO L225 Difference]: With dead ends: 186 [2022-04-28 13:16:17,740 INFO L226 Difference]: Without dead ends: 129 [2022-04-28 13:16:17,740 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 129 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=68, Invalid=238, Unknown=0, NotChecked=0, Total=306 [2022-04-28 13:16:17,740 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 17 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 350 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 368 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 350 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 13:16:17,741 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 180 Invalid, 368 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 350 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 13:16:17,741 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-28 13:16:17,834 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 129. [2022-04-28 13:16:17,834 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:16:17,834 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 129 states, 83 states have (on average 1.180722891566265) internal successors, (98), 87 states have internal predecessors, (98), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 13:16:17,835 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 129 states, 83 states have (on average 1.180722891566265) internal successors, (98), 87 states have internal predecessors, (98), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 13:16:17,835 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 129 states, 83 states have (on average 1.180722891566265) internal successors, (98), 87 states have internal predecessors, (98), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 13:16:17,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:16:17,837 INFO L93 Difference]: Finished difference Result 129 states and 152 transitions. [2022-04-28 13:16:17,837 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 152 transitions. [2022-04-28 13:16:17,838 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:16:17,838 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:16:17,838 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 83 states have (on average 1.180722891566265) internal successors, (98), 87 states have internal predecessors, (98), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) Second operand 129 states. [2022-04-28 13:16:17,838 INFO L87 Difference]: Start difference. First operand has 129 states, 83 states have (on average 1.180722891566265) internal successors, (98), 87 states have internal predecessors, (98), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) Second operand 129 states. [2022-04-28 13:16:17,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:16:17,840 INFO L93 Difference]: Finished difference Result 129 states and 152 transitions. [2022-04-28 13:16:17,841 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 152 transitions. [2022-04-28 13:16:17,841 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:16:17,841 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:16:17,841 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:16:17,841 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:16:17,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 83 states have (on average 1.180722891566265) internal successors, (98), 87 states have internal predecessors, (98), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 13:16:17,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 152 transitions. [2022-04-28 13:16:17,844 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 152 transitions. Word has length 73 [2022-04-28 13:16:17,844 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:16:17,844 INFO L495 AbstractCegarLoop]: Abstraction has 129 states and 152 transitions. [2022-04-28 13:16:17,844 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 13:16:17,844 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 129 states and 152 transitions. [2022-04-28 13:16:17,993 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:16:17,994 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 152 transitions. [2022-04-28 13:16:17,994 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-28 13:16:17,994 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:16:17,994 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:16:18,012 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-28 13:16:18,195 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,SelfDestructingSolverStorable14 [2022-04-28 13:16:18,195 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:16:18,195 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:16:18,195 INFO L85 PathProgramCache]: Analyzing trace with hash 469209008, now seen corresponding path program 5 times [2022-04-28 13:16:18,195 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:16:18,195 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1960674422] [2022-04-28 13:16:22,277 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:16:22,277 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:16:22,277 INFO L85 PathProgramCache]: Analyzing trace with hash 469209008, now seen corresponding path program 6 times [2022-04-28 13:16:22,277 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:16:22,278 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [999425488] [2022-04-28 13:16:22,278 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:16:22,278 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:16:22,292 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:16:22,292 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1515370043] [2022-04-28 13:16:22,292 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:16:22,292 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:16:22,292 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:16:22,293 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:16:22,294 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 13:16:22,335 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-28 13:16:22,335 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:16:22,336 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 13:16:22,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:16:22,349 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:16:22,608 INFO L272 TraceCheckUtils]: 0: Hoare triple {10712#true} call ULTIMATE.init(); {10712#true} is VALID [2022-04-28 13:16:22,608 INFO L290 TraceCheckUtils]: 1: Hoare triple {10712#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10720#(<= ~counter~0 0)} is VALID [2022-04-28 13:16:22,609 INFO L290 TraceCheckUtils]: 2: Hoare triple {10720#(<= ~counter~0 0)} assume true; {10720#(<= ~counter~0 0)} is VALID [2022-04-28 13:16:22,609 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10720#(<= ~counter~0 0)} {10712#true} #92#return; {10720#(<= ~counter~0 0)} is VALID [2022-04-28 13:16:22,609 INFO L272 TraceCheckUtils]: 4: Hoare triple {10720#(<= ~counter~0 0)} call #t~ret7 := main(); {10720#(<= ~counter~0 0)} is VALID [2022-04-28 13:16:22,610 INFO L290 TraceCheckUtils]: 5: Hoare triple {10720#(<= ~counter~0 0)} 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; {10720#(<= ~counter~0 0)} is VALID [2022-04-28 13:16:22,610 INFO L290 TraceCheckUtils]: 6: Hoare triple {10720#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:22,610 INFO L290 TraceCheckUtils]: 7: Hoare triple {10736#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:22,611 INFO L272 TraceCheckUtils]: 8: Hoare triple {10736#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10736#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:22,611 INFO L290 TraceCheckUtils]: 9: Hoare triple {10736#(<= ~counter~0 1)} ~cond := #in~cond; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:22,611 INFO L290 TraceCheckUtils]: 10: Hoare triple {10736#(<= ~counter~0 1)} assume !(0 == ~cond); {10736#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:22,612 INFO L290 TraceCheckUtils]: 11: Hoare triple {10736#(<= ~counter~0 1)} assume true; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:22,612 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10736#(<= ~counter~0 1)} {10736#(<= ~counter~0 1)} #78#return; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:22,612 INFO L272 TraceCheckUtils]: 13: Hoare triple {10736#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10736#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:22,613 INFO L290 TraceCheckUtils]: 14: Hoare triple {10736#(<= ~counter~0 1)} ~cond := #in~cond; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:22,613 INFO L290 TraceCheckUtils]: 15: Hoare triple {10736#(<= ~counter~0 1)} assume !(0 == ~cond); {10736#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:22,613 INFO L290 TraceCheckUtils]: 16: Hoare triple {10736#(<= ~counter~0 1)} assume true; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:22,614 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {10736#(<= ~counter~0 1)} {10736#(<= ~counter~0 1)} #80#return; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:22,614 INFO L272 TraceCheckUtils]: 18: Hoare triple {10736#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10736#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:22,614 INFO L290 TraceCheckUtils]: 19: Hoare triple {10736#(<= ~counter~0 1)} ~cond := #in~cond; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:22,615 INFO L290 TraceCheckUtils]: 20: Hoare triple {10736#(<= ~counter~0 1)} assume !(0 == ~cond); {10736#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:22,615 INFO L290 TraceCheckUtils]: 21: Hoare triple {10736#(<= ~counter~0 1)} assume true; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:22,615 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10736#(<= ~counter~0 1)} {10736#(<= ~counter~0 1)} #82#return; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:22,616 INFO L290 TraceCheckUtils]: 23: Hoare triple {10736#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:22,617 INFO L290 TraceCheckUtils]: 24: Hoare triple {10736#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:22,617 INFO L290 TraceCheckUtils]: 25: Hoare triple {10791#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:22,617 INFO L272 TraceCheckUtils]: 26: Hoare triple {10791#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10791#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:22,618 INFO L290 TraceCheckUtils]: 27: Hoare triple {10791#(<= ~counter~0 2)} ~cond := #in~cond; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:22,618 INFO L290 TraceCheckUtils]: 28: Hoare triple {10791#(<= ~counter~0 2)} assume !(0 == ~cond); {10791#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:22,618 INFO L290 TraceCheckUtils]: 29: Hoare triple {10791#(<= ~counter~0 2)} assume true; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:22,619 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {10791#(<= ~counter~0 2)} {10791#(<= ~counter~0 2)} #78#return; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:22,619 INFO L272 TraceCheckUtils]: 31: Hoare triple {10791#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10791#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:22,620 INFO L290 TraceCheckUtils]: 32: Hoare triple {10791#(<= ~counter~0 2)} ~cond := #in~cond; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:22,620 INFO L290 TraceCheckUtils]: 33: Hoare triple {10791#(<= ~counter~0 2)} assume !(0 == ~cond); {10791#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:22,620 INFO L290 TraceCheckUtils]: 34: Hoare triple {10791#(<= ~counter~0 2)} assume true; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:22,621 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {10791#(<= ~counter~0 2)} {10791#(<= ~counter~0 2)} #80#return; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:22,621 INFO L272 TraceCheckUtils]: 36: Hoare triple {10791#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10791#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:22,622 INFO L290 TraceCheckUtils]: 37: Hoare triple {10791#(<= ~counter~0 2)} ~cond := #in~cond; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:22,622 INFO L290 TraceCheckUtils]: 38: Hoare triple {10791#(<= ~counter~0 2)} assume !(0 == ~cond); {10791#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:22,622 INFO L290 TraceCheckUtils]: 39: Hoare triple {10791#(<= ~counter~0 2)} assume true; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:22,623 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {10791#(<= ~counter~0 2)} {10791#(<= ~counter~0 2)} #82#return; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:22,623 INFO L290 TraceCheckUtils]: 41: Hoare triple {10791#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:22,624 INFO L290 TraceCheckUtils]: 42: Hoare triple {10791#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:22,624 INFO L290 TraceCheckUtils]: 43: Hoare triple {10846#(<= ~counter~0 3)} assume !!(#t~post5 < 20);havoc #t~post5; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:22,625 INFO L272 TraceCheckUtils]: 44: Hoare triple {10846#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10846#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:22,625 INFO L290 TraceCheckUtils]: 45: Hoare triple {10846#(<= ~counter~0 3)} ~cond := #in~cond; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:22,626 INFO L290 TraceCheckUtils]: 46: Hoare triple {10846#(<= ~counter~0 3)} assume !(0 == ~cond); {10846#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:22,626 INFO L290 TraceCheckUtils]: 47: Hoare triple {10846#(<= ~counter~0 3)} assume true; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:22,626 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {10846#(<= ~counter~0 3)} {10846#(<= ~counter~0 3)} #78#return; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:22,627 INFO L272 TraceCheckUtils]: 49: Hoare triple {10846#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10846#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:22,627 INFO L290 TraceCheckUtils]: 50: Hoare triple {10846#(<= ~counter~0 3)} ~cond := #in~cond; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:22,628 INFO L290 TraceCheckUtils]: 51: Hoare triple {10846#(<= ~counter~0 3)} assume !(0 == ~cond); {10846#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:22,628 INFO L290 TraceCheckUtils]: 52: Hoare triple {10846#(<= ~counter~0 3)} assume true; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:22,628 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {10846#(<= ~counter~0 3)} {10846#(<= ~counter~0 3)} #80#return; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:22,629 INFO L272 TraceCheckUtils]: 54: Hoare triple {10846#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10846#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:22,629 INFO L290 TraceCheckUtils]: 55: Hoare triple {10846#(<= ~counter~0 3)} ~cond := #in~cond; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:22,630 INFO L290 TraceCheckUtils]: 56: Hoare triple {10846#(<= ~counter~0 3)} assume !(0 == ~cond); {10846#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:22,630 INFO L290 TraceCheckUtils]: 57: Hoare triple {10846#(<= ~counter~0 3)} assume true; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:22,630 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10846#(<= ~counter~0 3)} {10846#(<= ~counter~0 3)} #82#return; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:22,631 INFO L290 TraceCheckUtils]: 59: Hoare triple {10846#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:22,631 INFO L290 TraceCheckUtils]: 60: Hoare triple {10846#(<= ~counter~0 3)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10901#(<= |main_#t~post5| 3)} is VALID [2022-04-28 13:16:22,632 INFO L290 TraceCheckUtils]: 61: Hoare triple {10901#(<= |main_#t~post5| 3)} assume !(#t~post5 < 20);havoc #t~post5; {10713#false} is VALID [2022-04-28 13:16:22,632 INFO L290 TraceCheckUtils]: 62: Hoare triple {10713#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10713#false} is VALID [2022-04-28 13:16:22,632 INFO L290 TraceCheckUtils]: 63: Hoare triple {10713#false} assume !(#t~post6 < 20);havoc #t~post6; {10713#false} is VALID [2022-04-28 13:16:22,632 INFO L272 TraceCheckUtils]: 64: Hoare triple {10713#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10713#false} is VALID [2022-04-28 13:16:22,632 INFO L290 TraceCheckUtils]: 65: Hoare triple {10713#false} ~cond := #in~cond; {10713#false} is VALID [2022-04-28 13:16:22,632 INFO L290 TraceCheckUtils]: 66: Hoare triple {10713#false} assume !(0 == ~cond); {10713#false} is VALID [2022-04-28 13:16:22,632 INFO L290 TraceCheckUtils]: 67: Hoare triple {10713#false} assume true; {10713#false} is VALID [2022-04-28 13:16:22,632 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10713#false} {10713#false} #88#return; {10713#false} is VALID [2022-04-28 13:16:22,632 INFO L272 TraceCheckUtils]: 69: Hoare triple {10713#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {10713#false} is VALID [2022-04-28 13:16:22,632 INFO L290 TraceCheckUtils]: 70: Hoare triple {10713#false} ~cond := #in~cond; {10713#false} is VALID [2022-04-28 13:16:22,632 INFO L290 TraceCheckUtils]: 71: Hoare triple {10713#false} assume 0 == ~cond; {10713#false} is VALID [2022-04-28 13:16:22,632 INFO L290 TraceCheckUtils]: 72: Hoare triple {10713#false} assume !false; {10713#false} is VALID [2022-04-28 13:16:22,633 INFO L134 CoverageAnalysis]: Checked inductivity of 224 backedges. 54 proven. 132 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-28 13:16:22,633 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:16:22,888 INFO L290 TraceCheckUtils]: 72: Hoare triple {10713#false} assume !false; {10713#false} is VALID [2022-04-28 13:16:22,888 INFO L290 TraceCheckUtils]: 71: Hoare triple {10713#false} assume 0 == ~cond; {10713#false} is VALID [2022-04-28 13:16:22,888 INFO L290 TraceCheckUtils]: 70: Hoare triple {10713#false} ~cond := #in~cond; {10713#false} is VALID [2022-04-28 13:16:22,888 INFO L272 TraceCheckUtils]: 69: Hoare triple {10713#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {10713#false} is VALID [2022-04-28 13:16:22,888 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10712#true} {10713#false} #88#return; {10713#false} is VALID [2022-04-28 13:16:22,888 INFO L290 TraceCheckUtils]: 67: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 13:16:22,889 INFO L290 TraceCheckUtils]: 66: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 13:16:22,889 INFO L290 TraceCheckUtils]: 65: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 13:16:22,889 INFO L272 TraceCheckUtils]: 64: Hoare triple {10713#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 13:16:22,889 INFO L290 TraceCheckUtils]: 63: Hoare triple {10713#false} assume !(#t~post6 < 20);havoc #t~post6; {10713#false} is VALID [2022-04-28 13:16:22,904 INFO L290 TraceCheckUtils]: 62: Hoare triple {10713#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10713#false} is VALID [2022-04-28 13:16:22,904 INFO L290 TraceCheckUtils]: 61: Hoare triple {10971#(< |main_#t~post5| 20)} assume !(#t~post5 < 20);havoc #t~post5; {10713#false} is VALID [2022-04-28 13:16:22,905 INFO L290 TraceCheckUtils]: 60: Hoare triple {10975#(< ~counter~0 20)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10971#(< |main_#t~post5| 20)} is VALID [2022-04-28 13:16:22,905 INFO L290 TraceCheckUtils]: 59: Hoare triple {10975#(< ~counter~0 20)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10975#(< ~counter~0 20)} is VALID [2022-04-28 13:16:22,906 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10712#true} {10975#(< ~counter~0 20)} #82#return; {10975#(< ~counter~0 20)} is VALID [2022-04-28 13:16:22,906 INFO L290 TraceCheckUtils]: 57: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 13:16:22,906 INFO L290 TraceCheckUtils]: 56: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 13:16:22,906 INFO L290 TraceCheckUtils]: 55: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 13:16:22,906 INFO L272 TraceCheckUtils]: 54: Hoare triple {10975#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 13:16:22,906 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {10712#true} {10975#(< ~counter~0 20)} #80#return; {10975#(< ~counter~0 20)} is VALID [2022-04-28 13:16:22,906 INFO L290 TraceCheckUtils]: 52: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 13:16:22,907 INFO L290 TraceCheckUtils]: 51: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 13:16:22,907 INFO L290 TraceCheckUtils]: 50: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 13:16:22,907 INFO L272 TraceCheckUtils]: 49: Hoare triple {10975#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 13:16:22,907 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {10712#true} {10975#(< ~counter~0 20)} #78#return; {10975#(< ~counter~0 20)} is VALID [2022-04-28 13:16:22,907 INFO L290 TraceCheckUtils]: 47: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 13:16:22,907 INFO L290 TraceCheckUtils]: 46: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 13:16:22,907 INFO L290 TraceCheckUtils]: 45: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 13:16:22,907 INFO L272 TraceCheckUtils]: 44: Hoare triple {10975#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 13:16:22,908 INFO L290 TraceCheckUtils]: 43: Hoare triple {10975#(< ~counter~0 20)} assume !!(#t~post5 < 20);havoc #t~post5; {10975#(< ~counter~0 20)} is VALID [2022-04-28 13:16:22,908 INFO L290 TraceCheckUtils]: 42: Hoare triple {11030#(< ~counter~0 19)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10975#(< ~counter~0 20)} is VALID [2022-04-28 13:16:22,909 INFO L290 TraceCheckUtils]: 41: Hoare triple {11030#(< ~counter~0 19)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11030#(< ~counter~0 19)} is VALID [2022-04-28 13:16:22,909 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {10712#true} {11030#(< ~counter~0 19)} #82#return; {11030#(< ~counter~0 19)} is VALID [2022-04-28 13:16:22,909 INFO L290 TraceCheckUtils]: 39: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 13:16:22,909 INFO L290 TraceCheckUtils]: 38: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 13:16:22,909 INFO L290 TraceCheckUtils]: 37: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 13:16:22,909 INFO L272 TraceCheckUtils]: 36: Hoare triple {11030#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 13:16:22,910 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {10712#true} {11030#(< ~counter~0 19)} #80#return; {11030#(< ~counter~0 19)} is VALID [2022-04-28 13:16:22,910 INFO L290 TraceCheckUtils]: 34: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 13:16:22,910 INFO L290 TraceCheckUtils]: 33: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 13:16:22,910 INFO L290 TraceCheckUtils]: 32: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 13:16:22,910 INFO L272 TraceCheckUtils]: 31: Hoare triple {11030#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 13:16:22,910 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {10712#true} {11030#(< ~counter~0 19)} #78#return; {11030#(< ~counter~0 19)} is VALID [2022-04-28 13:16:22,910 INFO L290 TraceCheckUtils]: 29: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 13:16:22,911 INFO L290 TraceCheckUtils]: 28: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 13:16:22,911 INFO L290 TraceCheckUtils]: 27: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 13:16:22,911 INFO L272 TraceCheckUtils]: 26: Hoare triple {11030#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 13:16:22,911 INFO L290 TraceCheckUtils]: 25: Hoare triple {11030#(< ~counter~0 19)} assume !!(#t~post5 < 20);havoc #t~post5; {11030#(< ~counter~0 19)} is VALID [2022-04-28 13:16:22,911 INFO L290 TraceCheckUtils]: 24: Hoare triple {11085#(< ~counter~0 18)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {11030#(< ~counter~0 19)} is VALID [2022-04-28 13:16:22,912 INFO L290 TraceCheckUtils]: 23: Hoare triple {11085#(< ~counter~0 18)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11085#(< ~counter~0 18)} is VALID [2022-04-28 13:16:22,912 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10712#true} {11085#(< ~counter~0 18)} #82#return; {11085#(< ~counter~0 18)} is VALID [2022-04-28 13:16:22,912 INFO L290 TraceCheckUtils]: 21: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 13:16:22,912 INFO L290 TraceCheckUtils]: 20: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 13:16:22,912 INFO L290 TraceCheckUtils]: 19: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 13:16:22,912 INFO L272 TraceCheckUtils]: 18: Hoare triple {11085#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 13:16:22,913 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {10712#true} {11085#(< ~counter~0 18)} #80#return; {11085#(< ~counter~0 18)} is VALID [2022-04-28 13:16:22,913 INFO L290 TraceCheckUtils]: 16: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 13:16:22,913 INFO L290 TraceCheckUtils]: 15: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 13:16:22,913 INFO L290 TraceCheckUtils]: 14: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 13:16:22,913 INFO L272 TraceCheckUtils]: 13: Hoare triple {11085#(< ~counter~0 18)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 13:16:22,913 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10712#true} {11085#(< ~counter~0 18)} #78#return; {11085#(< ~counter~0 18)} is VALID [2022-04-28 13:16:22,914 INFO L290 TraceCheckUtils]: 11: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 13:16:22,914 INFO L290 TraceCheckUtils]: 10: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 13:16:22,914 INFO L290 TraceCheckUtils]: 9: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 13:16:22,914 INFO L272 TraceCheckUtils]: 8: Hoare triple {11085#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 13:16:22,914 INFO L290 TraceCheckUtils]: 7: Hoare triple {11085#(< ~counter~0 18)} assume !!(#t~post5 < 20);havoc #t~post5; {11085#(< ~counter~0 18)} is VALID [2022-04-28 13:16:22,915 INFO L290 TraceCheckUtils]: 6: Hoare triple {11140#(< ~counter~0 17)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {11085#(< ~counter~0 18)} is VALID [2022-04-28 13:16:22,915 INFO L290 TraceCheckUtils]: 5: Hoare triple {11140#(< ~counter~0 17)} 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; {11140#(< ~counter~0 17)} is VALID [2022-04-28 13:16:22,915 INFO L272 TraceCheckUtils]: 4: Hoare triple {11140#(< ~counter~0 17)} call #t~ret7 := main(); {11140#(< ~counter~0 17)} is VALID [2022-04-28 13:16:22,915 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11140#(< ~counter~0 17)} {10712#true} #92#return; {11140#(< ~counter~0 17)} is VALID [2022-04-28 13:16:22,916 INFO L290 TraceCheckUtils]: 2: Hoare triple {11140#(< ~counter~0 17)} assume true; {11140#(< ~counter~0 17)} is VALID [2022-04-28 13:16:22,916 INFO L290 TraceCheckUtils]: 1: Hoare triple {10712#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11140#(< ~counter~0 17)} is VALID [2022-04-28 13:16:22,916 INFO L272 TraceCheckUtils]: 0: Hoare triple {10712#true} call ULTIMATE.init(); {10712#true} is VALID [2022-04-28 13:16:22,917 INFO L134 CoverageAnalysis]: Checked inductivity of 224 backedges. 20 proven. 24 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-28 13:16:22,917 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:16:22,917 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [999425488] [2022-04-28 13:16:22,917 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:16:22,917 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1515370043] [2022-04-28 13:16:22,917 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1515370043] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:16:22,917 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:16:22,917 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 13:16:22,917 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:16:22,917 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1960674422] [2022-04-28 13:16:22,917 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1960674422] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:16:22,917 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:16:22,918 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 13:16:22,918 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [705573353] [2022-04-28 13:16:22,918 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:16:22,918 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 13:16:22,918 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:16:22,918 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 13:16:22,953 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:16:22,954 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 13:16:22,954 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:16:22,954 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 13:16:22,954 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 13:16:22,954 INFO L87 Difference]: Start difference. First operand 129 states and 152 transitions. Second operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 13:16:23,203 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:16:23,204 INFO L93 Difference]: Finished difference Result 170 states and 207 transitions. [2022-04-28 13:16:23,204 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 13:16:23,204 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 13:16:23,204 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:16:23,204 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 13:16:23,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-28 13:16:23,206 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 13:16:23,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-28 13:16:23,207 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 96 transitions. [2022-04-28 13:16:23,271 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:16:23,274 INFO L225 Difference]: With dead ends: 170 [2022-04-28 13:16:23,274 INFO L226 Difference]: Without dead ends: 131 [2022-04-28 13:16:23,274 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 148 GetRequests, 135 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-28 13:16:23,275 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 5 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 35 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 13:16:23,275 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 144 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 35 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 13:16:23,276 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-28 13:16:23,398 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 131. [2022-04-28 13:16:23,398 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:16:23,398 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 131 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 89 states have internal predecessors, (100), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 13:16:23,399 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 131 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 89 states have internal predecessors, (100), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 13:16:23,399 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 131 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 89 states have internal predecessors, (100), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 13:16:23,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:16:23,402 INFO L93 Difference]: Finished difference Result 131 states and 154 transitions. [2022-04-28 13:16:23,402 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 154 transitions. [2022-04-28 13:16:23,402 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:16:23,402 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:16:23,402 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 89 states have internal predecessors, (100), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) Second operand 131 states. [2022-04-28 13:16:23,404 INFO L87 Difference]: Start difference. First operand has 131 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 89 states have internal predecessors, (100), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) Second operand 131 states. [2022-04-28 13:16:23,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:16:23,407 INFO L93 Difference]: Finished difference Result 131 states and 154 transitions. [2022-04-28 13:16:23,407 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 154 transitions. [2022-04-28 13:16:23,407 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:16:23,407 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:16:23,407 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:16:23,407 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:16:23,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 89 states have internal predecessors, (100), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 13:16:23,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 154 transitions. [2022-04-28 13:16:23,410 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 154 transitions. Word has length 73 [2022-04-28 13:16:23,412 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:16:23,412 INFO L495 AbstractCegarLoop]: Abstraction has 131 states and 154 transitions. [2022-04-28 13:16:23,412 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 13:16:23,412 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 154 transitions. [2022-04-28 13:16:23,567 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:16:23,567 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 154 transitions. [2022-04-28 13:16:23,567 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-28 13:16:23,567 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:16:23,568 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:16:23,584 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 13:16:23,768 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 13:16:23,768 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:16:23,769 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:16:23,769 INFO L85 PathProgramCache]: Analyzing trace with hash 1997631578, now seen corresponding path program 3 times [2022-04-28 13:16:23,769 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:16:23,769 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2006661304] [2022-04-28 13:16:27,846 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:16:27,846 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:16:27,846 INFO L85 PathProgramCache]: Analyzing trace with hash 1997631578, now seen corresponding path program 4 times [2022-04-28 13:16:27,846 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:16:27,846 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1367761348] [2022-04-28 13:16:27,846 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:16:27,847 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:16:27,855 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:16:27,856 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [984740045] [2022-04-28 13:16:27,856 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:16:27,856 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:16:27,856 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:16:27,868 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:16:27,869 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 13:16:27,919 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:16:27,920 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:16:27,921 INFO L263 TraceCheckSpWp]: Trace formula consists of 215 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 13:16:27,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:16:27,941 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:16:28,240 INFO L272 TraceCheckUtils]: 0: Hoare triple {12031#true} call ULTIMATE.init(); {12031#true} is VALID [2022-04-28 13:16:28,241 INFO L290 TraceCheckUtils]: 1: Hoare triple {12031#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12039#(<= ~counter~0 0)} is VALID [2022-04-28 13:16:28,241 INFO L290 TraceCheckUtils]: 2: Hoare triple {12039#(<= ~counter~0 0)} assume true; {12039#(<= ~counter~0 0)} is VALID [2022-04-28 13:16:28,241 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12039#(<= ~counter~0 0)} {12031#true} #92#return; {12039#(<= ~counter~0 0)} is VALID [2022-04-28 13:16:28,242 INFO L272 TraceCheckUtils]: 4: Hoare triple {12039#(<= ~counter~0 0)} call #t~ret7 := main(); {12039#(<= ~counter~0 0)} is VALID [2022-04-28 13:16:28,242 INFO L290 TraceCheckUtils]: 5: Hoare triple {12039#(<= ~counter~0 0)} 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; {12039#(<= ~counter~0 0)} is VALID [2022-04-28 13:16:28,243 INFO L290 TraceCheckUtils]: 6: Hoare triple {12039#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:28,243 INFO L290 TraceCheckUtils]: 7: Hoare triple {12055#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:28,243 INFO L272 TraceCheckUtils]: 8: Hoare triple {12055#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12055#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:28,244 INFO L290 TraceCheckUtils]: 9: Hoare triple {12055#(<= ~counter~0 1)} ~cond := #in~cond; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:28,244 INFO L290 TraceCheckUtils]: 10: Hoare triple {12055#(<= ~counter~0 1)} assume !(0 == ~cond); {12055#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:28,244 INFO L290 TraceCheckUtils]: 11: Hoare triple {12055#(<= ~counter~0 1)} assume true; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:28,245 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12055#(<= ~counter~0 1)} {12055#(<= ~counter~0 1)} #78#return; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:28,245 INFO L272 TraceCheckUtils]: 13: Hoare triple {12055#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12055#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:28,245 INFO L290 TraceCheckUtils]: 14: Hoare triple {12055#(<= ~counter~0 1)} ~cond := #in~cond; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:28,245 INFO L290 TraceCheckUtils]: 15: Hoare triple {12055#(<= ~counter~0 1)} assume !(0 == ~cond); {12055#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:28,246 INFO L290 TraceCheckUtils]: 16: Hoare triple {12055#(<= ~counter~0 1)} assume true; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:28,246 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {12055#(<= ~counter~0 1)} {12055#(<= ~counter~0 1)} #80#return; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:28,247 INFO L272 TraceCheckUtils]: 18: Hoare triple {12055#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12055#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:28,247 INFO L290 TraceCheckUtils]: 19: Hoare triple {12055#(<= ~counter~0 1)} ~cond := #in~cond; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:28,247 INFO L290 TraceCheckUtils]: 20: Hoare triple {12055#(<= ~counter~0 1)} assume !(0 == ~cond); {12055#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:28,247 INFO L290 TraceCheckUtils]: 21: Hoare triple {12055#(<= ~counter~0 1)} assume true; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:28,248 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12055#(<= ~counter~0 1)} {12055#(<= ~counter~0 1)} #82#return; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:28,248 INFO L290 TraceCheckUtils]: 23: Hoare triple {12055#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 13:16:28,249 INFO L290 TraceCheckUtils]: 24: Hoare triple {12055#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:28,249 INFO L290 TraceCheckUtils]: 25: Hoare triple {12110#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:28,249 INFO L272 TraceCheckUtils]: 26: Hoare triple {12110#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12110#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:28,250 INFO L290 TraceCheckUtils]: 27: Hoare triple {12110#(<= ~counter~0 2)} ~cond := #in~cond; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:28,250 INFO L290 TraceCheckUtils]: 28: Hoare triple {12110#(<= ~counter~0 2)} assume !(0 == ~cond); {12110#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:28,250 INFO L290 TraceCheckUtils]: 29: Hoare triple {12110#(<= ~counter~0 2)} assume true; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:28,251 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {12110#(<= ~counter~0 2)} {12110#(<= ~counter~0 2)} #78#return; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:28,251 INFO L272 TraceCheckUtils]: 31: Hoare triple {12110#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12110#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:28,251 INFO L290 TraceCheckUtils]: 32: Hoare triple {12110#(<= ~counter~0 2)} ~cond := #in~cond; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:28,251 INFO L290 TraceCheckUtils]: 33: Hoare triple {12110#(<= ~counter~0 2)} assume !(0 == ~cond); {12110#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:28,252 INFO L290 TraceCheckUtils]: 34: Hoare triple {12110#(<= ~counter~0 2)} assume true; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:28,252 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {12110#(<= ~counter~0 2)} {12110#(<= ~counter~0 2)} #80#return; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:28,253 INFO L272 TraceCheckUtils]: 36: Hoare triple {12110#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12110#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:28,253 INFO L290 TraceCheckUtils]: 37: Hoare triple {12110#(<= ~counter~0 2)} ~cond := #in~cond; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:28,253 INFO L290 TraceCheckUtils]: 38: Hoare triple {12110#(<= ~counter~0 2)} assume !(0 == ~cond); {12110#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:28,253 INFO L290 TraceCheckUtils]: 39: Hoare triple {12110#(<= ~counter~0 2)} assume true; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:28,254 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {12110#(<= ~counter~0 2)} {12110#(<= ~counter~0 2)} #82#return; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:28,254 INFO L290 TraceCheckUtils]: 41: Hoare triple {12110#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 13:16:28,255 INFO L290 TraceCheckUtils]: 42: Hoare triple {12110#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:28,255 INFO L290 TraceCheckUtils]: 43: Hoare triple {12165#(<= ~counter~0 3)} assume !!(#t~post5 < 20);havoc #t~post5; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:28,255 INFO L272 TraceCheckUtils]: 44: Hoare triple {12165#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12165#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:28,256 INFO L290 TraceCheckUtils]: 45: Hoare triple {12165#(<= ~counter~0 3)} ~cond := #in~cond; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:28,256 INFO L290 TraceCheckUtils]: 46: Hoare triple {12165#(<= ~counter~0 3)} assume !(0 == ~cond); {12165#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:28,256 INFO L290 TraceCheckUtils]: 47: Hoare triple {12165#(<= ~counter~0 3)} assume true; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:28,256 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {12165#(<= ~counter~0 3)} {12165#(<= ~counter~0 3)} #78#return; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:28,257 INFO L272 TraceCheckUtils]: 49: Hoare triple {12165#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12165#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:28,257 INFO L290 TraceCheckUtils]: 50: Hoare triple {12165#(<= ~counter~0 3)} ~cond := #in~cond; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:28,257 INFO L290 TraceCheckUtils]: 51: Hoare triple {12165#(<= ~counter~0 3)} assume !(0 == ~cond); {12165#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:28,258 INFO L290 TraceCheckUtils]: 52: Hoare triple {12165#(<= ~counter~0 3)} assume true; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:28,258 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {12165#(<= ~counter~0 3)} {12165#(<= ~counter~0 3)} #80#return; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:28,258 INFO L272 TraceCheckUtils]: 54: Hoare triple {12165#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12165#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:28,259 INFO L290 TraceCheckUtils]: 55: Hoare triple {12165#(<= ~counter~0 3)} ~cond := #in~cond; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:28,259 INFO L290 TraceCheckUtils]: 56: Hoare triple {12165#(<= ~counter~0 3)} assume !(0 == ~cond); {12165#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:28,259 INFO L290 TraceCheckUtils]: 57: Hoare triple {12165#(<= ~counter~0 3)} assume true; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:28,260 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {12165#(<= ~counter~0 3)} {12165#(<= ~counter~0 3)} #82#return; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:28,260 INFO L290 TraceCheckUtils]: 59: Hoare triple {12165#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {12165#(<= ~counter~0 3)} is VALID [2022-04-28 13:16:28,261 INFO L290 TraceCheckUtils]: 60: Hoare triple {12165#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12220#(<= ~counter~0 4)} is VALID [2022-04-28 13:16:28,261 INFO L290 TraceCheckUtils]: 61: Hoare triple {12220#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {12220#(<= ~counter~0 4)} is VALID [2022-04-28 13:16:28,261 INFO L272 TraceCheckUtils]: 62: Hoare triple {12220#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {12220#(<= ~counter~0 4)} is VALID [2022-04-28 13:16:28,262 INFO L290 TraceCheckUtils]: 63: Hoare triple {12220#(<= ~counter~0 4)} ~cond := #in~cond; {12220#(<= ~counter~0 4)} is VALID [2022-04-28 13:16:28,262 INFO L290 TraceCheckUtils]: 64: Hoare triple {12220#(<= ~counter~0 4)} assume !(0 == ~cond); {12220#(<= ~counter~0 4)} is VALID [2022-04-28 13:16:28,262 INFO L290 TraceCheckUtils]: 65: Hoare triple {12220#(<= ~counter~0 4)} assume true; {12220#(<= ~counter~0 4)} is VALID [2022-04-28 13:16:28,263 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {12220#(<= ~counter~0 4)} {12220#(<= ~counter~0 4)} #84#return; {12220#(<= ~counter~0 4)} is VALID [2022-04-28 13:16:28,263 INFO L272 TraceCheckUtils]: 67: Hoare triple {12220#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12220#(<= ~counter~0 4)} is VALID [2022-04-28 13:16:28,263 INFO L290 TraceCheckUtils]: 68: Hoare triple {12220#(<= ~counter~0 4)} ~cond := #in~cond; {12220#(<= ~counter~0 4)} is VALID [2022-04-28 13:16:28,263 INFO L290 TraceCheckUtils]: 69: Hoare triple {12220#(<= ~counter~0 4)} assume !(0 == ~cond); {12220#(<= ~counter~0 4)} is VALID [2022-04-28 13:16:28,264 INFO L290 TraceCheckUtils]: 70: Hoare triple {12220#(<= ~counter~0 4)} assume true; {12220#(<= ~counter~0 4)} is VALID [2022-04-28 13:16:28,264 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {12220#(<= ~counter~0 4)} {12220#(<= ~counter~0 4)} #86#return; {12220#(<= ~counter~0 4)} is VALID [2022-04-28 13:16:28,264 INFO L290 TraceCheckUtils]: 72: Hoare triple {12220#(<= ~counter~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); {12220#(<= ~counter~0 4)} is VALID [2022-04-28 13:16:28,265 INFO L290 TraceCheckUtils]: 73: Hoare triple {12220#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {12220#(<= ~counter~0 4)} is VALID [2022-04-28 13:16:28,265 INFO L290 TraceCheckUtils]: 74: Hoare triple {12220#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12263#(<= |main_#t~post6| 4)} is VALID [2022-04-28 13:16:28,270 INFO L290 TraceCheckUtils]: 75: Hoare triple {12263#(<= |main_#t~post6| 4)} assume !(#t~post6 < 20);havoc #t~post6; {12032#false} is VALID [2022-04-28 13:16:28,270 INFO L272 TraceCheckUtils]: 76: Hoare triple {12032#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12032#false} is VALID [2022-04-28 13:16:28,270 INFO L290 TraceCheckUtils]: 77: Hoare triple {12032#false} ~cond := #in~cond; {12032#false} is VALID [2022-04-28 13:16:28,270 INFO L290 TraceCheckUtils]: 78: Hoare triple {12032#false} assume 0 == ~cond; {12032#false} is VALID [2022-04-28 13:16:28,270 INFO L290 TraceCheckUtils]: 79: Hoare triple {12032#false} assume !false; {12032#false} is VALID [2022-04-28 13:16:28,271 INFO L134 CoverageAnalysis]: Checked inductivity of 262 backedges. 22 proven. 200 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-28 13:16:28,271 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:16:28,591 INFO L290 TraceCheckUtils]: 79: Hoare triple {12032#false} assume !false; {12032#false} is VALID [2022-04-28 13:16:28,592 INFO L290 TraceCheckUtils]: 78: Hoare triple {12032#false} assume 0 == ~cond; {12032#false} is VALID [2022-04-28 13:16:28,592 INFO L290 TraceCheckUtils]: 77: Hoare triple {12032#false} ~cond := #in~cond; {12032#false} is VALID [2022-04-28 13:16:28,592 INFO L272 TraceCheckUtils]: 76: Hoare triple {12032#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12032#false} is VALID [2022-04-28 13:16:28,592 INFO L290 TraceCheckUtils]: 75: Hoare triple {12291#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {12032#false} is VALID [2022-04-28 13:16:28,593 INFO L290 TraceCheckUtils]: 74: Hoare triple {12295#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12291#(< |main_#t~post6| 20)} is VALID [2022-04-28 13:16:28,593 INFO L290 TraceCheckUtils]: 73: Hoare triple {12295#(< ~counter~0 20)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {12295#(< ~counter~0 20)} is VALID [2022-04-28 13:16:28,593 INFO L290 TraceCheckUtils]: 72: Hoare triple {12295#(< ~counter~0 20)} 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); {12295#(< ~counter~0 20)} is VALID [2022-04-28 13:16:28,594 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {12031#true} {12295#(< ~counter~0 20)} #86#return; {12295#(< ~counter~0 20)} is VALID [2022-04-28 13:16:28,594 INFO L290 TraceCheckUtils]: 70: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 13:16:28,594 INFO L290 TraceCheckUtils]: 69: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 13:16:28,594 INFO L290 TraceCheckUtils]: 68: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 13:16:28,594 INFO L272 TraceCheckUtils]: 67: Hoare triple {12295#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 13:16:28,594 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {12031#true} {12295#(< ~counter~0 20)} #84#return; {12295#(< ~counter~0 20)} is VALID [2022-04-28 13:16:28,594 INFO L290 TraceCheckUtils]: 65: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 13:16:28,595 INFO L290 TraceCheckUtils]: 64: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 13:16:28,595 INFO L290 TraceCheckUtils]: 63: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 13:16:28,595 INFO L272 TraceCheckUtils]: 62: Hoare triple {12295#(< ~counter~0 20)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 13:16:28,595 INFO L290 TraceCheckUtils]: 61: Hoare triple {12295#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {12295#(< ~counter~0 20)} is VALID [2022-04-28 13:16:28,596 INFO L290 TraceCheckUtils]: 60: Hoare triple {12338#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12295#(< ~counter~0 20)} is VALID [2022-04-28 13:16:28,596 INFO L290 TraceCheckUtils]: 59: Hoare triple {12338#(< ~counter~0 19)} assume !(~r~0 >= ~d~0); {12338#(< ~counter~0 19)} is VALID [2022-04-28 13:16:28,596 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {12031#true} {12338#(< ~counter~0 19)} #82#return; {12338#(< ~counter~0 19)} is VALID [2022-04-28 13:16:28,596 INFO L290 TraceCheckUtils]: 57: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 13:16:28,597 INFO L290 TraceCheckUtils]: 56: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 13:16:28,597 INFO L290 TraceCheckUtils]: 55: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 13:16:28,597 INFO L272 TraceCheckUtils]: 54: Hoare triple {12338#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 13:16:28,597 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {12031#true} {12338#(< ~counter~0 19)} #80#return; {12338#(< ~counter~0 19)} is VALID [2022-04-28 13:16:28,597 INFO L290 TraceCheckUtils]: 52: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 13:16:28,597 INFO L290 TraceCheckUtils]: 51: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 13:16:28,597 INFO L290 TraceCheckUtils]: 50: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 13:16:28,597 INFO L272 TraceCheckUtils]: 49: Hoare triple {12338#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 13:16:28,598 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {12031#true} {12338#(< ~counter~0 19)} #78#return; {12338#(< ~counter~0 19)} is VALID [2022-04-28 13:16:28,598 INFO L290 TraceCheckUtils]: 47: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 13:16:28,598 INFO L290 TraceCheckUtils]: 46: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 13:16:28,598 INFO L290 TraceCheckUtils]: 45: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 13:16:28,598 INFO L272 TraceCheckUtils]: 44: Hoare triple {12338#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 13:16:28,598 INFO L290 TraceCheckUtils]: 43: Hoare triple {12338#(< ~counter~0 19)} assume !!(#t~post5 < 20);havoc #t~post5; {12338#(< ~counter~0 19)} is VALID [2022-04-28 13:16:28,599 INFO L290 TraceCheckUtils]: 42: Hoare triple {12393#(< ~counter~0 18)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12338#(< ~counter~0 19)} is VALID [2022-04-28 13:16:28,599 INFO L290 TraceCheckUtils]: 41: Hoare triple {12393#(< ~counter~0 18)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12393#(< ~counter~0 18)} is VALID [2022-04-28 13:16:28,600 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {12031#true} {12393#(< ~counter~0 18)} #82#return; {12393#(< ~counter~0 18)} is VALID [2022-04-28 13:16:28,600 INFO L290 TraceCheckUtils]: 39: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 13:16:28,600 INFO L290 TraceCheckUtils]: 38: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 13:16:28,600 INFO L290 TraceCheckUtils]: 37: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 13:16:28,600 INFO L272 TraceCheckUtils]: 36: Hoare triple {12393#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 13:16:28,600 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {12031#true} {12393#(< ~counter~0 18)} #80#return; {12393#(< ~counter~0 18)} is VALID [2022-04-28 13:16:28,600 INFO L290 TraceCheckUtils]: 34: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 13:16:28,600 INFO L290 TraceCheckUtils]: 33: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 13:16:28,600 INFO L290 TraceCheckUtils]: 32: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 13:16:28,601 INFO L272 TraceCheckUtils]: 31: Hoare triple {12393#(< ~counter~0 18)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 13:16:28,601 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {12031#true} {12393#(< ~counter~0 18)} #78#return; {12393#(< ~counter~0 18)} is VALID [2022-04-28 13:16:28,601 INFO L290 TraceCheckUtils]: 29: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 13:16:28,601 INFO L290 TraceCheckUtils]: 28: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 13:16:28,601 INFO L290 TraceCheckUtils]: 27: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 13:16:28,601 INFO L272 TraceCheckUtils]: 26: Hoare triple {12393#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 13:16:28,601 INFO L290 TraceCheckUtils]: 25: Hoare triple {12393#(< ~counter~0 18)} assume !!(#t~post5 < 20);havoc #t~post5; {12393#(< ~counter~0 18)} is VALID [2022-04-28 13:16:28,602 INFO L290 TraceCheckUtils]: 24: Hoare triple {12448#(< ~counter~0 17)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12393#(< ~counter~0 18)} is VALID [2022-04-28 13:16:28,602 INFO L290 TraceCheckUtils]: 23: Hoare triple {12448#(< ~counter~0 17)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12448#(< ~counter~0 17)} is VALID [2022-04-28 13:16:28,603 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12031#true} {12448#(< ~counter~0 17)} #82#return; {12448#(< ~counter~0 17)} is VALID [2022-04-28 13:16:28,603 INFO L290 TraceCheckUtils]: 21: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 13:16:28,603 INFO L290 TraceCheckUtils]: 20: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 13:16:28,603 INFO L290 TraceCheckUtils]: 19: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 13:16:28,603 INFO L272 TraceCheckUtils]: 18: Hoare triple {12448#(< ~counter~0 17)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 13:16:28,603 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {12031#true} {12448#(< ~counter~0 17)} #80#return; {12448#(< ~counter~0 17)} is VALID [2022-04-28 13:16:28,603 INFO L290 TraceCheckUtils]: 16: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 13:16:28,603 INFO L290 TraceCheckUtils]: 15: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 13:16:28,604 INFO L290 TraceCheckUtils]: 14: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 13:16:28,604 INFO L272 TraceCheckUtils]: 13: Hoare triple {12448#(< ~counter~0 17)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 13:16:28,604 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12031#true} {12448#(< ~counter~0 17)} #78#return; {12448#(< ~counter~0 17)} is VALID [2022-04-28 13:16:28,604 INFO L290 TraceCheckUtils]: 11: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 13:16:28,604 INFO L290 TraceCheckUtils]: 10: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 13:16:28,604 INFO L290 TraceCheckUtils]: 9: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 13:16:28,604 INFO L272 TraceCheckUtils]: 8: Hoare triple {12448#(< ~counter~0 17)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 13:16:28,605 INFO L290 TraceCheckUtils]: 7: Hoare triple {12448#(< ~counter~0 17)} assume !!(#t~post5 < 20);havoc #t~post5; {12448#(< ~counter~0 17)} is VALID [2022-04-28 13:16:28,605 INFO L290 TraceCheckUtils]: 6: Hoare triple {12503#(< ~counter~0 16)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12448#(< ~counter~0 17)} is VALID [2022-04-28 13:16:28,606 INFO L290 TraceCheckUtils]: 5: Hoare triple {12503#(< ~counter~0 16)} 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; {12503#(< ~counter~0 16)} is VALID [2022-04-28 13:16:28,606 INFO L272 TraceCheckUtils]: 4: Hoare triple {12503#(< ~counter~0 16)} call #t~ret7 := main(); {12503#(< ~counter~0 16)} is VALID [2022-04-28 13:16:28,606 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12503#(< ~counter~0 16)} {12031#true} #92#return; {12503#(< ~counter~0 16)} is VALID [2022-04-28 13:16:28,606 INFO L290 TraceCheckUtils]: 2: Hoare triple {12503#(< ~counter~0 16)} assume true; {12503#(< ~counter~0 16)} is VALID [2022-04-28 13:16:28,607 INFO L290 TraceCheckUtils]: 1: Hoare triple {12031#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12503#(< ~counter~0 16)} is VALID [2022-04-28 13:16:28,607 INFO L272 TraceCheckUtils]: 0: Hoare triple {12031#true} call ULTIMATE.init(); {12031#true} is VALID [2022-04-28 13:16:28,607 INFO L134 CoverageAnalysis]: Checked inductivity of 262 backedges. 22 proven. 20 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-28 13:16:28,607 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:16:28,607 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1367761348] [2022-04-28 13:16:28,608 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:16:28,608 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [984740045] [2022-04-28 13:16:28,608 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [984740045] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:16:28,608 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:16:28,608 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 13:16:28,608 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:16:28,608 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2006661304] [2022-04-28 13:16:28,608 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2006661304] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:16:28,608 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:16:28,608 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 13:16:28,608 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [166771783] [2022-04-28 13:16:28,608 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:16:28,609 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 80 [2022-04-28 13:16:28,609 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:16:28,609 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 13:16:28,657 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:16:28,657 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 13:16:28,657 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:16:28,658 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 13:16:28,658 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 13:16:28,658 INFO L87 Difference]: Start difference. First operand 131 states and 154 transitions. Second operand has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 13:16:29,050 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:16:29,051 INFO L93 Difference]: Finished difference Result 181 states and 209 transitions. [2022-04-28 13:16:29,051 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 13:16:29,051 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 80 [2022-04-28 13:16:29,051 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:16:29,051 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 13:16:29,052 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 112 transitions. [2022-04-28 13:16:29,052 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 13:16:29,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 112 transitions. [2022-04-28 13:16:29,053 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 112 transitions. [2022-04-28 13:16:29,132 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:16:29,135 INFO L225 Difference]: With dead ends: 181 [2022-04-28 13:16:29,135 INFO L226 Difference]: Without dead ends: 166 [2022-04-28 13:16:29,135 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 147 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=81, Invalid=129, Unknown=0, NotChecked=0, Total=210 [2022-04-28 13:16:29,136 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 26 mSDsluCounter, 151 mSDsCounter, 0 mSdLazyCounter, 77 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 201 SdHoareTripleChecker+Invalid, 105 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 77 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:16:29,136 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [26 Valid, 201 Invalid, 105 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 77 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:16:29,136 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 166 states. [2022-04-28 13:16:29,265 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 166 to 163. [2022-04-28 13:16:29,265 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:16:29,265 INFO L82 GeneralOperation]: Start isEquivalent. First operand 166 states. Second operand has 163 states, 106 states have (on average 1.1603773584905661) internal successors, (123), 110 states have internal predecessors, (123), 35 states have call successors, (35), 23 states have call predecessors, (35), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 13:16:29,265 INFO L74 IsIncluded]: Start isIncluded. First operand 166 states. Second operand has 163 states, 106 states have (on average 1.1603773584905661) internal successors, (123), 110 states have internal predecessors, (123), 35 states have call successors, (35), 23 states have call predecessors, (35), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 13:16:29,266 INFO L87 Difference]: Start difference. First operand 166 states. Second operand has 163 states, 106 states have (on average 1.1603773584905661) internal successors, (123), 110 states have internal predecessors, (123), 35 states have call successors, (35), 23 states have call predecessors, (35), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 13:16:29,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:16:29,268 INFO L93 Difference]: Finished difference Result 166 states and 192 transitions. [2022-04-28 13:16:29,268 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 192 transitions. [2022-04-28 13:16:29,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:16:29,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:16:29,269 INFO L74 IsIncluded]: Start isIncluded. First operand has 163 states, 106 states have (on average 1.1603773584905661) internal successors, (123), 110 states have internal predecessors, (123), 35 states have call successors, (35), 23 states have call predecessors, (35), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) Second operand 166 states. [2022-04-28 13:16:29,269 INFO L87 Difference]: Start difference. First operand has 163 states, 106 states have (on average 1.1603773584905661) internal successors, (123), 110 states have internal predecessors, (123), 35 states have call successors, (35), 23 states have call predecessors, (35), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) Second operand 166 states. [2022-04-28 13:16:29,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:16:29,272 INFO L93 Difference]: Finished difference Result 166 states and 192 transitions. [2022-04-28 13:16:29,272 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 192 transitions. [2022-04-28 13:16:29,272 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:16:29,272 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:16:29,273 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:16:29,273 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:16:29,273 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 163 states, 106 states have (on average 1.1603773584905661) internal successors, (123), 110 states have internal predecessors, (123), 35 states have call successors, (35), 23 states have call predecessors, (35), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 13:16:29,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 163 states to 163 states and 190 transitions. [2022-04-28 13:16:29,276 INFO L78 Accepts]: Start accepts. Automaton has 163 states and 190 transitions. Word has length 80 [2022-04-28 13:16:29,276 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:16:29,276 INFO L495 AbstractCegarLoop]: Abstraction has 163 states and 190 transitions. [2022-04-28 13:16:29,276 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 13:16:29,276 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 163 states and 190 transitions. [2022-04-28 13:16:29,473 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 190 edges. 190 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:16:29,474 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 190 transitions. [2022-04-28 13:16:29,476 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-28 13:16:29,476 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:16:29,476 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:16:29,493 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 13:16:29,683 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-28 13:16:29,683 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:16:29,684 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:16:29,684 INFO L85 PathProgramCache]: Analyzing trace with hash 1999359456, now seen corresponding path program 5 times [2022-04-28 13:16:29,684 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:16:29,684 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1887638841] [2022-04-28 13:16:32,278 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:16:32,278 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:16:32,278 INFO L85 PathProgramCache]: Analyzing trace with hash 1999359456, now seen corresponding path program 6 times [2022-04-28 13:16:32,279 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:16:32,279 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [166874318] [2022-04-28 13:16:32,279 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:16:32,279 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:16:32,301 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:16:32,301 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1774181788] [2022-04-28 13:16:32,301 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:16:32,301 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:16:32,301 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:16:32,302 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:16:32,303 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 13:16:32,347 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 13:16:32,347 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:16:32,348 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 13:16:32,360 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:16:32,362 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:16:33,089 INFO L272 TraceCheckUtils]: 0: Hoare triple {13546#true} call ULTIMATE.init(); {13546#true} is VALID [2022-04-28 13:16:33,089 INFO L290 TraceCheckUtils]: 1: Hoare triple {13546#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13546#true} is VALID [2022-04-28 13:16:33,089 INFO L290 TraceCheckUtils]: 2: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:16:33,089 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13546#true} {13546#true} #92#return; {13546#true} is VALID [2022-04-28 13:16:33,089 INFO L272 TraceCheckUtils]: 4: Hoare triple {13546#true} call #t~ret7 := main(); {13546#true} is VALID [2022-04-28 13:16:33,090 INFO L290 TraceCheckUtils]: 5: Hoare triple {13546#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; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:16:33,090 INFO L290 TraceCheckUtils]: 6: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:16:33,091 INFO L290 TraceCheckUtils]: 7: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !!(#t~post5 < 20);havoc #t~post5; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:16:33,091 INFO L272 TraceCheckUtils]: 8: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 13:16:33,091 INFO L290 TraceCheckUtils]: 9: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:16:33,091 INFO L290 TraceCheckUtils]: 10: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:16:33,091 INFO L290 TraceCheckUtils]: 11: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:16:33,091 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {13546#true} {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #78#return; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:16:33,091 INFO L272 TraceCheckUtils]: 13: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 13:16:33,092 INFO L290 TraceCheckUtils]: 14: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:16:33,092 INFO L290 TraceCheckUtils]: 15: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:16:33,092 INFO L290 TraceCheckUtils]: 16: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:16:33,092 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {13546#true} {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:16:33,092 INFO L272 TraceCheckUtils]: 18: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 13:16:33,092 INFO L290 TraceCheckUtils]: 19: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:16:33,092 INFO L290 TraceCheckUtils]: 20: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:16:33,092 INFO L290 TraceCheckUtils]: 21: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:16:33,093 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {13546#true} {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:16:33,093 INFO L290 TraceCheckUtils]: 23: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:16:33,094 INFO L290 TraceCheckUtils]: 24: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:16:33,094 INFO L290 TraceCheckUtils]: 25: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !!(#t~post5 < 20);havoc #t~post5; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:16:33,094 INFO L272 TraceCheckUtils]: 26: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 13:16:33,094 INFO L290 TraceCheckUtils]: 27: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:16:33,094 INFO L290 TraceCheckUtils]: 28: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:16:33,094 INFO L290 TraceCheckUtils]: 29: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:16:33,095 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {13546#true} {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #78#return; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:16:33,095 INFO L272 TraceCheckUtils]: 31: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 13:16:33,095 INFO L290 TraceCheckUtils]: 32: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:16:33,095 INFO L290 TraceCheckUtils]: 33: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:16:33,095 INFO L290 TraceCheckUtils]: 34: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:16:33,095 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {13546#true} {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:16:33,095 INFO L272 TraceCheckUtils]: 36: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 13:16:33,095 INFO L290 TraceCheckUtils]: 37: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:16:33,095 INFO L290 TraceCheckUtils]: 38: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:16:33,096 INFO L290 TraceCheckUtils]: 39: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:16:33,096 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {13546#true} {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:16:33,097 INFO L290 TraceCheckUtils]: 41: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:16:33,097 INFO L290 TraceCheckUtils]: 42: Hoare triple {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:16:33,098 INFO L290 TraceCheckUtils]: 43: Hoare triple {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} assume !!(#t~post5 < 20);havoc #t~post5; {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:16:33,098 INFO L272 TraceCheckUtils]: 44: Hoare triple {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 13:16:33,098 INFO L290 TraceCheckUtils]: 45: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:16:33,098 INFO L290 TraceCheckUtils]: 46: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:16:33,098 INFO L290 TraceCheckUtils]: 47: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:16:33,098 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {13546#true} {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #78#return; {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:16:33,098 INFO L272 TraceCheckUtils]: 49: Hoare triple {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 13:16:33,099 INFO L290 TraceCheckUtils]: 50: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:16:33,099 INFO L290 TraceCheckUtils]: 51: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:16:33,099 INFO L290 TraceCheckUtils]: 52: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:16:33,099 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {13546#true} {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #80#return; {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:16:33,099 INFO L272 TraceCheckUtils]: 54: Hoare triple {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 13:16:33,099 INFO L290 TraceCheckUtils]: 55: Hoare triple {13546#true} ~cond := #in~cond; {13718#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:16:33,100 INFO L290 TraceCheckUtils]: 56: Hoare triple {13718#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:16:33,100 INFO L290 TraceCheckUtils]: 57: Hoare triple {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:16:33,101 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #82#return; {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:16:33,101 INFO L290 TraceCheckUtils]: 59: Hoare triple {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:16:33,101 INFO L290 TraceCheckUtils]: 60: Hoare triple {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:16:33,102 INFO L290 TraceCheckUtils]: 61: Hoare triple {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} assume !!(#t~post6 < 20);havoc #t~post6; {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:16:33,102 INFO L272 TraceCheckUtils]: 62: Hoare triple {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 13:16:33,102 INFO L290 TraceCheckUtils]: 63: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:16:33,102 INFO L290 TraceCheckUtils]: 64: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:16:33,102 INFO L290 TraceCheckUtils]: 65: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:16:33,102 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13546#true} {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #84#return; {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:16:33,103 INFO L272 TraceCheckUtils]: 67: Hoare triple {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 13:16:33,103 INFO L290 TraceCheckUtils]: 68: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:16:33,103 INFO L290 TraceCheckUtils]: 69: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:16:33,103 INFO L290 TraceCheckUtils]: 70: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:16:33,103 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {13546#true} {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #86#return; {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:16:33,104 INFO L290 TraceCheckUtils]: 72: Hoare triple {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod 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); {13772#(and (= (div (* main_~B~0 main_~p~0 2) 2) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:16:33,105 INFO L290 TraceCheckUtils]: 73: Hoare triple {13772#(and (= (div (* main_~B~0 main_~p~0 2) 2) main_~d~0) (= main_~A~0 main_~r~0) (= 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; {13776#(and (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) (div (* main_~B~0 main_~q~0 2) 2)) main_~A~0)))} is VALID [2022-04-28 13:16:33,105 INFO L290 TraceCheckUtils]: 74: Hoare triple {13776#(and (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) (div (* main_~B~0 main_~q~0 2) 2)) main_~A~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13776#(and (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) (div (* main_~B~0 main_~q~0 2) 2)) main_~A~0)))} is VALID [2022-04-28 13:16:33,106 INFO L290 TraceCheckUtils]: 75: Hoare triple {13776#(and (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) (div (* main_~B~0 main_~q~0 2) 2)) main_~A~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {13776#(and (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) (div (* main_~B~0 main_~q~0 2) 2)) main_~A~0)))} is VALID [2022-04-28 13:16:33,106 INFO L272 TraceCheckUtils]: 76: Hoare triple {13776#(and (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) (div (* main_~B~0 main_~q~0 2) 2)) main_~A~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {13786#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:16:33,107 INFO L290 TraceCheckUtils]: 77: Hoare triple {13786#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13790#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:16:33,107 INFO L290 TraceCheckUtils]: 78: Hoare triple {13790#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13547#false} is VALID [2022-04-28 13:16:33,107 INFO L290 TraceCheckUtils]: 79: Hoare triple {13547#false} assume !false; {13547#false} is VALID [2022-04-28 13:16:33,107 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 57 proven. 10 refuted. 0 times theorem prover too weak. 196 trivial. 0 not checked. [2022-04-28 13:16:33,107 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:16:54,350 WARN L855 $PredicateComparison]: unable to prove that (or (let ((.cse4 (= (mod c_main_~p~0 2) 0)) (.cse8 (< c_main_~p~0 0)) (.cse9 (div c_main_~p~0 2))) (let ((.cse7 (< c_main_~d~0 0)) (.cse6 (= (mod c_main_~d~0 2) 0)) (.cse3 (* (+ c_main_~q~0 .cse9 1) c_main_~B~0)) (.cse5 (not .cse8)) (.cse0 (* (- 1) (div c_main_~d~0 2))) (.cse1 (* (+ c_main_~q~0 .cse9) c_main_~B~0)) (.cse2 (and (not .cse4) .cse8))) (and (or (and (or (= c_main_~A~0 (+ (- 1) c_main_~r~0 .cse0 .cse1)) .cse2) (or (= c_main_~A~0 (+ (- 1) .cse3 c_main_~r~0 .cse0)) .cse4 .cse5)) .cse6 (not .cse7)) (or (and .cse7 (not .cse6)) (and (or (= (+ .cse3 c_main_~r~0 .cse0) c_main_~A~0) .cse4 .cse5) (or (= c_main_~A~0 (+ c_main_~r~0 .cse0 .cse1)) .cse2)))))) (not (= (* c_main_~p~0 c_main_~B~0) c_main_~d~0))) is different from true [2022-04-28 13:18:12,372 INFO L290 TraceCheckUtils]: 79: Hoare triple {13547#false} assume !false; {13547#false} is VALID [2022-04-28 13:18:12,372 INFO L290 TraceCheckUtils]: 78: Hoare triple {13790#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13547#false} is VALID [2022-04-28 13:18:12,373 INFO L290 TraceCheckUtils]: 77: Hoare triple {13786#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13790#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:18:12,373 INFO L272 TraceCheckUtils]: 76: Hoare triple {13806#(= (+ (* 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)); {13786#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:18:12,374 INFO L290 TraceCheckUtils]: 75: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(#t~post6 < 20);havoc #t~post6; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:18:12,374 INFO L290 TraceCheckUtils]: 74: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:18:12,385 INFO L290 TraceCheckUtils]: 73: Hoare triple {13816#(= 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; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:18:12,403 INFO L290 TraceCheckUtils]: 72: Hoare triple {13820#(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); {13816#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 13:18:12,404 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {13546#true} {13820#(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))))))))} #86#return; {13820#(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-28 13:18:12,404 INFO L290 TraceCheckUtils]: 70: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:18:12,404 INFO L290 TraceCheckUtils]: 69: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:18:12,404 INFO L290 TraceCheckUtils]: 68: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:18:12,404 INFO L272 TraceCheckUtils]: 67: Hoare triple {13820#(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)); {13546#true} is VALID [2022-04-28 13:18:12,405 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13546#true} {13820#(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; {13820#(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-28 13:18:12,405 INFO L290 TraceCheckUtils]: 65: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:18:12,405 INFO L290 TraceCheckUtils]: 64: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:18:12,405 INFO L290 TraceCheckUtils]: 63: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:18:12,405 INFO L272 TraceCheckUtils]: 62: Hoare triple {13820#(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)); {13546#true} is VALID [2022-04-28 13:18:12,407 INFO L290 TraceCheckUtils]: 61: Hoare triple {13820#(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 !!(#t~post6 < 20);havoc #t~post6; {13820#(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-28 13:18:12,407 INFO L290 TraceCheckUtils]: 60: Hoare triple {13820#(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))))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13820#(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-28 13:18:12,408 INFO L290 TraceCheckUtils]: 59: Hoare triple {13820#(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); {13820#(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-28 13:18:12,409 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #82#return; {13820#(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-28 13:18:12,410 INFO L290 TraceCheckUtils]: 57: Hoare triple {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:18:12,410 INFO L290 TraceCheckUtils]: 56: Hoare triple {13873#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:18:12,410 INFO L290 TraceCheckUtils]: 55: Hoare triple {13546#true} ~cond := #in~cond; {13873#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:18:12,410 INFO L272 TraceCheckUtils]: 54: Hoare triple {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 13:18:12,411 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {13546#true} {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #80#return; {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 13:18:12,411 INFO L290 TraceCheckUtils]: 52: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:18:12,411 INFO L290 TraceCheckUtils]: 51: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:18:12,411 INFO L290 TraceCheckUtils]: 50: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:18:12,411 INFO L272 TraceCheckUtils]: 49: Hoare triple {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 13:18:12,412 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {13546#true} {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #78#return; {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 13:18:12,412 INFO L290 TraceCheckUtils]: 47: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:18:12,412 INFO L290 TraceCheckUtils]: 46: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:18:12,412 INFO L290 TraceCheckUtils]: 45: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:18:12,412 INFO L272 TraceCheckUtils]: 44: Hoare triple {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 13:18:12,415 INFO L290 TraceCheckUtils]: 43: Hoare triple {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} assume !!(#t~post5 < 20);havoc #t~post5; {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 13:18:12,416 INFO L290 TraceCheckUtils]: 42: Hoare triple {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 13:18:12,421 INFO L290 TraceCheckUtils]: 41: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 13:18:12,422 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {13546#true} {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #82#return; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:18:12,422 INFO L290 TraceCheckUtils]: 39: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:18:12,422 INFO L290 TraceCheckUtils]: 38: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:18:12,422 INFO L290 TraceCheckUtils]: 37: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:18:12,422 INFO L272 TraceCheckUtils]: 36: Hoare triple {13806#(= (+ (* 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)); {13546#true} is VALID [2022-04-28 13:18:12,423 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {13546#true} {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #80#return; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:18:12,423 INFO L290 TraceCheckUtils]: 34: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:18:12,423 INFO L290 TraceCheckUtils]: 33: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:18:12,423 INFO L290 TraceCheckUtils]: 32: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:18:12,423 INFO L272 TraceCheckUtils]: 31: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 13:18:12,423 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {13546#true} {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #78#return; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:18:12,423 INFO L290 TraceCheckUtils]: 29: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:18:12,423 INFO L290 TraceCheckUtils]: 28: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:18:12,424 INFO L290 TraceCheckUtils]: 27: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:18:12,424 INFO L272 TraceCheckUtils]: 26: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 13:18:12,443 INFO L290 TraceCheckUtils]: 25: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(#t~post5 < 20);havoc #t~post5; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:18:12,444 INFO L290 TraceCheckUtils]: 24: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:18:12,444 INFO L290 TraceCheckUtils]: 23: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:18:12,445 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {13546#true} {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #82#return; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:18:12,445 INFO L290 TraceCheckUtils]: 21: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:18:12,445 INFO L290 TraceCheckUtils]: 20: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:18:12,445 INFO L290 TraceCheckUtils]: 19: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:18:12,445 INFO L272 TraceCheckUtils]: 18: Hoare triple {13806#(= (+ (* 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)); {13546#true} is VALID [2022-04-28 13:18:12,446 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {13546#true} {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #80#return; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:18:12,446 INFO L290 TraceCheckUtils]: 16: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:18:12,446 INFO L290 TraceCheckUtils]: 15: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:18:12,446 INFO L290 TraceCheckUtils]: 14: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:18:12,446 INFO L272 TraceCheckUtils]: 13: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 13:18:12,447 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {13546#true} {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #78#return; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:18:12,447 INFO L290 TraceCheckUtils]: 11: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:18:12,447 INFO L290 TraceCheckUtils]: 10: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 13:18:12,447 INFO L290 TraceCheckUtils]: 9: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 13:18:12,447 INFO L272 TraceCheckUtils]: 8: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 13:18:12,447 INFO L290 TraceCheckUtils]: 7: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(#t~post5 < 20);havoc #t~post5; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:18:12,448 INFO L290 TraceCheckUtils]: 6: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:18:12,448 INFO L290 TraceCheckUtils]: 5: Hoare triple {13546#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; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:18:12,448 INFO L272 TraceCheckUtils]: 4: Hoare triple {13546#true} call #t~ret7 := main(); {13546#true} is VALID [2022-04-28 13:18:12,448 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13546#true} {13546#true} #92#return; {13546#true} is VALID [2022-04-28 13:18:12,448 INFO L290 TraceCheckUtils]: 2: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 13:18:12,448 INFO L290 TraceCheckUtils]: 1: Hoare triple {13546#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13546#true} is VALID [2022-04-28 13:18:12,448 INFO L272 TraceCheckUtils]: 0: Hoare triple {13546#true} call ULTIMATE.init(); {13546#true} is VALID [2022-04-28 13:18:12,449 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 45 proven. 12 refuted. 0 times theorem prover too weak. 196 trivial. 10 not checked. [2022-04-28 13:18:12,449 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:18:12,449 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [166874318] [2022-04-28 13:18:12,449 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:18:12,449 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1774181788] [2022-04-28 13:18:12,449 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1774181788] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:18:12,449 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:18:12,449 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-28 13:18:12,450 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:18:12,450 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1887638841] [2022-04-28 13:18:12,450 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1887638841] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:18:12,450 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:18:12,450 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 13:18:12,450 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [275667158] [2022-04-28 13:18:12,450 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:18:12,450 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 80 [2022-04-28 13:18:12,451 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:18:12,451 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 13:18:12,504 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:18:12,504 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 13:18:12,504 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:18:12,505 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 13:18:12,505 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=162, Unknown=1, NotChecked=26, Total=240 [2022-04-28 13:18:12,505 INFO L87 Difference]: Start difference. First operand 163 states and 190 transitions. Second operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 13:18:13,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:18:13,257 INFO L93 Difference]: Finished difference Result 193 states and 224 transitions. [2022-04-28 13:18:13,257 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 13:18:13,257 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 80 [2022-04-28 13:18:13,257 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:18:13,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 13:18:13,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-28 13:18:13,259 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 13:18:13,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-28 13:18:13,260 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2022-04-28 13:18:13,353 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:18:13,356 INFO L225 Difference]: With dead ends: 193 [2022-04-28 13:18:13,356 INFO L226 Difference]: Without dead ends: 173 [2022-04-28 13:18:13,356 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 144 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=64, Invalid=211, Unknown=1, NotChecked=30, Total=306 [2022-04-28 13:18:13,357 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 45 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 195 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 57 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 230 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 195 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 13:18:13,357 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [57 Valid, 116 Invalid, 230 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 195 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 13:18:13,357 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-28 13:18:13,488 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 169. [2022-04-28 13:18:13,488 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:18:13,488 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 169 states, 111 states have (on average 1.1531531531531531) internal successors, (128), 115 states have internal predecessors, (128), 35 states have call successors, (35), 23 states have call predecessors, (35), 22 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:18:13,489 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 169 states, 111 states have (on average 1.1531531531531531) internal successors, (128), 115 states have internal predecessors, (128), 35 states have call successors, (35), 23 states have call predecessors, (35), 22 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:18:13,489 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 169 states, 111 states have (on average 1.1531531531531531) internal successors, (128), 115 states have internal predecessors, (128), 35 states have call successors, (35), 23 states have call predecessors, (35), 22 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:18:13,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:18:13,492 INFO L93 Difference]: Finished difference Result 173 states and 201 transitions. [2022-04-28 13:18:13,492 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 201 transitions. [2022-04-28 13:18:13,492 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:18:13,492 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:18:13,492 INFO L74 IsIncluded]: Start isIncluded. First operand has 169 states, 111 states have (on average 1.1531531531531531) internal successors, (128), 115 states have internal predecessors, (128), 35 states have call successors, (35), 23 states have call predecessors, (35), 22 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) Second operand 173 states. [2022-04-28 13:18:13,493 INFO L87 Difference]: Start difference. First operand has 169 states, 111 states have (on average 1.1531531531531531) internal successors, (128), 115 states have internal predecessors, (128), 35 states have call successors, (35), 23 states have call predecessors, (35), 22 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) Second operand 173 states. [2022-04-28 13:18:13,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:18:13,495 INFO L93 Difference]: Finished difference Result 173 states and 201 transitions. [2022-04-28 13:18:13,495 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 201 transitions. [2022-04-28 13:18:13,496 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:18:13,496 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:18:13,496 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:18:13,496 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:18:13,496 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 169 states, 111 states have (on average 1.1531531531531531) internal successors, (128), 115 states have internal predecessors, (128), 35 states have call successors, (35), 23 states have call predecessors, (35), 22 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:18:13,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 169 states to 169 states and 196 transitions. [2022-04-28 13:18:13,499 INFO L78 Accepts]: Start accepts. Automaton has 169 states and 196 transitions. Word has length 80 [2022-04-28 13:18:13,499 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:18:13,499 INFO L495 AbstractCegarLoop]: Abstraction has 169 states and 196 transitions. [2022-04-28 13:18:13,499 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 13:18:13,500 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 169 states and 196 transitions. [2022-04-28 13:18:13,714 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 196 edges. 196 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:18:13,714 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 196 transitions. [2022-04-28 13:18:13,715 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-28 13:18:13,715 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:18:13,715 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:18:13,734 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 13:18:13,932 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:18:13,932 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:18:13,932 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:18:13,932 INFO L85 PathProgramCache]: Analyzing trace with hash 1035991527, now seen corresponding path program 3 times [2022-04-28 13:18:13,932 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:18:13,933 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [335749772] [2022-04-28 13:18:18,012 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:18:18,012 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:18:18,012 INFO L85 PathProgramCache]: Analyzing trace with hash 1035991527, now seen corresponding path program 4 times [2022-04-28 13:18:18,012 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:18:18,012 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1076062402] [2022-04-28 13:18:18,013 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:18:18,013 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:18:18,035 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:18:18,035 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [837876039] [2022-04-28 13:18:18,035 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:18:18,035 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:18:18,035 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:18:18,036 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:18:18,037 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 13:18:18,081 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:18:18,081 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:18:18,082 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 13:18:18,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:18:18,095 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:18:19,726 INFO L272 TraceCheckUtils]: 0: Hoare triple {15115#true} call ULTIMATE.init(); {15115#true} is VALID [2022-04-28 13:18:19,727 INFO L290 TraceCheckUtils]: 1: Hoare triple {15115#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15115#true} is VALID [2022-04-28 13:18:19,727 INFO L290 TraceCheckUtils]: 2: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,727 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15115#true} {15115#true} #92#return; {15115#true} is VALID [2022-04-28 13:18:19,727 INFO L272 TraceCheckUtils]: 4: Hoare triple {15115#true} call #t~ret7 := main(); {15115#true} is VALID [2022-04-28 13:18:19,727 INFO L290 TraceCheckUtils]: 5: Hoare triple {15115#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; {15115#true} is VALID [2022-04-28 13:18:19,727 INFO L290 TraceCheckUtils]: 6: Hoare triple {15115#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15115#true} is VALID [2022-04-28 13:18:19,727 INFO L290 TraceCheckUtils]: 7: Hoare triple {15115#true} assume !!(#t~post5 < 20);havoc #t~post5; {15115#true} is VALID [2022-04-28 13:18:19,727 INFO L272 TraceCheckUtils]: 8: Hoare triple {15115#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,727 INFO L290 TraceCheckUtils]: 9: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,727 INFO L290 TraceCheckUtils]: 10: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,727 INFO L290 TraceCheckUtils]: 11: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,728 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {15115#true} {15115#true} #78#return; {15115#true} is VALID [2022-04-28 13:18:19,728 INFO L272 TraceCheckUtils]: 13: Hoare triple {15115#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,728 INFO L290 TraceCheckUtils]: 14: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,728 INFO L290 TraceCheckUtils]: 15: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,728 INFO L290 TraceCheckUtils]: 16: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,728 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {15115#true} {15115#true} #80#return; {15115#true} is VALID [2022-04-28 13:18:19,728 INFO L272 TraceCheckUtils]: 18: Hoare triple {15115#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,728 INFO L290 TraceCheckUtils]: 19: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,728 INFO L290 TraceCheckUtils]: 20: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,728 INFO L290 TraceCheckUtils]: 21: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,728 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {15115#true} {15115#true} #82#return; {15115#true} is VALID [2022-04-28 13:18:19,729 INFO L290 TraceCheckUtils]: 23: Hoare triple {15115#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 13:18:19,729 INFO L290 TraceCheckUtils]: 24: Hoare triple {15189#(= (mod main_~p~0 2) 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 13:18:19,730 INFO L290 TraceCheckUtils]: 25: Hoare triple {15189#(= (mod main_~p~0 2) 0)} assume !!(#t~post5 < 20);havoc #t~post5; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 13:18:19,730 INFO L272 TraceCheckUtils]: 26: Hoare triple {15189#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,730 INFO L290 TraceCheckUtils]: 27: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,730 INFO L290 TraceCheckUtils]: 28: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,730 INFO L290 TraceCheckUtils]: 29: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,740 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {15115#true} {15189#(= (mod main_~p~0 2) 0)} #78#return; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 13:18:19,740 INFO L272 TraceCheckUtils]: 31: Hoare triple {15189#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,740 INFO L290 TraceCheckUtils]: 32: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,740 INFO L290 TraceCheckUtils]: 33: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,741 INFO L290 TraceCheckUtils]: 34: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,741 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {15115#true} {15189#(= (mod main_~p~0 2) 0)} #80#return; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 13:18:19,741 INFO L272 TraceCheckUtils]: 36: Hoare triple {15189#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,741 INFO L290 TraceCheckUtils]: 37: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,741 INFO L290 TraceCheckUtils]: 38: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,741 INFO L290 TraceCheckUtils]: 39: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,742 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {15115#true} {15189#(= (mod main_~p~0 2) 0)} #82#return; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 13:18:19,743 INFO L290 TraceCheckUtils]: 41: Hoare triple {15189#(= (mod main_~p~0 2) 0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:18:19,744 INFO L290 TraceCheckUtils]: 42: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:18:19,744 INFO L290 TraceCheckUtils]: 43: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} assume !!(#t~post5 < 20);havoc #t~post5; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:18:19,744 INFO L272 TraceCheckUtils]: 44: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,744 INFO L290 TraceCheckUtils]: 45: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,744 INFO L290 TraceCheckUtils]: 46: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,744 INFO L290 TraceCheckUtils]: 47: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,745 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {15115#true} {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #78#return; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:18:19,745 INFO L272 TraceCheckUtils]: 49: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,745 INFO L290 TraceCheckUtils]: 50: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,745 INFO L290 TraceCheckUtils]: 51: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,745 INFO L290 TraceCheckUtils]: 52: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,746 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {15115#true} {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #80#return; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:18:19,746 INFO L272 TraceCheckUtils]: 54: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,746 INFO L290 TraceCheckUtils]: 55: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,746 INFO L290 TraceCheckUtils]: 56: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,746 INFO L290 TraceCheckUtils]: 57: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,747 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {15115#true} {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #82#return; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:18:19,747 INFO L290 TraceCheckUtils]: 59: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:18:19,747 INFO L290 TraceCheckUtils]: 60: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:18:19,748 INFO L290 TraceCheckUtils]: 61: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} assume !!(#t~post6 < 20);havoc #t~post6; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:18:19,748 INFO L272 TraceCheckUtils]: 62: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,748 INFO L290 TraceCheckUtils]: 63: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,748 INFO L290 TraceCheckUtils]: 64: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,748 INFO L290 TraceCheckUtils]: 65: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,749 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15115#true} {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #84#return; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:18:19,749 INFO L272 TraceCheckUtils]: 67: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,749 INFO L290 TraceCheckUtils]: 68: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,749 INFO L290 TraceCheckUtils]: 69: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,749 INFO L290 TraceCheckUtils]: 70: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,749 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {15115#true} {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #86#return; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:18:19,751 INFO L290 TraceCheckUtils]: 72: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod 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); {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 13:18:19,751 INFO L290 TraceCheckUtils]: 73: Hoare triple {15189#(= (mod main_~p~0 2) 0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 13:18:19,751 INFO L290 TraceCheckUtils]: 74: Hoare triple {15189#(= (mod main_~p~0 2) 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 13:18:19,752 INFO L290 TraceCheckUtils]: 75: Hoare triple {15189#(= (mod main_~p~0 2) 0)} assume !!(#t~post6 < 20);havoc #t~post6; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 13:18:19,752 INFO L272 TraceCheckUtils]: 76: Hoare triple {15189#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,752 INFO L290 TraceCheckUtils]: 77: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,752 INFO L290 TraceCheckUtils]: 78: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,752 INFO L290 TraceCheckUtils]: 79: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,753 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {15115#true} {15189#(= (mod main_~p~0 2) 0)} #84#return; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 13:18:19,753 INFO L272 TraceCheckUtils]: 81: Hoare triple {15189#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,753 INFO L290 TraceCheckUtils]: 82: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,753 INFO L290 TraceCheckUtils]: 83: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,753 INFO L290 TraceCheckUtils]: 84: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,753 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {15115#true} {15189#(= (mod main_~p~0 2) 0)} #86#return; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 13:18:19,754 INFO L290 TraceCheckUtils]: 86: Hoare triple {15189#(= (mod main_~p~0 2) 0)} assume !(1 != ~p~0); {15116#false} is VALID [2022-04-28 13:18:19,754 INFO L272 TraceCheckUtils]: 87: Hoare triple {15116#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {15116#false} is VALID [2022-04-28 13:18:19,754 INFO L290 TraceCheckUtils]: 88: Hoare triple {15116#false} ~cond := #in~cond; {15116#false} is VALID [2022-04-28 13:18:19,754 INFO L290 TraceCheckUtils]: 89: Hoare triple {15116#false} assume 0 == ~cond; {15116#false} is VALID [2022-04-28 13:18:19,754 INFO L290 TraceCheckUtils]: 90: Hoare triple {15116#false} assume !false; {15116#false} is VALID [2022-04-28 13:18:19,754 INFO L134 CoverageAnalysis]: Checked inductivity of 361 backedges. 44 proven. 5 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 13:18:19,754 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:18:19,963 INFO L290 TraceCheckUtils]: 90: Hoare triple {15116#false} assume !false; {15116#false} is VALID [2022-04-28 13:18:19,963 INFO L290 TraceCheckUtils]: 89: Hoare triple {15116#false} assume 0 == ~cond; {15116#false} is VALID [2022-04-28 13:18:19,964 INFO L290 TraceCheckUtils]: 88: Hoare triple {15116#false} ~cond := #in~cond; {15116#false} is VALID [2022-04-28 13:18:19,964 INFO L272 TraceCheckUtils]: 87: Hoare triple {15116#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {15116#false} is VALID [2022-04-28 13:18:19,964 INFO L290 TraceCheckUtils]: 86: Hoare triple {15404#(not (= main_~p~0 1))} assume !(1 != ~p~0); {15116#false} is VALID [2022-04-28 13:18:19,964 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {15115#true} {15404#(not (= main_~p~0 1))} #86#return; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 13:18:19,964 INFO L290 TraceCheckUtils]: 84: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,965 INFO L290 TraceCheckUtils]: 83: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,965 INFO L290 TraceCheckUtils]: 82: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,965 INFO L272 TraceCheckUtils]: 81: Hoare triple {15404#(not (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,965 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {15115#true} {15404#(not (= main_~p~0 1))} #84#return; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 13:18:19,965 INFO L290 TraceCheckUtils]: 79: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,965 INFO L290 TraceCheckUtils]: 78: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,965 INFO L290 TraceCheckUtils]: 77: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,965 INFO L272 TraceCheckUtils]: 76: Hoare triple {15404#(not (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,966 INFO L290 TraceCheckUtils]: 75: Hoare triple {15404#(not (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 13:18:19,966 INFO L290 TraceCheckUtils]: 74: Hoare triple {15404#(not (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 13:18:19,967 INFO L290 TraceCheckUtils]: 73: Hoare triple {15404#(not (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 13:18:19,967 INFO L290 TraceCheckUtils]: 72: Hoare triple {15447#(not (= (div main_~p~0 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); {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 13:18:19,968 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {15115#true} {15447#(not (= (div main_~p~0 2) 1))} #86#return; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 13:18:19,968 INFO L290 TraceCheckUtils]: 70: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,968 INFO L290 TraceCheckUtils]: 69: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,968 INFO L290 TraceCheckUtils]: 68: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,968 INFO L272 TraceCheckUtils]: 67: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,969 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15115#true} {15447#(not (= (div main_~p~0 2) 1))} #84#return; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 13:18:19,969 INFO L290 TraceCheckUtils]: 65: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,969 INFO L290 TraceCheckUtils]: 64: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,969 INFO L290 TraceCheckUtils]: 63: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,969 INFO L272 TraceCheckUtils]: 62: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,969 INFO L290 TraceCheckUtils]: 61: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} assume !!(#t~post6 < 20);havoc #t~post6; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 13:18:19,969 INFO L290 TraceCheckUtils]: 60: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 13:18:19,970 INFO L290 TraceCheckUtils]: 59: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} assume !(~r~0 >= ~d~0); {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 13:18:19,970 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {15115#true} {15447#(not (= (div main_~p~0 2) 1))} #82#return; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 13:18:19,970 INFO L290 TraceCheckUtils]: 57: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,970 INFO L290 TraceCheckUtils]: 56: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,970 INFO L290 TraceCheckUtils]: 55: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,970 INFO L272 TraceCheckUtils]: 54: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,971 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {15115#true} {15447#(not (= (div main_~p~0 2) 1))} #80#return; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 13:18:19,971 INFO L290 TraceCheckUtils]: 52: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,971 INFO L290 TraceCheckUtils]: 51: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,971 INFO L290 TraceCheckUtils]: 50: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,971 INFO L272 TraceCheckUtils]: 49: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,971 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {15115#true} {15447#(not (= (div main_~p~0 2) 1))} #78#return; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 13:18:19,972 INFO L290 TraceCheckUtils]: 47: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,972 INFO L290 TraceCheckUtils]: 46: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,972 INFO L290 TraceCheckUtils]: 45: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,972 INFO L272 TraceCheckUtils]: 44: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,972 INFO L290 TraceCheckUtils]: 43: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} assume !!(#t~post5 < 20);havoc #t~post5; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 13:18:19,972 INFO L290 TraceCheckUtils]: 42: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 13:18:19,973 INFO L290 TraceCheckUtils]: 41: Hoare triple {15404#(not (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 13:18:19,973 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {15115#true} {15404#(not (= main_~p~0 1))} #82#return; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 13:18:19,973 INFO L290 TraceCheckUtils]: 39: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,974 INFO L290 TraceCheckUtils]: 38: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,974 INFO L290 TraceCheckUtils]: 37: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,974 INFO L272 TraceCheckUtils]: 36: Hoare triple {15404#(not (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,974 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {15115#true} {15404#(not (= main_~p~0 1))} #80#return; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 13:18:19,974 INFO L290 TraceCheckUtils]: 34: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,974 INFO L290 TraceCheckUtils]: 33: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,974 INFO L290 TraceCheckUtils]: 32: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,974 INFO L272 TraceCheckUtils]: 31: Hoare triple {15404#(not (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,977 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {15115#true} {15404#(not (= main_~p~0 1))} #78#return; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 13:18:19,977 INFO L290 TraceCheckUtils]: 29: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,977 INFO L290 TraceCheckUtils]: 28: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,977 INFO L290 TraceCheckUtils]: 27: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,977 INFO L272 TraceCheckUtils]: 26: Hoare triple {15404#(not (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,977 INFO L290 TraceCheckUtils]: 25: Hoare triple {15404#(not (= main_~p~0 1))} assume !!(#t~post5 < 20);havoc #t~post5; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 13:18:19,979 INFO L290 TraceCheckUtils]: 24: Hoare triple {15404#(not (= main_~p~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 13:18:19,980 INFO L290 TraceCheckUtils]: 23: Hoare triple {15115#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 13:18:19,980 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {15115#true} {15115#true} #82#return; {15115#true} is VALID [2022-04-28 13:18:19,980 INFO L290 TraceCheckUtils]: 21: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,980 INFO L290 TraceCheckUtils]: 20: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,980 INFO L290 TraceCheckUtils]: 19: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,980 INFO L272 TraceCheckUtils]: 18: Hoare triple {15115#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,980 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {15115#true} {15115#true} #80#return; {15115#true} is VALID [2022-04-28 13:18:19,980 INFO L290 TraceCheckUtils]: 16: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,980 INFO L290 TraceCheckUtils]: 15: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,980 INFO L290 TraceCheckUtils]: 14: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,980 INFO L272 TraceCheckUtils]: 13: Hoare triple {15115#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,981 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {15115#true} {15115#true} #78#return; {15115#true} is VALID [2022-04-28 13:18:19,981 INFO L290 TraceCheckUtils]: 11: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,981 INFO L290 TraceCheckUtils]: 10: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 13:18:19,981 INFO L290 TraceCheckUtils]: 9: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 13:18:19,981 INFO L272 TraceCheckUtils]: 8: Hoare triple {15115#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 13:18:19,981 INFO L290 TraceCheckUtils]: 7: Hoare triple {15115#true} assume !!(#t~post5 < 20);havoc #t~post5; {15115#true} is VALID [2022-04-28 13:18:19,981 INFO L290 TraceCheckUtils]: 6: Hoare triple {15115#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15115#true} is VALID [2022-04-28 13:18:19,981 INFO L290 TraceCheckUtils]: 5: Hoare triple {15115#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; {15115#true} is VALID [2022-04-28 13:18:19,981 INFO L272 TraceCheckUtils]: 4: Hoare triple {15115#true} call #t~ret7 := main(); {15115#true} is VALID [2022-04-28 13:18:19,981 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15115#true} {15115#true} #92#return; {15115#true} is VALID [2022-04-28 13:18:19,981 INFO L290 TraceCheckUtils]: 2: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 13:18:19,981 INFO L290 TraceCheckUtils]: 1: Hoare triple {15115#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15115#true} is VALID [2022-04-28 13:18:19,981 INFO L272 TraceCheckUtils]: 0: Hoare triple {15115#true} call ULTIMATE.init(); {15115#true} is VALID [2022-04-28 13:18:19,982 INFO L134 CoverageAnalysis]: Checked inductivity of 361 backedges. 38 proven. 11 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 13:18:19,982 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:18:19,982 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1076062402] [2022-04-28 13:18:19,982 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:18:19,982 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [837876039] [2022-04-28 13:18:19,982 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [837876039] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:18:19,982 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:18:19,982 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2022-04-28 13:18:19,982 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:18:19,983 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [335749772] [2022-04-28 13:18:19,983 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [335749772] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:18:19,983 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:18:19,983 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 13:18:19,983 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [308607295] [2022-04-28 13:18:19,983 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:18:19,983 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) Word has length 91 [2022-04-28 13:18:19,983 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:18:19,983 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 13:18:20,029 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:18:20,029 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 13:18:20,029 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:18:20,030 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 13:18:20,030 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-04-28 13:18:20,030 INFO L87 Difference]: Start difference. First operand 169 states and 196 transitions. Second operand has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 13:18:20,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:18:20,298 INFO L93 Difference]: Finished difference Result 197 states and 235 transitions. [2022-04-28 13:18:20,298 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 13:18:20,299 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) Word has length 91 [2022-04-28 13:18:20,299 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:18:20,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 13:18:20,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 87 transitions. [2022-04-28 13:18:20,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 13:18:20,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 87 transitions. [2022-04-28 13:18:20,301 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 87 transitions. [2022-04-28 13:18:20,409 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-28 13:18:20,412 INFO L225 Difference]: With dead ends: 197 [2022-04-28 13:18:20,412 INFO L226 Difference]: Without dead ends: 184 [2022-04-28 13:18:20,413 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 181 GetRequests, 175 SyntacticMatches, 2 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-04-28 13:18:20,413 INFO L413 NwaCegarLoop]: 60 mSDtfsCounter, 7 mSDsluCounter, 39 mSDsCounter, 0 mSdLazyCounter, 21 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 99 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 21 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 13:18:20,414 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 99 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 21 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 13:18:20,415 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 184 states. [2022-04-28 13:18:20,569 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 184 to 180. [2022-04-28 13:18:20,570 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:18:20,570 INFO L82 GeneralOperation]: Start isEquivalent. First operand 184 states. Second operand has 180 states, 118 states have (on average 1.1694915254237288) internal successors, (138), 122 states have internal predecessors, (138), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 13:18:20,570 INFO L74 IsIncluded]: Start isIncluded. First operand 184 states. Second operand has 180 states, 118 states have (on average 1.1694915254237288) internal successors, (138), 122 states have internal predecessors, (138), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 13:18:20,571 INFO L87 Difference]: Start difference. First operand 184 states. Second operand has 180 states, 118 states have (on average 1.1694915254237288) internal successors, (138), 122 states have internal predecessors, (138), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 13:18:20,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:18:20,574 INFO L93 Difference]: Finished difference Result 184 states and 220 transitions. [2022-04-28 13:18:20,574 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 220 transitions. [2022-04-28 13:18:20,574 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:18:20,574 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:18:20,575 INFO L74 IsIncluded]: Start isIncluded. First operand has 180 states, 118 states have (on average 1.1694915254237288) internal successors, (138), 122 states have internal predecessors, (138), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) Second operand 184 states. [2022-04-28 13:18:20,575 INFO L87 Difference]: Start difference. First operand has 180 states, 118 states have (on average 1.1694915254237288) internal successors, (138), 122 states have internal predecessors, (138), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) Second operand 184 states. [2022-04-28 13:18:20,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:18:20,578 INFO L93 Difference]: Finished difference Result 184 states and 220 transitions. [2022-04-28 13:18:20,578 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 220 transitions. [2022-04-28 13:18:20,578 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:18:20,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:18:20,579 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:18:20,579 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:18:20,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 180 states, 118 states have (on average 1.1694915254237288) internal successors, (138), 122 states have internal predecessors, (138), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 13:18:20,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 180 states to 180 states and 214 transitions. [2022-04-28 13:18:20,582 INFO L78 Accepts]: Start accepts. Automaton has 180 states and 214 transitions. Word has length 91 [2022-04-28 13:18:20,582 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:18:20,582 INFO L495 AbstractCegarLoop]: Abstraction has 180 states and 214 transitions. [2022-04-28 13:18:20,582 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 13:18:20,582 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 180 states and 214 transitions. [2022-04-28 13:18:20,845 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 214 edges. 214 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:18:20,845 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 214 transitions. [2022-04-28 13:18:20,847 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-28 13:18:20,847 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:18:20,847 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:18:20,863 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-28 13:18:21,056 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:18:21,057 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:18:21,057 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:18:21,057 INFO L85 PathProgramCache]: Analyzing trace with hash 1432051402, now seen corresponding path program 7 times [2022-04-28 13:18:21,057 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:18:21,057 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [336974317] [2022-04-28 13:18:25,138 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:18:25,138 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:18:25,138 INFO L85 PathProgramCache]: Analyzing trace with hash 1432051402, now seen corresponding path program 8 times [2022-04-28 13:18:25,138 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:18:25,138 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1004921995] [2022-04-28 13:18:25,138 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:18:25,139 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:18:25,154 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:18:25,154 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1811560104] [2022-04-28 13:18:25,154 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:18:25,154 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:18:25,154 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:18:25,155 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:18:25,156 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 13:18:25,202 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:18:25,202 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:18:25,203 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 13:18:25,217 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:18:25,219 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:18:25,521 INFO L272 TraceCheckUtils]: 0: Hoare triple {16788#true} call ULTIMATE.init(); {16788#true} is VALID [2022-04-28 13:18:25,522 INFO L290 TraceCheckUtils]: 1: Hoare triple {16788#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16796#(<= ~counter~0 0)} is VALID [2022-04-28 13:18:25,522 INFO L290 TraceCheckUtils]: 2: Hoare triple {16796#(<= ~counter~0 0)} assume true; {16796#(<= ~counter~0 0)} is VALID [2022-04-28 13:18:25,522 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16796#(<= ~counter~0 0)} {16788#true} #92#return; {16796#(<= ~counter~0 0)} is VALID [2022-04-28 13:18:25,523 INFO L272 TraceCheckUtils]: 4: Hoare triple {16796#(<= ~counter~0 0)} call #t~ret7 := main(); {16796#(<= ~counter~0 0)} is VALID [2022-04-28 13:18:25,523 INFO L290 TraceCheckUtils]: 5: Hoare triple {16796#(<= ~counter~0 0)} 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; {16796#(<= ~counter~0 0)} is VALID [2022-04-28 13:18:25,524 INFO L290 TraceCheckUtils]: 6: Hoare triple {16796#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:25,524 INFO L290 TraceCheckUtils]: 7: Hoare triple {16812#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:25,524 INFO L272 TraceCheckUtils]: 8: Hoare triple {16812#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16812#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:25,539 INFO L290 TraceCheckUtils]: 9: Hoare triple {16812#(<= ~counter~0 1)} ~cond := #in~cond; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:25,540 INFO L290 TraceCheckUtils]: 10: Hoare triple {16812#(<= ~counter~0 1)} assume !(0 == ~cond); {16812#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:25,540 INFO L290 TraceCheckUtils]: 11: Hoare triple {16812#(<= ~counter~0 1)} assume true; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:25,540 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {16812#(<= ~counter~0 1)} {16812#(<= ~counter~0 1)} #78#return; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:25,541 INFO L272 TraceCheckUtils]: 13: Hoare triple {16812#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16812#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:25,541 INFO L290 TraceCheckUtils]: 14: Hoare triple {16812#(<= ~counter~0 1)} ~cond := #in~cond; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:25,541 INFO L290 TraceCheckUtils]: 15: Hoare triple {16812#(<= ~counter~0 1)} assume !(0 == ~cond); {16812#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:25,542 INFO L290 TraceCheckUtils]: 16: Hoare triple {16812#(<= ~counter~0 1)} assume true; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:25,542 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {16812#(<= ~counter~0 1)} {16812#(<= ~counter~0 1)} #80#return; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:25,542 INFO L272 TraceCheckUtils]: 18: Hoare triple {16812#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16812#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:25,543 INFO L290 TraceCheckUtils]: 19: Hoare triple {16812#(<= ~counter~0 1)} ~cond := #in~cond; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:25,543 INFO L290 TraceCheckUtils]: 20: Hoare triple {16812#(<= ~counter~0 1)} assume !(0 == ~cond); {16812#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:25,543 INFO L290 TraceCheckUtils]: 21: Hoare triple {16812#(<= ~counter~0 1)} assume true; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:25,544 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {16812#(<= ~counter~0 1)} {16812#(<= ~counter~0 1)} #82#return; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:25,544 INFO L290 TraceCheckUtils]: 23: Hoare triple {16812#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:25,545 INFO L290 TraceCheckUtils]: 24: Hoare triple {16812#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:25,545 INFO L290 TraceCheckUtils]: 25: Hoare triple {16867#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:25,545 INFO L272 TraceCheckUtils]: 26: Hoare triple {16867#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16867#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:25,546 INFO L290 TraceCheckUtils]: 27: Hoare triple {16867#(<= ~counter~0 2)} ~cond := #in~cond; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:25,546 INFO L290 TraceCheckUtils]: 28: Hoare triple {16867#(<= ~counter~0 2)} assume !(0 == ~cond); {16867#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:25,546 INFO L290 TraceCheckUtils]: 29: Hoare triple {16867#(<= ~counter~0 2)} assume true; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:25,547 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {16867#(<= ~counter~0 2)} {16867#(<= ~counter~0 2)} #78#return; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:25,547 INFO L272 TraceCheckUtils]: 31: Hoare triple {16867#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16867#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:25,547 INFO L290 TraceCheckUtils]: 32: Hoare triple {16867#(<= ~counter~0 2)} ~cond := #in~cond; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:25,547 INFO L290 TraceCheckUtils]: 33: Hoare triple {16867#(<= ~counter~0 2)} assume !(0 == ~cond); {16867#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:25,548 INFO L290 TraceCheckUtils]: 34: Hoare triple {16867#(<= ~counter~0 2)} assume true; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:25,548 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {16867#(<= ~counter~0 2)} {16867#(<= ~counter~0 2)} #80#return; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:25,549 INFO L272 TraceCheckUtils]: 36: Hoare triple {16867#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16867#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:25,549 INFO L290 TraceCheckUtils]: 37: Hoare triple {16867#(<= ~counter~0 2)} ~cond := #in~cond; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:25,549 INFO L290 TraceCheckUtils]: 38: Hoare triple {16867#(<= ~counter~0 2)} assume !(0 == ~cond); {16867#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:25,549 INFO L290 TraceCheckUtils]: 39: Hoare triple {16867#(<= ~counter~0 2)} assume true; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:25,550 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {16867#(<= ~counter~0 2)} {16867#(<= ~counter~0 2)} #82#return; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:25,550 INFO L290 TraceCheckUtils]: 41: Hoare triple {16867#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:25,551 INFO L290 TraceCheckUtils]: 42: Hoare triple {16867#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:25,551 INFO L290 TraceCheckUtils]: 43: Hoare triple {16922#(<= ~counter~0 3)} assume !!(#t~post5 < 20);havoc #t~post5; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:25,552 INFO L272 TraceCheckUtils]: 44: Hoare triple {16922#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16922#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:25,552 INFO L290 TraceCheckUtils]: 45: Hoare triple {16922#(<= ~counter~0 3)} ~cond := #in~cond; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:25,552 INFO L290 TraceCheckUtils]: 46: Hoare triple {16922#(<= ~counter~0 3)} assume !(0 == ~cond); {16922#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:25,552 INFO L290 TraceCheckUtils]: 47: Hoare triple {16922#(<= ~counter~0 3)} assume true; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:25,553 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {16922#(<= ~counter~0 3)} {16922#(<= ~counter~0 3)} #78#return; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:25,553 INFO L272 TraceCheckUtils]: 49: Hoare triple {16922#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16922#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:25,553 INFO L290 TraceCheckUtils]: 50: Hoare triple {16922#(<= ~counter~0 3)} ~cond := #in~cond; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:25,554 INFO L290 TraceCheckUtils]: 51: Hoare triple {16922#(<= ~counter~0 3)} assume !(0 == ~cond); {16922#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:25,554 INFO L290 TraceCheckUtils]: 52: Hoare triple {16922#(<= ~counter~0 3)} assume true; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:25,554 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {16922#(<= ~counter~0 3)} {16922#(<= ~counter~0 3)} #80#return; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:25,555 INFO L272 TraceCheckUtils]: 54: Hoare triple {16922#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16922#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:25,555 INFO L290 TraceCheckUtils]: 55: Hoare triple {16922#(<= ~counter~0 3)} ~cond := #in~cond; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:25,555 INFO L290 TraceCheckUtils]: 56: Hoare triple {16922#(<= ~counter~0 3)} assume !(0 == ~cond); {16922#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:25,556 INFO L290 TraceCheckUtils]: 57: Hoare triple {16922#(<= ~counter~0 3)} assume true; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:25,556 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {16922#(<= ~counter~0 3)} {16922#(<= ~counter~0 3)} #82#return; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:25,556 INFO L290 TraceCheckUtils]: 59: Hoare triple {16922#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:25,557 INFO L290 TraceCheckUtils]: 60: Hoare triple {16922#(<= ~counter~0 3)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:25,558 INFO L290 TraceCheckUtils]: 61: Hoare triple {16977#(<= ~counter~0 4)} assume !!(#t~post5 < 20);havoc #t~post5; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:25,558 INFO L272 TraceCheckUtils]: 62: Hoare triple {16977#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16977#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:25,558 INFO L290 TraceCheckUtils]: 63: Hoare triple {16977#(<= ~counter~0 4)} ~cond := #in~cond; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:25,558 INFO L290 TraceCheckUtils]: 64: Hoare triple {16977#(<= ~counter~0 4)} assume !(0 == ~cond); {16977#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:25,559 INFO L290 TraceCheckUtils]: 65: Hoare triple {16977#(<= ~counter~0 4)} assume true; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:25,559 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {16977#(<= ~counter~0 4)} {16977#(<= ~counter~0 4)} #78#return; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:25,559 INFO L272 TraceCheckUtils]: 67: Hoare triple {16977#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16977#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:25,560 INFO L290 TraceCheckUtils]: 68: Hoare triple {16977#(<= ~counter~0 4)} ~cond := #in~cond; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:25,560 INFO L290 TraceCheckUtils]: 69: Hoare triple {16977#(<= ~counter~0 4)} assume !(0 == ~cond); {16977#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:25,560 INFO L290 TraceCheckUtils]: 70: Hoare triple {16977#(<= ~counter~0 4)} assume true; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:25,561 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16977#(<= ~counter~0 4)} {16977#(<= ~counter~0 4)} #80#return; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:25,561 INFO L272 TraceCheckUtils]: 72: Hoare triple {16977#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16977#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:25,561 INFO L290 TraceCheckUtils]: 73: Hoare triple {16977#(<= ~counter~0 4)} ~cond := #in~cond; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:25,562 INFO L290 TraceCheckUtils]: 74: Hoare triple {16977#(<= ~counter~0 4)} assume !(0 == ~cond); {16977#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:25,562 INFO L290 TraceCheckUtils]: 75: Hoare triple {16977#(<= ~counter~0 4)} assume true; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:25,562 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {16977#(<= ~counter~0 4)} {16977#(<= ~counter~0 4)} #82#return; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:25,562 INFO L290 TraceCheckUtils]: 77: Hoare triple {16977#(<= ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:25,563 INFO L290 TraceCheckUtils]: 78: Hoare triple {16977#(<= ~counter~0 4)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {17032#(<= |main_#t~post5| 4)} is VALID [2022-04-28 13:18:25,563 INFO L290 TraceCheckUtils]: 79: Hoare triple {17032#(<= |main_#t~post5| 4)} assume !(#t~post5 < 20);havoc #t~post5; {16789#false} is VALID [2022-04-28 13:18:25,563 INFO L290 TraceCheckUtils]: 80: Hoare triple {16789#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16789#false} is VALID [2022-04-28 13:18:25,563 INFO L290 TraceCheckUtils]: 81: Hoare triple {16789#false} assume !(#t~post6 < 20);havoc #t~post6; {16789#false} is VALID [2022-04-28 13:18:25,563 INFO L272 TraceCheckUtils]: 82: Hoare triple {16789#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {16789#false} is VALID [2022-04-28 13:18:25,564 INFO L290 TraceCheckUtils]: 83: Hoare triple {16789#false} ~cond := #in~cond; {16789#false} is VALID [2022-04-28 13:18:25,564 INFO L290 TraceCheckUtils]: 84: Hoare triple {16789#false} assume !(0 == ~cond); {16789#false} is VALID [2022-04-28 13:18:25,564 INFO L290 TraceCheckUtils]: 85: Hoare triple {16789#false} assume true; {16789#false} is VALID [2022-04-28 13:18:25,564 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {16789#false} {16789#false} #88#return; {16789#false} is VALID [2022-04-28 13:18:25,564 INFO L272 TraceCheckUtils]: 87: Hoare triple {16789#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {16789#false} is VALID [2022-04-28 13:18:25,564 INFO L290 TraceCheckUtils]: 88: Hoare triple {16789#false} ~cond := #in~cond; {16789#false} is VALID [2022-04-28 13:18:25,564 INFO L290 TraceCheckUtils]: 89: Hoare triple {16789#false} assume 0 == ~cond; {16789#false} is VALID [2022-04-28 13:18:25,564 INFO L290 TraceCheckUtils]: 90: Hoare triple {16789#false} assume !false; {16789#false} is VALID [2022-04-28 13:18:25,564 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 72 proven. 260 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2022-04-28 13:18:25,564 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:18:25,886 INFO L290 TraceCheckUtils]: 90: Hoare triple {16789#false} assume !false; {16789#false} is VALID [2022-04-28 13:18:25,886 INFO L290 TraceCheckUtils]: 89: Hoare triple {16789#false} assume 0 == ~cond; {16789#false} is VALID [2022-04-28 13:18:25,886 INFO L290 TraceCheckUtils]: 88: Hoare triple {16789#false} ~cond := #in~cond; {16789#false} is VALID [2022-04-28 13:18:25,886 INFO L272 TraceCheckUtils]: 87: Hoare triple {16789#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {16789#false} is VALID [2022-04-28 13:18:25,887 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {16788#true} {16789#false} #88#return; {16789#false} is VALID [2022-04-28 13:18:25,887 INFO L290 TraceCheckUtils]: 85: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 13:18:25,887 INFO L290 TraceCheckUtils]: 84: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 13:18:25,887 INFO L290 TraceCheckUtils]: 83: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 13:18:25,887 INFO L272 TraceCheckUtils]: 82: Hoare triple {16789#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 13:18:25,887 INFO L290 TraceCheckUtils]: 81: Hoare triple {16789#false} assume !(#t~post6 < 20);havoc #t~post6; {16789#false} is VALID [2022-04-28 13:18:25,887 INFO L290 TraceCheckUtils]: 80: Hoare triple {16789#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16789#false} is VALID [2022-04-28 13:18:25,887 INFO L290 TraceCheckUtils]: 79: Hoare triple {17102#(< |main_#t~post5| 20)} assume !(#t~post5 < 20);havoc #t~post5; {16789#false} is VALID [2022-04-28 13:18:25,888 INFO L290 TraceCheckUtils]: 78: Hoare triple {17106#(< ~counter~0 20)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {17102#(< |main_#t~post5| 20)} is VALID [2022-04-28 13:18:25,888 INFO L290 TraceCheckUtils]: 77: Hoare triple {17106#(< ~counter~0 20)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17106#(< ~counter~0 20)} is VALID [2022-04-28 13:18:25,889 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {16788#true} {17106#(< ~counter~0 20)} #82#return; {17106#(< ~counter~0 20)} is VALID [2022-04-28 13:18:25,889 INFO L290 TraceCheckUtils]: 75: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 13:18:25,889 INFO L290 TraceCheckUtils]: 74: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 13:18:25,889 INFO L290 TraceCheckUtils]: 73: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 13:18:25,889 INFO L272 TraceCheckUtils]: 72: Hoare triple {17106#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 13:18:25,889 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16788#true} {17106#(< ~counter~0 20)} #80#return; {17106#(< ~counter~0 20)} is VALID [2022-04-28 13:18:25,889 INFO L290 TraceCheckUtils]: 70: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 13:18:25,889 INFO L290 TraceCheckUtils]: 69: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 13:18:25,890 INFO L290 TraceCheckUtils]: 68: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 13:18:25,890 INFO L272 TraceCheckUtils]: 67: Hoare triple {17106#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 13:18:25,890 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {16788#true} {17106#(< ~counter~0 20)} #78#return; {17106#(< ~counter~0 20)} is VALID [2022-04-28 13:18:25,890 INFO L290 TraceCheckUtils]: 65: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 13:18:25,890 INFO L290 TraceCheckUtils]: 64: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 13:18:25,890 INFO L290 TraceCheckUtils]: 63: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 13:18:25,890 INFO L272 TraceCheckUtils]: 62: Hoare triple {17106#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 13:18:25,891 INFO L290 TraceCheckUtils]: 61: Hoare triple {17106#(< ~counter~0 20)} assume !!(#t~post5 < 20);havoc #t~post5; {17106#(< ~counter~0 20)} is VALID [2022-04-28 13:18:25,891 INFO L290 TraceCheckUtils]: 60: Hoare triple {17161#(< ~counter~0 19)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {17106#(< ~counter~0 20)} is VALID [2022-04-28 13:18:25,892 INFO L290 TraceCheckUtils]: 59: Hoare triple {17161#(< ~counter~0 19)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17161#(< ~counter~0 19)} is VALID [2022-04-28 13:18:25,892 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {16788#true} {17161#(< ~counter~0 19)} #82#return; {17161#(< ~counter~0 19)} is VALID [2022-04-28 13:18:25,892 INFO L290 TraceCheckUtils]: 57: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 13:18:25,892 INFO L290 TraceCheckUtils]: 56: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 13:18:25,892 INFO L290 TraceCheckUtils]: 55: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 13:18:25,892 INFO L272 TraceCheckUtils]: 54: Hoare triple {17161#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 13:18:25,893 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {16788#true} {17161#(< ~counter~0 19)} #80#return; {17161#(< ~counter~0 19)} is VALID [2022-04-28 13:18:25,893 INFO L290 TraceCheckUtils]: 52: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 13:18:25,893 INFO L290 TraceCheckUtils]: 51: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 13:18:25,893 INFO L290 TraceCheckUtils]: 50: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 13:18:25,893 INFO L272 TraceCheckUtils]: 49: Hoare triple {17161#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 13:18:25,893 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {16788#true} {17161#(< ~counter~0 19)} #78#return; {17161#(< ~counter~0 19)} is VALID [2022-04-28 13:18:25,894 INFO L290 TraceCheckUtils]: 47: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 13:18:25,894 INFO L290 TraceCheckUtils]: 46: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 13:18:25,894 INFO L290 TraceCheckUtils]: 45: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 13:18:25,894 INFO L272 TraceCheckUtils]: 44: Hoare triple {17161#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 13:18:25,894 INFO L290 TraceCheckUtils]: 43: Hoare triple {17161#(< ~counter~0 19)} assume !!(#t~post5 < 20);havoc #t~post5; {17161#(< ~counter~0 19)} is VALID [2022-04-28 13:18:25,895 INFO L290 TraceCheckUtils]: 42: Hoare triple {17216#(< ~counter~0 18)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {17161#(< ~counter~0 19)} is VALID [2022-04-28 13:18:25,895 INFO L290 TraceCheckUtils]: 41: Hoare triple {17216#(< ~counter~0 18)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17216#(< ~counter~0 18)} is VALID [2022-04-28 13:18:25,896 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {16788#true} {17216#(< ~counter~0 18)} #82#return; {17216#(< ~counter~0 18)} is VALID [2022-04-28 13:18:25,896 INFO L290 TraceCheckUtils]: 39: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 13:18:25,896 INFO L290 TraceCheckUtils]: 38: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 13:18:25,896 INFO L290 TraceCheckUtils]: 37: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 13:18:25,896 INFO L272 TraceCheckUtils]: 36: Hoare triple {17216#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 13:18:25,896 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {16788#true} {17216#(< ~counter~0 18)} #80#return; {17216#(< ~counter~0 18)} is VALID [2022-04-28 13:18:25,896 INFO L290 TraceCheckUtils]: 34: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 13:18:25,896 INFO L290 TraceCheckUtils]: 33: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 13:18:25,896 INFO L290 TraceCheckUtils]: 32: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 13:18:25,897 INFO L272 TraceCheckUtils]: 31: Hoare triple {17216#(< ~counter~0 18)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 13:18:25,897 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {16788#true} {17216#(< ~counter~0 18)} #78#return; {17216#(< ~counter~0 18)} is VALID [2022-04-28 13:18:25,897 INFO L290 TraceCheckUtils]: 29: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 13:18:25,897 INFO L290 TraceCheckUtils]: 28: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 13:18:25,897 INFO L290 TraceCheckUtils]: 27: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 13:18:25,897 INFO L272 TraceCheckUtils]: 26: Hoare triple {17216#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 13:18:25,897 INFO L290 TraceCheckUtils]: 25: Hoare triple {17216#(< ~counter~0 18)} assume !!(#t~post5 < 20);havoc #t~post5; {17216#(< ~counter~0 18)} is VALID [2022-04-28 13:18:25,898 INFO L290 TraceCheckUtils]: 24: Hoare triple {17271#(< ~counter~0 17)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {17216#(< ~counter~0 18)} is VALID [2022-04-28 13:18:25,907 INFO L290 TraceCheckUtils]: 23: Hoare triple {17271#(< ~counter~0 17)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17271#(< ~counter~0 17)} is VALID [2022-04-28 13:18:25,908 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {16788#true} {17271#(< ~counter~0 17)} #82#return; {17271#(< ~counter~0 17)} is VALID [2022-04-28 13:18:25,908 INFO L290 TraceCheckUtils]: 21: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 13:18:25,908 INFO L290 TraceCheckUtils]: 20: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 13:18:25,908 INFO L290 TraceCheckUtils]: 19: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 13:18:25,908 INFO L272 TraceCheckUtils]: 18: Hoare triple {17271#(< ~counter~0 17)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 13:18:25,909 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {16788#true} {17271#(< ~counter~0 17)} #80#return; {17271#(< ~counter~0 17)} is VALID [2022-04-28 13:18:25,909 INFO L290 TraceCheckUtils]: 16: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 13:18:25,909 INFO L290 TraceCheckUtils]: 15: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 13:18:25,909 INFO L290 TraceCheckUtils]: 14: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 13:18:25,909 INFO L272 TraceCheckUtils]: 13: Hoare triple {17271#(< ~counter~0 17)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 13:18:25,910 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {16788#true} {17271#(< ~counter~0 17)} #78#return; {17271#(< ~counter~0 17)} is VALID [2022-04-28 13:18:25,910 INFO L290 TraceCheckUtils]: 11: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 13:18:25,910 INFO L290 TraceCheckUtils]: 10: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 13:18:25,910 INFO L290 TraceCheckUtils]: 9: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 13:18:25,910 INFO L272 TraceCheckUtils]: 8: Hoare triple {17271#(< ~counter~0 17)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 13:18:25,910 INFO L290 TraceCheckUtils]: 7: Hoare triple {17271#(< ~counter~0 17)} assume !!(#t~post5 < 20);havoc #t~post5; {17271#(< ~counter~0 17)} is VALID [2022-04-28 13:18:25,911 INFO L290 TraceCheckUtils]: 6: Hoare triple {17326#(< ~counter~0 16)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {17271#(< ~counter~0 17)} is VALID [2022-04-28 13:18:25,911 INFO L290 TraceCheckUtils]: 5: Hoare triple {17326#(< ~counter~0 16)} 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; {17326#(< ~counter~0 16)} is VALID [2022-04-28 13:18:25,912 INFO L272 TraceCheckUtils]: 4: Hoare triple {17326#(< ~counter~0 16)} call #t~ret7 := main(); {17326#(< ~counter~0 16)} is VALID [2022-04-28 13:18:25,912 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17326#(< ~counter~0 16)} {16788#true} #92#return; {17326#(< ~counter~0 16)} is VALID [2022-04-28 13:18:25,912 INFO L290 TraceCheckUtils]: 2: Hoare triple {17326#(< ~counter~0 16)} assume true; {17326#(< ~counter~0 16)} is VALID [2022-04-28 13:18:25,913 INFO L290 TraceCheckUtils]: 1: Hoare triple {16788#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {17326#(< ~counter~0 16)} is VALID [2022-04-28 13:18:25,913 INFO L272 TraceCheckUtils]: 0: Hoare triple {16788#true} call ULTIMATE.init(); {16788#true} is VALID [2022-04-28 13:18:25,913 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 26 proven. 44 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 13:18:25,913 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:18:25,914 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1004921995] [2022-04-28 13:18:25,914 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:18:25,914 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1811560104] [2022-04-28 13:18:25,914 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1811560104] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:18:25,914 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:18:25,914 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 13:18:25,915 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:18:25,915 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [336974317] [2022-04-28 13:18:25,915 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [336974317] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:18:25,915 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:18:25,915 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 13:18:25,915 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [347740352] [2022-04-28 13:18:25,915 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:18:25,916 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 91 [2022-04-28 13:18:25,916 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:18:25,916 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 13:18:25,974 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:18:25,974 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 13:18:25,974 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:18:25,975 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 13:18:25,975 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 13:18:25,975 INFO L87 Difference]: Start difference. First operand 180 states and 214 transitions. Second operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 13:18:26,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:18:26,349 INFO L93 Difference]: Finished difference Result 242 states and 300 transitions. [2022-04-28 13:18:26,349 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 13:18:26,349 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 91 [2022-04-28 13:18:26,349 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:18:26,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 13:18:26,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 117 transitions. [2022-04-28 13:18:26,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 13:18:26,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 117 transitions. [2022-04-28 13:18:26,352 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 117 transitions. [2022-04-28 13:18:26,433 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:18:26,436 INFO L225 Difference]: With dead ends: 242 [2022-04-28 13:18:26,436 INFO L226 Difference]: Without dead ends: 182 [2022-04-28 13:18:26,436 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 169 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=123, Invalid=183, Unknown=0, NotChecked=0, Total=306 [2022-04-28 13:18:26,437 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 11 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 72 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 195 SdHoareTripleChecker+Invalid, 76 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 72 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:18:26,437 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 195 Invalid, 76 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 72 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:18:26,441 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-28 13:18:26,575 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 182. [2022-04-28 13:18:26,575 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:18:26,576 INFO L82 GeneralOperation]: Start isEquivalent. First operand 182 states. Second operand has 182 states, 120 states have (on average 1.1666666666666667) internal successors, (140), 124 states have internal predecessors, (140), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 13:18:26,576 INFO L74 IsIncluded]: Start isIncluded. First operand 182 states. Second operand has 182 states, 120 states have (on average 1.1666666666666667) internal successors, (140), 124 states have internal predecessors, (140), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 13:18:26,576 INFO L87 Difference]: Start difference. First operand 182 states. Second operand has 182 states, 120 states have (on average 1.1666666666666667) internal successors, (140), 124 states have internal predecessors, (140), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 13:18:26,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:18:26,579 INFO L93 Difference]: Finished difference Result 182 states and 216 transitions. [2022-04-28 13:18:26,579 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 216 transitions. [2022-04-28 13:18:26,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:18:26,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:18:26,580 INFO L74 IsIncluded]: Start isIncluded. First operand has 182 states, 120 states have (on average 1.1666666666666667) internal successors, (140), 124 states have internal predecessors, (140), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) Second operand 182 states. [2022-04-28 13:18:26,580 INFO L87 Difference]: Start difference. First operand has 182 states, 120 states have (on average 1.1666666666666667) internal successors, (140), 124 states have internal predecessors, (140), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) Second operand 182 states. [2022-04-28 13:18:26,583 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:18:26,583 INFO L93 Difference]: Finished difference Result 182 states and 216 transitions. [2022-04-28 13:18:26,583 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 216 transitions. [2022-04-28 13:18:26,583 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:18:26,583 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:18:26,583 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:18:26,583 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:18:26,584 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 182 states, 120 states have (on average 1.1666666666666667) internal successors, (140), 124 states have internal predecessors, (140), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 13:18:26,587 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 182 states to 182 states and 216 transitions. [2022-04-28 13:18:26,587 INFO L78 Accepts]: Start accepts. Automaton has 182 states and 216 transitions. Word has length 91 [2022-04-28 13:18:26,587 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:18:26,587 INFO L495 AbstractCegarLoop]: Abstraction has 182 states and 216 transitions. [2022-04-28 13:18:26,587 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 13:18:26,587 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 182 states and 216 transitions. [2022-04-28 13:18:26,852 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 216 edges. 216 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:18:26,852 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 216 transitions. [2022-04-28 13:18:26,853 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-28 13:18:26,853 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:18:26,853 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:18:26,870 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 13:18:27,053 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:18:27,054 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:18:27,054 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:18:27,054 INFO L85 PathProgramCache]: Analyzing trace with hash -614243194, now seen corresponding path program 5 times [2022-04-28 13:18:27,054 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:18:27,054 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [331646251] [2022-04-28 13:18:31,132 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:18:31,132 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:18:31,132 INFO L85 PathProgramCache]: Analyzing trace with hash -614243194, now seen corresponding path program 6 times [2022-04-28 13:18:31,133 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:18:31,133 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1880000635] [2022-04-28 13:18:31,133 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:18:31,133 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:18:31,152 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:18:31,153 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [949846736] [2022-04-28 13:18:31,153 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:18:31,153 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:18:31,153 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:18:31,164 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:18:31,165 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 13:18:31,237 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 13:18:31,237 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:18:31,239 INFO L263 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 13:18:31,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:18:31,255 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:18:31,597 INFO L272 TraceCheckUtils]: 0: Hoare triple {18567#true} call ULTIMATE.init(); {18567#true} is VALID [2022-04-28 13:18:31,598 INFO L290 TraceCheckUtils]: 1: Hoare triple {18567#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18575#(<= ~counter~0 0)} is VALID [2022-04-28 13:18:31,598 INFO L290 TraceCheckUtils]: 2: Hoare triple {18575#(<= ~counter~0 0)} assume true; {18575#(<= ~counter~0 0)} is VALID [2022-04-28 13:18:31,598 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18575#(<= ~counter~0 0)} {18567#true} #92#return; {18575#(<= ~counter~0 0)} is VALID [2022-04-28 13:18:31,599 INFO L272 TraceCheckUtils]: 4: Hoare triple {18575#(<= ~counter~0 0)} call #t~ret7 := main(); {18575#(<= ~counter~0 0)} is VALID [2022-04-28 13:18:31,599 INFO L290 TraceCheckUtils]: 5: Hoare triple {18575#(<= ~counter~0 0)} 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; {18575#(<= ~counter~0 0)} is VALID [2022-04-28 13:18:31,600 INFO L290 TraceCheckUtils]: 6: Hoare triple {18575#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:31,600 INFO L290 TraceCheckUtils]: 7: Hoare triple {18591#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:31,600 INFO L272 TraceCheckUtils]: 8: Hoare triple {18591#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18591#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:31,601 INFO L290 TraceCheckUtils]: 9: Hoare triple {18591#(<= ~counter~0 1)} ~cond := #in~cond; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:31,601 INFO L290 TraceCheckUtils]: 10: Hoare triple {18591#(<= ~counter~0 1)} assume !(0 == ~cond); {18591#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:31,601 INFO L290 TraceCheckUtils]: 11: Hoare triple {18591#(<= ~counter~0 1)} assume true; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:31,601 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {18591#(<= ~counter~0 1)} {18591#(<= ~counter~0 1)} #78#return; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:31,602 INFO L272 TraceCheckUtils]: 13: Hoare triple {18591#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18591#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:31,602 INFO L290 TraceCheckUtils]: 14: Hoare triple {18591#(<= ~counter~0 1)} ~cond := #in~cond; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:31,602 INFO L290 TraceCheckUtils]: 15: Hoare triple {18591#(<= ~counter~0 1)} assume !(0 == ~cond); {18591#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:31,603 INFO L290 TraceCheckUtils]: 16: Hoare triple {18591#(<= ~counter~0 1)} assume true; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:31,603 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {18591#(<= ~counter~0 1)} {18591#(<= ~counter~0 1)} #80#return; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:31,603 INFO L272 TraceCheckUtils]: 18: Hoare triple {18591#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18591#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:31,604 INFO L290 TraceCheckUtils]: 19: Hoare triple {18591#(<= ~counter~0 1)} ~cond := #in~cond; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:31,604 INFO L290 TraceCheckUtils]: 20: Hoare triple {18591#(<= ~counter~0 1)} assume !(0 == ~cond); {18591#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:31,604 INFO L290 TraceCheckUtils]: 21: Hoare triple {18591#(<= ~counter~0 1)} assume true; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:31,605 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {18591#(<= ~counter~0 1)} {18591#(<= ~counter~0 1)} #82#return; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:31,605 INFO L290 TraceCheckUtils]: 23: Hoare triple {18591#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 13:18:31,606 INFO L290 TraceCheckUtils]: 24: Hoare triple {18591#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:31,606 INFO L290 TraceCheckUtils]: 25: Hoare triple {18646#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:31,606 INFO L272 TraceCheckUtils]: 26: Hoare triple {18646#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18646#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:31,607 INFO L290 TraceCheckUtils]: 27: Hoare triple {18646#(<= ~counter~0 2)} ~cond := #in~cond; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:31,607 INFO L290 TraceCheckUtils]: 28: Hoare triple {18646#(<= ~counter~0 2)} assume !(0 == ~cond); {18646#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:31,607 INFO L290 TraceCheckUtils]: 29: Hoare triple {18646#(<= ~counter~0 2)} assume true; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:31,607 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {18646#(<= ~counter~0 2)} {18646#(<= ~counter~0 2)} #78#return; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:31,608 INFO L272 TraceCheckUtils]: 31: Hoare triple {18646#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18646#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:31,608 INFO L290 TraceCheckUtils]: 32: Hoare triple {18646#(<= ~counter~0 2)} ~cond := #in~cond; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:31,608 INFO L290 TraceCheckUtils]: 33: Hoare triple {18646#(<= ~counter~0 2)} assume !(0 == ~cond); {18646#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:31,609 INFO L290 TraceCheckUtils]: 34: Hoare triple {18646#(<= ~counter~0 2)} assume true; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:31,609 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {18646#(<= ~counter~0 2)} {18646#(<= ~counter~0 2)} #80#return; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:31,609 INFO L272 TraceCheckUtils]: 36: Hoare triple {18646#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18646#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:31,610 INFO L290 TraceCheckUtils]: 37: Hoare triple {18646#(<= ~counter~0 2)} ~cond := #in~cond; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:31,610 INFO L290 TraceCheckUtils]: 38: Hoare triple {18646#(<= ~counter~0 2)} assume !(0 == ~cond); {18646#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:31,610 INFO L290 TraceCheckUtils]: 39: Hoare triple {18646#(<= ~counter~0 2)} assume true; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:31,611 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {18646#(<= ~counter~0 2)} {18646#(<= ~counter~0 2)} #82#return; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:31,611 INFO L290 TraceCheckUtils]: 41: Hoare triple {18646#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 13:18:31,612 INFO L290 TraceCheckUtils]: 42: Hoare triple {18646#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:31,612 INFO L290 TraceCheckUtils]: 43: Hoare triple {18701#(<= ~counter~0 3)} assume !!(#t~post5 < 20);havoc #t~post5; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:31,612 INFO L272 TraceCheckUtils]: 44: Hoare triple {18701#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18701#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:31,613 INFO L290 TraceCheckUtils]: 45: Hoare triple {18701#(<= ~counter~0 3)} ~cond := #in~cond; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:31,613 INFO L290 TraceCheckUtils]: 46: Hoare triple {18701#(<= ~counter~0 3)} assume !(0 == ~cond); {18701#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:31,613 INFO L290 TraceCheckUtils]: 47: Hoare triple {18701#(<= ~counter~0 3)} assume true; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:31,613 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {18701#(<= ~counter~0 3)} {18701#(<= ~counter~0 3)} #78#return; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:31,614 INFO L272 TraceCheckUtils]: 49: Hoare triple {18701#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18701#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:31,614 INFO L290 TraceCheckUtils]: 50: Hoare triple {18701#(<= ~counter~0 3)} ~cond := #in~cond; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:31,614 INFO L290 TraceCheckUtils]: 51: Hoare triple {18701#(<= ~counter~0 3)} assume !(0 == ~cond); {18701#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:31,615 INFO L290 TraceCheckUtils]: 52: Hoare triple {18701#(<= ~counter~0 3)} assume true; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:31,615 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {18701#(<= ~counter~0 3)} {18701#(<= ~counter~0 3)} #80#return; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:31,615 INFO L272 TraceCheckUtils]: 54: Hoare triple {18701#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18701#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:31,616 INFO L290 TraceCheckUtils]: 55: Hoare triple {18701#(<= ~counter~0 3)} ~cond := #in~cond; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:31,616 INFO L290 TraceCheckUtils]: 56: Hoare triple {18701#(<= ~counter~0 3)} assume !(0 == ~cond); {18701#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:31,616 INFO L290 TraceCheckUtils]: 57: Hoare triple {18701#(<= ~counter~0 3)} assume true; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:31,617 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {18701#(<= ~counter~0 3)} {18701#(<= ~counter~0 3)} #82#return; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:31,617 INFO L290 TraceCheckUtils]: 59: Hoare triple {18701#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {18701#(<= ~counter~0 3)} is VALID [2022-04-28 13:18:31,618 INFO L290 TraceCheckUtils]: 60: Hoare triple {18701#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18756#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:31,618 INFO L290 TraceCheckUtils]: 61: Hoare triple {18756#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {18756#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:31,618 INFO L272 TraceCheckUtils]: 62: Hoare triple {18756#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {18756#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:31,619 INFO L290 TraceCheckUtils]: 63: Hoare triple {18756#(<= ~counter~0 4)} ~cond := #in~cond; {18756#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:31,619 INFO L290 TraceCheckUtils]: 64: Hoare triple {18756#(<= ~counter~0 4)} assume !(0 == ~cond); {18756#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:31,619 INFO L290 TraceCheckUtils]: 65: Hoare triple {18756#(<= ~counter~0 4)} assume true; {18756#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:31,620 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18756#(<= ~counter~0 4)} {18756#(<= ~counter~0 4)} #84#return; {18756#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:31,620 INFO L272 TraceCheckUtils]: 67: Hoare triple {18756#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18756#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:31,620 INFO L290 TraceCheckUtils]: 68: Hoare triple {18756#(<= ~counter~0 4)} ~cond := #in~cond; {18756#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:31,621 INFO L290 TraceCheckUtils]: 69: Hoare triple {18756#(<= ~counter~0 4)} assume !(0 == ~cond); {18756#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:31,621 INFO L290 TraceCheckUtils]: 70: Hoare triple {18756#(<= ~counter~0 4)} assume true; {18756#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:31,621 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18756#(<= ~counter~0 4)} {18756#(<= ~counter~0 4)} #86#return; {18756#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:31,622 INFO L290 TraceCheckUtils]: 72: Hoare triple {18756#(<= ~counter~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); {18756#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:31,622 INFO L290 TraceCheckUtils]: 73: Hoare triple {18756#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18756#(<= ~counter~0 4)} is VALID [2022-04-28 13:18:31,623 INFO L290 TraceCheckUtils]: 74: Hoare triple {18756#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18799#(<= ~counter~0 5)} is VALID [2022-04-28 13:18:31,623 INFO L290 TraceCheckUtils]: 75: Hoare triple {18799#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {18799#(<= ~counter~0 5)} is VALID [2022-04-28 13:18:31,623 INFO L272 TraceCheckUtils]: 76: Hoare triple {18799#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {18799#(<= ~counter~0 5)} is VALID [2022-04-28 13:18:31,624 INFO L290 TraceCheckUtils]: 77: Hoare triple {18799#(<= ~counter~0 5)} ~cond := #in~cond; {18799#(<= ~counter~0 5)} is VALID [2022-04-28 13:18:31,624 INFO L290 TraceCheckUtils]: 78: Hoare triple {18799#(<= ~counter~0 5)} assume !(0 == ~cond); {18799#(<= ~counter~0 5)} is VALID [2022-04-28 13:18:31,624 INFO L290 TraceCheckUtils]: 79: Hoare triple {18799#(<= ~counter~0 5)} assume true; {18799#(<= ~counter~0 5)} is VALID [2022-04-28 13:18:31,625 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18799#(<= ~counter~0 5)} {18799#(<= ~counter~0 5)} #84#return; {18799#(<= ~counter~0 5)} is VALID [2022-04-28 13:18:31,625 INFO L272 TraceCheckUtils]: 81: Hoare triple {18799#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18799#(<= ~counter~0 5)} is VALID [2022-04-28 13:18:31,625 INFO L290 TraceCheckUtils]: 82: Hoare triple {18799#(<= ~counter~0 5)} ~cond := #in~cond; {18799#(<= ~counter~0 5)} is VALID [2022-04-28 13:18:31,625 INFO L290 TraceCheckUtils]: 83: Hoare triple {18799#(<= ~counter~0 5)} assume !(0 == ~cond); {18799#(<= ~counter~0 5)} is VALID [2022-04-28 13:18:31,626 INFO L290 TraceCheckUtils]: 84: Hoare triple {18799#(<= ~counter~0 5)} assume true; {18799#(<= ~counter~0 5)} is VALID [2022-04-28 13:18:31,626 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {18799#(<= ~counter~0 5)} {18799#(<= ~counter~0 5)} #86#return; {18799#(<= ~counter~0 5)} is VALID [2022-04-28 13:18:31,626 INFO L290 TraceCheckUtils]: 86: Hoare triple {18799#(<= ~counter~0 5)} 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); {18799#(<= ~counter~0 5)} is VALID [2022-04-28 13:18:31,627 INFO L290 TraceCheckUtils]: 87: Hoare triple {18799#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18799#(<= ~counter~0 5)} is VALID [2022-04-28 13:18:31,627 INFO L290 TraceCheckUtils]: 88: Hoare triple {18799#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18842#(<= |main_#t~post6| 5)} is VALID [2022-04-28 13:18:31,627 INFO L290 TraceCheckUtils]: 89: Hoare triple {18842#(<= |main_#t~post6| 5)} assume !(#t~post6 < 20);havoc #t~post6; {18568#false} is VALID [2022-04-28 13:18:31,627 INFO L272 TraceCheckUtils]: 90: Hoare triple {18568#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {18568#false} is VALID [2022-04-28 13:18:31,627 INFO L290 TraceCheckUtils]: 91: Hoare triple {18568#false} ~cond := #in~cond; {18568#false} is VALID [2022-04-28 13:18:31,628 INFO L290 TraceCheckUtils]: 92: Hoare triple {18568#false} assume 0 == ~cond; {18568#false} is VALID [2022-04-28 13:18:31,628 INFO L290 TraceCheckUtils]: 93: Hoare triple {18568#false} assume !false; {18568#false} is VALID [2022-04-28 13:18:31,628 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 26 proven. 296 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-28 13:18:31,628 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:18:31,988 INFO L290 TraceCheckUtils]: 93: Hoare triple {18568#false} assume !false; {18568#false} is VALID [2022-04-28 13:18:31,988 INFO L290 TraceCheckUtils]: 92: Hoare triple {18568#false} assume 0 == ~cond; {18568#false} is VALID [2022-04-28 13:18:31,989 INFO L290 TraceCheckUtils]: 91: Hoare triple {18568#false} ~cond := #in~cond; {18568#false} is VALID [2022-04-28 13:18:31,989 INFO L272 TraceCheckUtils]: 90: Hoare triple {18568#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {18568#false} is VALID [2022-04-28 13:18:31,989 INFO L290 TraceCheckUtils]: 89: Hoare triple {18870#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {18568#false} is VALID [2022-04-28 13:18:31,989 INFO L290 TraceCheckUtils]: 88: Hoare triple {18874#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18870#(< |main_#t~post6| 20)} is VALID [2022-04-28 13:18:31,989 INFO L290 TraceCheckUtils]: 87: Hoare triple {18874#(< ~counter~0 20)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18874#(< ~counter~0 20)} is VALID [2022-04-28 13:18:31,990 INFO L290 TraceCheckUtils]: 86: Hoare triple {18874#(< ~counter~0 20)} 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); {18874#(< ~counter~0 20)} is VALID [2022-04-28 13:18:31,990 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {18567#true} {18874#(< ~counter~0 20)} #86#return; {18874#(< ~counter~0 20)} is VALID [2022-04-28 13:18:31,990 INFO L290 TraceCheckUtils]: 84: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 13:18:31,990 INFO L290 TraceCheckUtils]: 83: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 13:18:31,990 INFO L290 TraceCheckUtils]: 82: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 13:18:31,990 INFO L272 TraceCheckUtils]: 81: Hoare triple {18874#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 13:18:31,991 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18567#true} {18874#(< ~counter~0 20)} #84#return; {18874#(< ~counter~0 20)} is VALID [2022-04-28 13:18:31,991 INFO L290 TraceCheckUtils]: 79: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 13:18:31,991 INFO L290 TraceCheckUtils]: 78: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 13:18:31,991 INFO L290 TraceCheckUtils]: 77: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 13:18:31,991 INFO L272 TraceCheckUtils]: 76: Hoare triple {18874#(< ~counter~0 20)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 13:18:31,991 INFO L290 TraceCheckUtils]: 75: Hoare triple {18874#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {18874#(< ~counter~0 20)} is VALID [2022-04-28 13:18:31,992 INFO L290 TraceCheckUtils]: 74: Hoare triple {18917#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18874#(< ~counter~0 20)} is VALID [2022-04-28 13:18:31,993 INFO L290 TraceCheckUtils]: 73: Hoare triple {18917#(< ~counter~0 19)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18917#(< ~counter~0 19)} is VALID [2022-04-28 13:18:31,993 INFO L290 TraceCheckUtils]: 72: Hoare triple {18917#(< ~counter~0 19)} 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); {18917#(< ~counter~0 19)} is VALID [2022-04-28 13:18:31,993 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18567#true} {18917#(< ~counter~0 19)} #86#return; {18917#(< ~counter~0 19)} is VALID [2022-04-28 13:18:31,993 INFO L290 TraceCheckUtils]: 70: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 13:18:31,993 INFO L290 TraceCheckUtils]: 69: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 13:18:31,993 INFO L290 TraceCheckUtils]: 68: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 13:18:31,994 INFO L272 TraceCheckUtils]: 67: Hoare triple {18917#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 13:18:31,994 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18567#true} {18917#(< ~counter~0 19)} #84#return; {18917#(< ~counter~0 19)} is VALID [2022-04-28 13:18:31,994 INFO L290 TraceCheckUtils]: 65: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 13:18:31,994 INFO L290 TraceCheckUtils]: 64: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 13:18:31,994 INFO L290 TraceCheckUtils]: 63: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 13:18:31,994 INFO L272 TraceCheckUtils]: 62: Hoare triple {18917#(< ~counter~0 19)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 13:18:31,995 INFO L290 TraceCheckUtils]: 61: Hoare triple {18917#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {18917#(< ~counter~0 19)} is VALID [2022-04-28 13:18:31,995 INFO L290 TraceCheckUtils]: 60: Hoare triple {18960#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18917#(< ~counter~0 19)} is VALID [2022-04-28 13:18:31,995 INFO L290 TraceCheckUtils]: 59: Hoare triple {18960#(< ~counter~0 18)} assume !(~r~0 >= ~d~0); {18960#(< ~counter~0 18)} is VALID [2022-04-28 13:18:31,996 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {18567#true} {18960#(< ~counter~0 18)} #82#return; {18960#(< ~counter~0 18)} is VALID [2022-04-28 13:18:31,996 INFO L290 TraceCheckUtils]: 57: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 13:18:31,996 INFO L290 TraceCheckUtils]: 56: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 13:18:31,996 INFO L290 TraceCheckUtils]: 55: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 13:18:31,996 INFO L272 TraceCheckUtils]: 54: Hoare triple {18960#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 13:18:31,996 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {18567#true} {18960#(< ~counter~0 18)} #80#return; {18960#(< ~counter~0 18)} is VALID [2022-04-28 13:18:31,997 INFO L290 TraceCheckUtils]: 52: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 13:18:31,997 INFO L290 TraceCheckUtils]: 51: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 13:18:31,997 INFO L290 TraceCheckUtils]: 50: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 13:18:31,997 INFO L272 TraceCheckUtils]: 49: Hoare triple {18960#(< ~counter~0 18)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 13:18:31,997 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {18567#true} {18960#(< ~counter~0 18)} #78#return; {18960#(< ~counter~0 18)} is VALID [2022-04-28 13:18:31,997 INFO L290 TraceCheckUtils]: 47: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 13:18:31,997 INFO L290 TraceCheckUtils]: 46: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 13:18:31,997 INFO L290 TraceCheckUtils]: 45: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 13:18:31,997 INFO L272 TraceCheckUtils]: 44: Hoare triple {18960#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 13:18:31,998 INFO L290 TraceCheckUtils]: 43: Hoare triple {18960#(< ~counter~0 18)} assume !!(#t~post5 < 20);havoc #t~post5; {18960#(< ~counter~0 18)} is VALID [2022-04-28 13:18:31,998 INFO L290 TraceCheckUtils]: 42: Hoare triple {19015#(< ~counter~0 17)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {18960#(< ~counter~0 18)} is VALID [2022-04-28 13:18:31,998 INFO L290 TraceCheckUtils]: 41: Hoare triple {19015#(< ~counter~0 17)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {19015#(< ~counter~0 17)} is VALID [2022-04-28 13:18:31,999 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {18567#true} {19015#(< ~counter~0 17)} #82#return; {19015#(< ~counter~0 17)} is VALID [2022-04-28 13:18:31,999 INFO L290 TraceCheckUtils]: 39: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 13:18:31,999 INFO L290 TraceCheckUtils]: 38: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 13:18:31,999 INFO L290 TraceCheckUtils]: 37: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 13:18:31,999 INFO L272 TraceCheckUtils]: 36: Hoare triple {19015#(< ~counter~0 17)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 13:18:32,000 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {18567#true} {19015#(< ~counter~0 17)} #80#return; {19015#(< ~counter~0 17)} is VALID [2022-04-28 13:18:32,000 INFO L290 TraceCheckUtils]: 34: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 13:18:32,000 INFO L290 TraceCheckUtils]: 33: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 13:18:32,000 INFO L290 TraceCheckUtils]: 32: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 13:18:32,000 INFO L272 TraceCheckUtils]: 31: Hoare triple {19015#(< ~counter~0 17)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 13:18:32,000 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {18567#true} {19015#(< ~counter~0 17)} #78#return; {19015#(< ~counter~0 17)} is VALID [2022-04-28 13:18:32,000 INFO L290 TraceCheckUtils]: 29: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 13:18:32,000 INFO L290 TraceCheckUtils]: 28: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 13:18:32,000 INFO L290 TraceCheckUtils]: 27: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 13:18:32,001 INFO L272 TraceCheckUtils]: 26: Hoare triple {19015#(< ~counter~0 17)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 13:18:32,001 INFO L290 TraceCheckUtils]: 25: Hoare triple {19015#(< ~counter~0 17)} assume !!(#t~post5 < 20);havoc #t~post5; {19015#(< ~counter~0 17)} is VALID [2022-04-28 13:18:32,001 INFO L290 TraceCheckUtils]: 24: Hoare triple {19070#(< ~counter~0 16)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {19015#(< ~counter~0 17)} is VALID [2022-04-28 13:18:32,002 INFO L290 TraceCheckUtils]: 23: Hoare triple {19070#(< ~counter~0 16)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {19070#(< ~counter~0 16)} is VALID [2022-04-28 13:18:32,002 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {18567#true} {19070#(< ~counter~0 16)} #82#return; {19070#(< ~counter~0 16)} is VALID [2022-04-28 13:18:32,002 INFO L290 TraceCheckUtils]: 21: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 13:18:32,002 INFO L290 TraceCheckUtils]: 20: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 13:18:32,002 INFO L290 TraceCheckUtils]: 19: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 13:18:32,002 INFO L272 TraceCheckUtils]: 18: Hoare triple {19070#(< ~counter~0 16)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 13:18:32,003 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {18567#true} {19070#(< ~counter~0 16)} #80#return; {19070#(< ~counter~0 16)} is VALID [2022-04-28 13:18:32,003 INFO L290 TraceCheckUtils]: 16: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 13:18:32,003 INFO L290 TraceCheckUtils]: 15: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 13:18:32,003 INFO L290 TraceCheckUtils]: 14: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 13:18:32,003 INFO L272 TraceCheckUtils]: 13: Hoare triple {19070#(< ~counter~0 16)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 13:18:32,003 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {18567#true} {19070#(< ~counter~0 16)} #78#return; {19070#(< ~counter~0 16)} is VALID [2022-04-28 13:18:32,003 INFO L290 TraceCheckUtils]: 11: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 13:18:32,004 INFO L290 TraceCheckUtils]: 10: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 13:18:32,004 INFO L290 TraceCheckUtils]: 9: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 13:18:32,004 INFO L272 TraceCheckUtils]: 8: Hoare triple {19070#(< ~counter~0 16)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 13:18:32,004 INFO L290 TraceCheckUtils]: 7: Hoare triple {19070#(< ~counter~0 16)} assume !!(#t~post5 < 20);havoc #t~post5; {19070#(< ~counter~0 16)} is VALID [2022-04-28 13:18:32,004 INFO L290 TraceCheckUtils]: 6: Hoare triple {19125#(< ~counter~0 15)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {19070#(< ~counter~0 16)} is VALID [2022-04-28 13:18:32,005 INFO L290 TraceCheckUtils]: 5: Hoare triple {19125#(< ~counter~0 15)} 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; {19125#(< ~counter~0 15)} is VALID [2022-04-28 13:18:32,005 INFO L272 TraceCheckUtils]: 4: Hoare triple {19125#(< ~counter~0 15)} call #t~ret7 := main(); {19125#(< ~counter~0 15)} is VALID [2022-04-28 13:18:32,005 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19125#(< ~counter~0 15)} {18567#true} #92#return; {19125#(< ~counter~0 15)} is VALID [2022-04-28 13:18:32,006 INFO L290 TraceCheckUtils]: 2: Hoare triple {19125#(< ~counter~0 15)} assume true; {19125#(< ~counter~0 15)} is VALID [2022-04-28 13:18:32,006 INFO L290 TraceCheckUtils]: 1: Hoare triple {18567#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {19125#(< ~counter~0 15)} is VALID [2022-04-28 13:18:32,006 INFO L272 TraceCheckUtils]: 0: Hoare triple {18567#true} call ULTIMATE.init(); {18567#true} is VALID [2022-04-28 13:18:32,006 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 26 proven. 28 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 13:18:32,007 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:18:32,007 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1880000635] [2022-04-28 13:18:32,007 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:18:32,007 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [949846736] [2022-04-28 13:18:32,007 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [949846736] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:18:32,007 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:18:32,007 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 13:18:32,013 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:18:32,013 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [331646251] [2022-04-28 13:18:32,013 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [331646251] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:18:32,013 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:18:32,013 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 13:18:32,013 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [15503571] [2022-04-28 13:18:32,014 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:18:32,014 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 94 [2022-04-28 13:18:32,014 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:18:32,015 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 13:18:32,063 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:18:32,063 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 13:18:32,063 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:18:32,064 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 13:18:32,064 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-28 13:18:32,064 INFO L87 Difference]: Start difference. First operand 182 states and 216 transitions. Second operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 13:18:32,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:18:32,535 INFO L93 Difference]: Finished difference Result 240 states and 281 transitions. [2022-04-28 13:18:32,535 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 13:18:32,535 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 94 [2022-04-28 13:18:32,535 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:18:32,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 13:18:32,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 128 transitions. [2022-04-28 13:18:32,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 13:18:32,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 128 transitions. [2022-04-28 13:18:32,538 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 128 transitions. [2022-04-28 13:18:32,632 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:18:32,636 INFO L225 Difference]: With dead ends: 240 [2022-04-28 13:18:32,636 INFO L226 Difference]: Without dead ends: 227 [2022-04-28 13:18:32,636 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 189 GetRequests, 173 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=120, Invalid=186, Unknown=0, NotChecked=0, Total=306 [2022-04-28 13:18:32,637 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 37 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 65 mSolverCounterSat, 57 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 122 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 57 IncrementalHoareTripleChecker+Valid, 65 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:18:32,637 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [37 Valid, 180 Invalid, 122 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [57 Valid, 65 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:18:32,637 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 227 states. [2022-04-28 13:18:32,827 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 227 to 226. [2022-04-28 13:18:32,827 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:18:32,828 INFO L82 GeneralOperation]: Start isEquivalent. First operand 227 states. Second operand has 226 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 155 states have internal predecessors, (173), 46 states have call successors, (46), 29 states have call predecessors, (46), 28 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 13:18:32,828 INFO L74 IsIncluded]: Start isIncluded. First operand 227 states. Second operand has 226 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 155 states have internal predecessors, (173), 46 states have call successors, (46), 29 states have call predecessors, (46), 28 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 13:18:32,828 INFO L87 Difference]: Start difference. First operand 227 states. Second operand has 226 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 155 states have internal predecessors, (173), 46 states have call successors, (46), 29 states have call predecessors, (46), 28 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 13:18:32,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:18:32,832 INFO L93 Difference]: Finished difference Result 227 states and 264 transitions. [2022-04-28 13:18:32,832 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 264 transitions. [2022-04-28 13:18:32,832 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:18:32,832 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:18:32,833 INFO L74 IsIncluded]: Start isIncluded. First operand has 226 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 155 states have internal predecessors, (173), 46 states have call successors, (46), 29 states have call predecessors, (46), 28 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) Second operand 227 states. [2022-04-28 13:18:32,833 INFO L87 Difference]: Start difference. First operand has 226 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 155 states have internal predecessors, (173), 46 states have call successors, (46), 29 states have call predecessors, (46), 28 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) Second operand 227 states. [2022-04-28 13:18:32,836 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:18:32,837 INFO L93 Difference]: Finished difference Result 227 states and 264 transitions. [2022-04-28 13:18:32,837 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 264 transitions. [2022-04-28 13:18:32,837 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:18:32,837 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:18:32,837 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:18:32,837 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:18:32,838 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 226 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 155 states have internal predecessors, (173), 46 states have call successors, (46), 29 states have call predecessors, (46), 28 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 13:18:32,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 263 transitions. [2022-04-28 13:18:32,842 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 263 transitions. Word has length 94 [2022-04-28 13:18:32,842 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:18:32,842 INFO L495 AbstractCegarLoop]: Abstraction has 226 states and 263 transitions. [2022-04-28 13:18:32,842 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 13:18:32,842 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 263 transitions. [2022-04-28 13:18:33,173 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 263 edges. 263 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:18:33,173 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 263 transitions. [2022-04-28 13:18:33,175 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-28 13:18:33,175 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:18:33,175 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:18:33,196 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 13:18:33,392 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:18:33,392 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:18:33,392 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:18:33,392 INFO L85 PathProgramCache]: Analyzing trace with hash -612515316, now seen corresponding path program 7 times [2022-04-28 13:18:33,393 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:18:33,393 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [621220073] [2022-04-28 13:18:37,476 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:18:37,477 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:18:37,477 INFO L85 PathProgramCache]: Analyzing trace with hash -612515316, now seen corresponding path program 8 times [2022-04-28 13:18:37,477 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:18:37,477 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [854837442] [2022-04-28 13:18:37,477 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:18:37,477 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:18:37,494 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:18:37,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1405451155] [2022-04-28 13:18:37,495 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:18:37,495 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:18:37,495 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:18:37,496 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:18:37,496 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 13:18:37,546 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:18:37,547 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:18:37,548 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 13:18:37,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:18:37,563 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:18:38,204 INFO L272 TraceCheckUtils]: 0: Hoare triple {20536#true} call ULTIMATE.init(); {20536#true} is VALID [2022-04-28 13:18:38,204 INFO L290 TraceCheckUtils]: 1: Hoare triple {20536#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20536#true} is VALID [2022-04-28 13:18:38,204 INFO L290 TraceCheckUtils]: 2: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:18:38,204 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20536#true} {20536#true} #92#return; {20536#true} is VALID [2022-04-28 13:18:38,204 INFO L272 TraceCheckUtils]: 4: Hoare triple {20536#true} call #t~ret7 := main(); {20536#true} is VALID [2022-04-28 13:18:38,205 INFO L290 TraceCheckUtils]: 5: Hoare triple {20536#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; {20556#(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-28 13:18:38,205 INFO L290 TraceCheckUtils]: 6: Hoare triple {20556#(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))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {20556#(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-28 13:18:38,206 INFO L290 TraceCheckUtils]: 7: Hoare triple {20556#(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 !!(#t~post5 < 20);havoc #t~post5; {20556#(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-28 13:18:38,206 INFO L272 TraceCheckUtils]: 8: Hoare triple {20556#(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)); {20536#true} is VALID [2022-04-28 13:18:38,206 INFO L290 TraceCheckUtils]: 9: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:18:38,206 INFO L290 TraceCheckUtils]: 10: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:18:38,206 INFO L290 TraceCheckUtils]: 11: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:18:38,206 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {20536#true} {20556#(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; {20556#(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-28 13:18:38,207 INFO L272 TraceCheckUtils]: 13: Hoare triple {20556#(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)); {20536#true} is VALID [2022-04-28 13:18:38,207 INFO L290 TraceCheckUtils]: 14: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:18:38,207 INFO L290 TraceCheckUtils]: 15: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:18:38,207 INFO L290 TraceCheckUtils]: 16: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:18:38,207 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {20536#true} {20556#(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; {20556#(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-28 13:18:38,207 INFO L272 TraceCheckUtils]: 18: Hoare triple {20556#(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)); {20536#true} is VALID [2022-04-28 13:18:38,207 INFO L290 TraceCheckUtils]: 19: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:18:38,207 INFO L290 TraceCheckUtils]: 20: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:18:38,208 INFO L290 TraceCheckUtils]: 21: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:18:38,208 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {20536#true} {20556#(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))} #82#return; {20556#(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-28 13:18:38,208 INFO L290 TraceCheckUtils]: 23: Hoare triple {20556#(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; {20611#(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-28 13:18:38,209 INFO L290 TraceCheckUtils]: 24: Hoare triple {20611#(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))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {20611#(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-28 13:18:38,209 INFO L290 TraceCheckUtils]: 25: Hoare triple {20611#(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 !!(#t~post5 < 20);havoc #t~post5; {20611#(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-28 13:18:38,209 INFO L272 TraceCheckUtils]: 26: Hoare triple {20611#(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)); {20536#true} is VALID [2022-04-28 13:18:38,209 INFO L290 TraceCheckUtils]: 27: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:18:38,209 INFO L290 TraceCheckUtils]: 28: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:18:38,210 INFO L290 TraceCheckUtils]: 29: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:18:38,210 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {20536#true} {20611#(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; {20611#(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-28 13:18:38,210 INFO L272 TraceCheckUtils]: 31: Hoare triple {20611#(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)); {20536#true} is VALID [2022-04-28 13:18:38,210 INFO L290 TraceCheckUtils]: 32: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:18:38,210 INFO L290 TraceCheckUtils]: 33: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:18:38,210 INFO L290 TraceCheckUtils]: 34: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:18:38,211 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {20536#true} {20611#(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; {20611#(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-28 13:18:38,211 INFO L272 TraceCheckUtils]: 36: Hoare triple {20611#(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)); {20536#true} is VALID [2022-04-28 13:18:38,211 INFO L290 TraceCheckUtils]: 37: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:18:38,211 INFO L290 TraceCheckUtils]: 38: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:18:38,211 INFO L290 TraceCheckUtils]: 39: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:18:38,212 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {20536#true} {20611#(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; {20611#(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-28 13:18:38,222 INFO L290 TraceCheckUtils]: 41: Hoare triple {20611#(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; {20666#(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-28 13:18:38,222 INFO L290 TraceCheckUtils]: 42: Hoare triple {20666#(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))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {20666#(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-28 13:18:38,223 INFO L290 TraceCheckUtils]: 43: Hoare triple {20666#(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 !!(#t~post5 < 20);havoc #t~post5; {20666#(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-28 13:18:38,223 INFO L272 TraceCheckUtils]: 44: Hoare triple {20666#(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)); {20536#true} is VALID [2022-04-28 13:18:38,223 INFO L290 TraceCheckUtils]: 45: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:18:38,223 INFO L290 TraceCheckUtils]: 46: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:18:38,223 INFO L290 TraceCheckUtils]: 47: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:18:38,224 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {20536#true} {20666#(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; {20666#(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-28 13:18:38,224 INFO L272 TraceCheckUtils]: 49: Hoare triple {20666#(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)); {20536#true} is VALID [2022-04-28 13:18:38,224 INFO L290 TraceCheckUtils]: 50: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:18:38,224 INFO L290 TraceCheckUtils]: 51: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:18:38,224 INFO L290 TraceCheckUtils]: 52: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:18:38,224 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {20536#true} {20666#(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; {20666#(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-28 13:18:38,225 INFO L272 TraceCheckUtils]: 54: Hoare triple {20666#(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)); {20536#true} is VALID [2022-04-28 13:18:38,225 INFO L290 TraceCheckUtils]: 55: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:18:38,225 INFO L290 TraceCheckUtils]: 56: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:18:38,225 INFO L290 TraceCheckUtils]: 57: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:18:38,225 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {20536#true} {20666#(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; {20666#(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-28 13:18:38,226 INFO L290 TraceCheckUtils]: 59: Hoare triple {20666#(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); {20666#(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-28 13:18:38,226 INFO L290 TraceCheckUtils]: 60: Hoare triple {20666#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20666#(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-28 13:18:38,226 INFO L290 TraceCheckUtils]: 61: Hoare triple {20666#(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 !!(#t~post6 < 20);havoc #t~post6; {20666#(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-28 13:18:38,227 INFO L272 TraceCheckUtils]: 62: Hoare triple {20666#(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)); {20536#true} is VALID [2022-04-28 13:18:38,227 INFO L290 TraceCheckUtils]: 63: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:18:38,227 INFO L290 TraceCheckUtils]: 64: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:18:38,227 INFO L290 TraceCheckUtils]: 65: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:18:38,227 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20536#true} {20666#(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; {20666#(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-28 13:18:38,227 INFO L272 TraceCheckUtils]: 67: Hoare triple {20666#(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)); {20536#true} is VALID [2022-04-28 13:18:38,227 INFO L290 TraceCheckUtils]: 68: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:18:38,227 INFO L290 TraceCheckUtils]: 69: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:18:38,228 INFO L290 TraceCheckUtils]: 70: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:18:38,228 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20536#true} {20666#(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))} #86#return; {20666#(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-28 13:18:38,229 INFO L290 TraceCheckUtils]: 72: Hoare triple {20666#(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); {20611#(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-28 13:18:38,229 INFO L290 TraceCheckUtils]: 73: Hoare triple {20611#(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; {20763#(and (= main_~q~0 main_~p~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-28 13:18:38,229 INFO L290 TraceCheckUtils]: 74: Hoare triple {20763#(and (= main_~q~0 main_~p~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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20763#(and (= main_~q~0 main_~p~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-28 13:18:38,230 INFO L290 TraceCheckUtils]: 75: Hoare triple {20763#(and (= main_~q~0 main_~p~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 !!(#t~post6 < 20);havoc #t~post6; {20763#(and (= main_~q~0 main_~p~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-28 13:18:38,230 INFO L272 TraceCheckUtils]: 76: Hoare triple {20763#(and (= main_~q~0 main_~p~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)); {20536#true} is VALID [2022-04-28 13:18:38,230 INFO L290 TraceCheckUtils]: 77: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:18:38,230 INFO L290 TraceCheckUtils]: 78: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:18:38,230 INFO L290 TraceCheckUtils]: 79: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:18:38,231 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20536#true} {20763#(and (= main_~q~0 main_~p~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; {20763#(and (= main_~q~0 main_~p~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-28 13:18:38,231 INFO L272 TraceCheckUtils]: 81: Hoare triple {20763#(and (= main_~q~0 main_~p~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)); {20536#true} is VALID [2022-04-28 13:18:38,231 INFO L290 TraceCheckUtils]: 82: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:18:38,231 INFO L290 TraceCheckUtils]: 83: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:18:38,231 INFO L290 TraceCheckUtils]: 84: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:18:38,231 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {20536#true} {20763#(and (= main_~q~0 main_~p~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))} #86#return; {20763#(and (= main_~q~0 main_~p~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-28 13:18:38,232 INFO L290 TraceCheckUtils]: 86: Hoare triple {20763#(and (= main_~q~0 main_~p~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); {20803#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (= (div (+ main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= main_~B~0 1) (= (* main_~B~0 2) (+ main_~A~0 (* (- 1) main_~r~0))))} is VALID [2022-04-28 13:18:38,233 INFO L290 TraceCheckUtils]: 87: Hoare triple {20803#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (= (div (+ main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= main_~B~0 1) (= (* main_~B~0 2) (+ main_~A~0 (* (- 1) main_~r~0))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20807#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-28 13:18:38,234 INFO L290 TraceCheckUtils]: 88: Hoare triple {20807#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20807#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-28 13:18:38,234 INFO L290 TraceCheckUtils]: 89: Hoare triple {20807#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {20807#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-28 13:18:38,235 INFO L272 TraceCheckUtils]: 90: Hoare triple {20807#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) 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)); {20817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:18:38,235 INFO L290 TraceCheckUtils]: 91: Hoare triple {20817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:18:38,235 INFO L290 TraceCheckUtils]: 92: Hoare triple {20821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20537#false} is VALID [2022-04-28 13:18:38,235 INFO L290 TraceCheckUtils]: 93: Hoare triple {20537#false} assume !false; {20537#false} is VALID [2022-04-28 13:18:38,236 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 30 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 13:18:38,236 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:19:10,293 INFO L290 TraceCheckUtils]: 93: Hoare triple {20537#false} assume !false; {20537#false} is VALID [2022-04-28 13:19:10,293 INFO L290 TraceCheckUtils]: 92: Hoare triple {20821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20537#false} is VALID [2022-04-28 13:19:10,294 INFO L290 TraceCheckUtils]: 91: Hoare triple {20817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:19:10,294 INFO L272 TraceCheckUtils]: 90: Hoare triple {20837#(= (+ (* 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)); {20817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:19:10,295 INFO L290 TraceCheckUtils]: 89: Hoare triple {20837#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(#t~post6 < 20);havoc #t~post6; {20837#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:19:10,295 INFO L290 TraceCheckUtils]: 88: Hoare triple {20837#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20837#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:19:10,313 INFO L290 TraceCheckUtils]: 87: Hoare triple {20847#(= 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; {20837#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:19:10,328 INFO L290 TraceCheckUtils]: 86: Hoare triple {20851#(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); {20847#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 13:19:10,329 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {20536#true} {20851#(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))))))))} #86#return; {20851#(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-28 13:19:10,329 INFO L290 TraceCheckUtils]: 84: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:19:10,329 INFO L290 TraceCheckUtils]: 83: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:19:10,330 INFO L290 TraceCheckUtils]: 82: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:19:10,330 INFO L272 TraceCheckUtils]: 81: Hoare triple {20851#(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)); {20536#true} is VALID [2022-04-28 13:19:10,330 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20536#true} {20851#(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; {20851#(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-28 13:19:10,330 INFO L290 TraceCheckUtils]: 79: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:19:10,330 INFO L290 TraceCheckUtils]: 78: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:19:10,330 INFO L290 TraceCheckUtils]: 77: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:19:10,330 INFO L272 TraceCheckUtils]: 76: Hoare triple {20851#(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)); {20536#true} is VALID [2022-04-28 13:19:10,331 INFO L290 TraceCheckUtils]: 75: Hoare triple {20851#(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 !!(#t~post6 < 20);havoc #t~post6; {20851#(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-28 13:19:10,332 INFO L290 TraceCheckUtils]: 74: Hoare triple {20851#(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))))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20851#(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-28 13:19:10,353 INFO L290 TraceCheckUtils]: 73: Hoare triple {20891#(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; {20851#(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-28 13:19:10,813 INFO L290 TraceCheckUtils]: 72: Hoare triple {20895#(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); {20891#(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-28 13:19:10,814 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20536#true} {20895#(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))))} #86#return; {20895#(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-28 13:19:10,814 INFO L290 TraceCheckUtils]: 70: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:19:10,814 INFO L290 TraceCheckUtils]: 69: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:19:10,814 INFO L290 TraceCheckUtils]: 68: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:19:10,814 INFO L272 TraceCheckUtils]: 67: Hoare triple {20895#(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)); {20536#true} is VALID [2022-04-28 13:19:10,815 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20536#true} {20895#(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; {20895#(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-28 13:19:10,815 INFO L290 TraceCheckUtils]: 65: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:19:10,816 INFO L290 TraceCheckUtils]: 64: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:19:10,816 INFO L290 TraceCheckUtils]: 63: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:19:10,816 INFO L272 TraceCheckUtils]: 62: Hoare triple {20895#(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)); {20536#true} is VALID [2022-04-28 13:19:10,820 INFO L290 TraceCheckUtils]: 61: Hoare triple {20895#(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 !!(#t~post6 < 20);havoc #t~post6; {20895#(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-28 13:19:10,828 INFO L290 TraceCheckUtils]: 60: Hoare triple {20895#(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))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20895#(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-28 13:19:10,832 INFO L290 TraceCheckUtils]: 59: Hoare triple {20895#(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); {20895#(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-28 13:19:10,833 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {20536#true} {20895#(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; {20895#(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-28 13:19:10,834 INFO L290 TraceCheckUtils]: 57: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:19:10,834 INFO L290 TraceCheckUtils]: 56: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:19:10,834 INFO L290 TraceCheckUtils]: 55: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:19:10,834 INFO L272 TraceCheckUtils]: 54: Hoare triple {20895#(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)); {20536#true} is VALID [2022-04-28 13:19:10,835 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {20536#true} {20895#(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; {20895#(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-28 13:19:10,835 INFO L290 TraceCheckUtils]: 52: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:19:10,835 INFO L290 TraceCheckUtils]: 51: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:19:10,835 INFO L290 TraceCheckUtils]: 50: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:19:10,835 INFO L272 TraceCheckUtils]: 49: Hoare triple {20895#(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)); {20536#true} is VALID [2022-04-28 13:19:10,836 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {20536#true} {20895#(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; {20895#(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-28 13:19:10,837 INFO L290 TraceCheckUtils]: 47: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:19:10,837 INFO L290 TraceCheckUtils]: 46: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:19:10,837 INFO L290 TraceCheckUtils]: 45: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:19:10,837 INFO L272 TraceCheckUtils]: 44: Hoare triple {20895#(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)); {20536#true} is VALID [2022-04-28 13:19:10,840 INFO L290 TraceCheckUtils]: 43: Hoare triple {20895#(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 !!(#t~post5 < 20);havoc #t~post5; {20895#(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-28 13:19:10,845 INFO L290 TraceCheckUtils]: 42: Hoare triple {20895#(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))))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {20895#(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-28 13:19:10,991 INFO L290 TraceCheckUtils]: 41: Hoare triple {20891#(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; {20895#(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-28 13:19:10,992 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {20536#true} {20891#(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)))))} #82#return; {20891#(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-28 13:19:10,992 INFO L290 TraceCheckUtils]: 39: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:19:10,992 INFO L290 TraceCheckUtils]: 38: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:19:10,992 INFO L290 TraceCheckUtils]: 37: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:19:10,992 INFO L272 TraceCheckUtils]: 36: Hoare triple {20891#(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)); {20536#true} is VALID [2022-04-28 13:19:10,993 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {20536#true} {20891#(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; {20891#(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-28 13:19:10,993 INFO L290 TraceCheckUtils]: 34: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:19:10,993 INFO L290 TraceCheckUtils]: 33: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:19:10,993 INFO L290 TraceCheckUtils]: 32: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:19:10,993 INFO L272 TraceCheckUtils]: 31: Hoare triple {20891#(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)); {20536#true} is VALID [2022-04-28 13:19:10,994 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {20536#true} {20891#(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; {20891#(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-28 13:19:10,994 INFO L290 TraceCheckUtils]: 29: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:19:10,994 INFO L290 TraceCheckUtils]: 28: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:19:10,994 INFO L290 TraceCheckUtils]: 27: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:19:10,994 INFO L272 TraceCheckUtils]: 26: Hoare triple {20891#(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)); {20536#true} is VALID [2022-04-28 13:19:10,995 INFO L290 TraceCheckUtils]: 25: Hoare triple {20891#(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 !!(#t~post5 < 20);havoc #t~post5; {20891#(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-28 13:19:10,996 INFO L290 TraceCheckUtils]: 24: Hoare triple {20891#(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)))))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {20891#(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-28 13:19:11,022 INFO L290 TraceCheckUtils]: 23: Hoare triple {21043#(= (+ (* (* 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; {20891#(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-28 13:19:11,023 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {20536#true} {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #82#return; {21043#(= (+ (* (* 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-28 13:19:11,023 INFO L290 TraceCheckUtils]: 21: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:19:11,023 INFO L290 TraceCheckUtils]: 20: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:19:11,023 INFO L290 TraceCheckUtils]: 19: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:19:11,023 INFO L272 TraceCheckUtils]: 18: Hoare triple {21043#(= (+ (* (* 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)); {20536#true} is VALID [2022-04-28 13:19:11,023 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {20536#true} {21043#(= (+ (* (* 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; {21043#(= (+ (* (* 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-28 13:19:11,023 INFO L290 TraceCheckUtils]: 16: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:19:11,023 INFO L290 TraceCheckUtils]: 15: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:19:11,024 INFO L290 TraceCheckUtils]: 14: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:19:11,024 INFO L272 TraceCheckUtils]: 13: Hoare triple {21043#(= (+ (* (* 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)); {20536#true} is VALID [2022-04-28 13:19:11,024 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {20536#true} {21043#(= (+ (* (* 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; {21043#(= (+ (* (* 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-28 13:19:11,024 INFO L290 TraceCheckUtils]: 11: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:19:11,024 INFO L290 TraceCheckUtils]: 10: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 13:19:11,024 INFO L290 TraceCheckUtils]: 9: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 13:19:11,024 INFO L272 TraceCheckUtils]: 8: Hoare triple {21043#(= (+ (* (* 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)); {20536#true} is VALID [2022-04-28 13:19:11,025 INFO L290 TraceCheckUtils]: 7: Hoare triple {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} assume !!(#t~post5 < 20);havoc #t~post5; {21043#(= (+ (* (* 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-28 13:19:11,025 INFO L290 TraceCheckUtils]: 6: Hoare triple {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {21043#(= (+ (* (* 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-28 13:19:11,026 INFO L290 TraceCheckUtils]: 5: Hoare triple {20536#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; {21043#(= (+ (* (* 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-28 13:19:11,026 INFO L272 TraceCheckUtils]: 4: Hoare triple {20536#true} call #t~ret7 := main(); {20536#true} is VALID [2022-04-28 13:19:11,026 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20536#true} {20536#true} #92#return; {20536#true} is VALID [2022-04-28 13:19:11,026 INFO L290 TraceCheckUtils]: 2: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 13:19:11,026 INFO L290 TraceCheckUtils]: 1: Hoare triple {20536#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20536#true} is VALID [2022-04-28 13:19:11,026 INFO L272 TraceCheckUtils]: 0: Hoare triple {20536#true} call ULTIMATE.init(); {20536#true} is VALID [2022-04-28 13:19:11,027 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 24 refuted. 6 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 13:19:11,027 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:19:11,027 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [854837442] [2022-04-28 13:19:11,027 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:19:11,027 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1405451155] [2022-04-28 13:19:11,027 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1405451155] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:19:11,028 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:19:11,028 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-28 13:19:11,028 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:19:11,028 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [621220073] [2022-04-28 13:19:11,028 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [621220073] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:19:11,028 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:19:11,028 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 13:19:11,028 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1226850977] [2022-04-28 13:19:11,028 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:19:11,029 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 94 [2022-04-28 13:19:11,029 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:19:11,029 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 13:19:11,081 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:19:11,081 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 13:19:11,081 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:19:11,081 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 13:19:11,081 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=178, Unknown=2, NotChecked=0, Total=240 [2022-04-28 13:19:11,082 INFO L87 Difference]: Start difference. First operand 226 states and 263 transitions. Second operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 13:19:12,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:19:12,471 INFO L93 Difference]: Finished difference Result 275 states and 329 transitions. [2022-04-28 13:19:12,471 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 13:19:12,471 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 94 [2022-04-28 13:19:12,471 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:19:12,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 13:19:12,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 129 transitions. [2022-04-28 13:19:12,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 13:19:12,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 129 transitions. [2022-04-28 13:19:12,474 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 129 transitions. [2022-04-28 13:19:12,611 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:19:12,615 INFO L225 Difference]: With dead ends: 275 [2022-04-28 13:19:12,615 INFO L226 Difference]: Without dead ends: 240 [2022-04-28 13:19:12,615 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 188 GetRequests, 170 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 7.6s TimeCoverageRelationStatistics Valid=64, Invalid=206, Unknown=2, NotChecked=0, Total=272 [2022-04-28 13:19:12,616 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 13 mSDsluCounter, 243 mSDsCounter, 0 mSdLazyCounter, 433 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 300 SdHoareTripleChecker+Invalid, 451 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 433 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 13:19:12,616 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 300 Invalid, 451 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 433 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 13:19:12,616 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 240 states. [2022-04-28 13:19:12,839 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 240 to 238. [2022-04-28 13:19:12,839 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:19:12,839 INFO L82 GeneralOperation]: Start isEquivalent. First operand 240 states. Second operand has 238 states, 159 states have (on average 1.150943396226415) internal successors, (183), 163 states have internal predecessors, (183), 48 states have call successors, (48), 31 states have call predecessors, (48), 30 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 13:19:12,840 INFO L74 IsIncluded]: Start isIncluded. First operand 240 states. Second operand has 238 states, 159 states have (on average 1.150943396226415) internal successors, (183), 163 states have internal predecessors, (183), 48 states have call successors, (48), 31 states have call predecessors, (48), 30 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 13:19:12,840 INFO L87 Difference]: Start difference. First operand 240 states. Second operand has 238 states, 159 states have (on average 1.150943396226415) internal successors, (183), 163 states have internal predecessors, (183), 48 states have call successors, (48), 31 states have call predecessors, (48), 30 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 13:19:12,844 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:19:12,844 INFO L93 Difference]: Finished difference Result 240 states and 280 transitions. [2022-04-28 13:19:12,844 INFO L276 IsEmpty]: Start isEmpty. Operand 240 states and 280 transitions. [2022-04-28 13:19:12,844 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:19:12,844 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:19:12,845 INFO L74 IsIncluded]: Start isIncluded. First operand has 238 states, 159 states have (on average 1.150943396226415) internal successors, (183), 163 states have internal predecessors, (183), 48 states have call successors, (48), 31 states have call predecessors, (48), 30 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) Second operand 240 states. [2022-04-28 13:19:12,845 INFO L87 Difference]: Start difference. First operand has 238 states, 159 states have (on average 1.150943396226415) internal successors, (183), 163 states have internal predecessors, (183), 48 states have call successors, (48), 31 states have call predecessors, (48), 30 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) Second operand 240 states. [2022-04-28 13:19:12,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:19:12,849 INFO L93 Difference]: Finished difference Result 240 states and 280 transitions. [2022-04-28 13:19:12,849 INFO L276 IsEmpty]: Start isEmpty. Operand 240 states and 280 transitions. [2022-04-28 13:19:12,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:19:12,850 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:19:12,850 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:19:12,850 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:19:12,850 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 238 states, 159 states have (on average 1.150943396226415) internal successors, (183), 163 states have internal predecessors, (183), 48 states have call successors, (48), 31 states have call predecessors, (48), 30 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 13:19:12,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 238 states to 238 states and 277 transitions. [2022-04-28 13:19:12,855 INFO L78 Accepts]: Start accepts. Automaton has 238 states and 277 transitions. Word has length 94 [2022-04-28 13:19:12,855 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:19:12,855 INFO L495 AbstractCegarLoop]: Abstraction has 238 states and 277 transitions. [2022-04-28 13:19:12,855 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 13:19:12,855 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 238 states and 277 transitions. [2022-04-28 13:19:13,226 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 277 edges. 277 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:19:13,226 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 277 transitions. [2022-04-28 13:19:13,227 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-28 13:19:13,227 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:19:13,227 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:19:13,246 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 13:19:13,427 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:19:13,427 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:19:13,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:19:13,428 INFO L85 PathProgramCache]: Analyzing trace with hash 18113303, now seen corresponding path program 9 times [2022-04-28 13:19:13,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:19:13,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [564923579] [2022-04-28 13:19:16,600 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:19:16,600 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:19:16,600 INFO L85 PathProgramCache]: Analyzing trace with hash 18113303, now seen corresponding path program 10 times [2022-04-28 13:19:16,600 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:19:16,600 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [16904443] [2022-04-28 13:19:16,600 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:19:16,600 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:19:16,609 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:19:16,609 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [282641216] [2022-04-28 13:19:16,609 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:19:16,610 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:19:16,610 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:19:16,610 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:19:16,611 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 13:19:16,672 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:19:16,672 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:19:16,674 INFO L263 TraceCheckSpWp]: Trace formula consists of 212 conjuncts, 40 conjunts are in the unsatisfiable core [2022-04-28 13:19:16,704 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:19:16,706 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:22:25,336 INFO L272 TraceCheckUtils]: 0: Hoare triple {22623#true} call ULTIMATE.init(); {22623#true} is VALID [2022-04-28 13:22:25,336 INFO L290 TraceCheckUtils]: 1: Hoare triple {22623#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {22623#true} is VALID [2022-04-28 13:22:25,336 INFO L290 TraceCheckUtils]: 2: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:22:25,336 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22623#true} {22623#true} #92#return; {22623#true} is VALID [2022-04-28 13:22:25,336 INFO L272 TraceCheckUtils]: 4: Hoare triple {22623#true} call #t~ret7 := main(); {22623#true} is VALID [2022-04-28 13:22:25,337 INFO L290 TraceCheckUtils]: 5: Hoare triple {22623#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; {22623#true} is VALID [2022-04-28 13:22:25,337 INFO L290 TraceCheckUtils]: 6: Hoare triple {22623#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {22623#true} is VALID [2022-04-28 13:22:25,337 INFO L290 TraceCheckUtils]: 7: Hoare triple {22623#true} assume !!(#t~post5 < 20);havoc #t~post5; {22623#true} is VALID [2022-04-28 13:22:25,337 INFO L272 TraceCheckUtils]: 8: Hoare triple {22623#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:22:25,337 INFO L290 TraceCheckUtils]: 9: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:22:25,337 INFO L290 TraceCheckUtils]: 10: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:22:25,337 INFO L290 TraceCheckUtils]: 11: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:22:25,337 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {22623#true} {22623#true} #78#return; {22623#true} is VALID [2022-04-28 13:22:25,337 INFO L272 TraceCheckUtils]: 13: Hoare triple {22623#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:22:25,337 INFO L290 TraceCheckUtils]: 14: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:22:25,337 INFO L290 TraceCheckUtils]: 15: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:22:25,337 INFO L290 TraceCheckUtils]: 16: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:22:25,337 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {22623#true} {22623#true} #80#return; {22623#true} is VALID [2022-04-28 13:22:25,337 INFO L272 TraceCheckUtils]: 18: Hoare triple {22623#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:22:25,338 INFO L290 TraceCheckUtils]: 19: Hoare triple {22623#true} ~cond := #in~cond; {22685#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:22:25,338 INFO L290 TraceCheckUtils]: 20: Hoare triple {22685#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:22:25,338 INFO L290 TraceCheckUtils]: 21: Hoare triple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:22:25,339 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} {22623#true} #82#return; {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:22:27,341 WARN L290 TraceCheckUtils]: 23: Hoare triple {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} is UNKNOWN [2022-04-28 13:22:27,341 INFO L290 TraceCheckUtils]: 24: Hoare triple {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:22:27,342 INFO L290 TraceCheckUtils]: 25: Hoare triple {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} assume !!(#t~post5 < 20);havoc #t~post5; {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:22:27,342 INFO L272 TraceCheckUtils]: 26: Hoare triple {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:22:27,342 INFO L290 TraceCheckUtils]: 27: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:22:27,342 INFO L290 TraceCheckUtils]: 28: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:22:27,342 INFO L290 TraceCheckUtils]: 29: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:22:27,343 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {22623#true} {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} #78#return; {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:22:27,343 INFO L272 TraceCheckUtils]: 31: Hoare triple {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:22:27,343 INFO L290 TraceCheckUtils]: 32: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:22:27,343 INFO L290 TraceCheckUtils]: 33: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:22:27,343 INFO L290 TraceCheckUtils]: 34: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:22:27,343 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {22623#true} {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} #80#return; {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:22:27,343 INFO L272 TraceCheckUtils]: 36: Hoare triple {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:22:27,344 INFO L290 TraceCheckUtils]: 37: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:22:27,344 INFO L290 TraceCheckUtils]: 38: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:22:27,344 INFO L290 TraceCheckUtils]: 39: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:22:27,344 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {22623#true} {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} #82#return; {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:22:29,207 INFO L290 TraceCheckUtils]: 41: Hoare triple {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:22:29,208 INFO L290 TraceCheckUtils]: 42: Hoare triple {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:22:29,208 INFO L290 TraceCheckUtils]: 43: Hoare triple {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} assume !!(#t~post5 < 20);havoc #t~post5; {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:22:29,208 INFO L272 TraceCheckUtils]: 44: Hoare triple {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:22:29,208 INFO L290 TraceCheckUtils]: 45: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:22:29,209 INFO L290 TraceCheckUtils]: 46: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:22:29,209 INFO L290 TraceCheckUtils]: 47: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:22:29,209 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {22623#true} {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} #78#return; {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:22:29,209 INFO L272 TraceCheckUtils]: 49: Hoare triple {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:22:29,209 INFO L290 TraceCheckUtils]: 50: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:22:29,209 INFO L290 TraceCheckUtils]: 51: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:22:29,209 INFO L290 TraceCheckUtils]: 52: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:22:29,210 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {22623#true} {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} #80#return; {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:22:29,210 INFO L272 TraceCheckUtils]: 54: Hoare triple {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:22:29,210 INFO L290 TraceCheckUtils]: 55: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:22:29,210 INFO L290 TraceCheckUtils]: 56: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:22:29,210 INFO L290 TraceCheckUtils]: 57: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:22:29,211 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {22623#true} {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} #82#return; {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:22:29,211 INFO L290 TraceCheckUtils]: 59: Hoare triple {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:22:29,212 INFO L290 TraceCheckUtils]: 60: Hoare triple {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:22:29,212 INFO L290 TraceCheckUtils]: 61: Hoare triple {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} assume !!(#t~post6 < 20);havoc #t~post6; {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:22:29,212 INFO L272 TraceCheckUtils]: 62: Hoare triple {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:22:29,212 INFO L290 TraceCheckUtils]: 63: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:22:29,212 INFO L290 TraceCheckUtils]: 64: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:22:29,212 INFO L290 TraceCheckUtils]: 65: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:22:29,213 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {22623#true} {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} #84#return; {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:22:29,213 INFO L272 TraceCheckUtils]: 67: Hoare triple {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:22:29,213 INFO L290 TraceCheckUtils]: 68: Hoare triple {22623#true} ~cond := #in~cond; {22685#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:22:29,213 INFO L290 TraceCheckUtils]: 69: Hoare triple {22685#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:22:29,214 INFO L290 TraceCheckUtils]: 70: Hoare triple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:22:29,214 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} #86#return; {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:22:30,038 INFO L290 TraceCheckUtils]: 72: Hoare triple {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod 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); {22850#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (<= (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) main_~r~0) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (< main_~r~0 (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} is VALID [2022-04-28 13:22:30,040 INFO L290 TraceCheckUtils]: 73: Hoare triple {22850#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (<= (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) main_~r~0) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (< main_~r~0 (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} is VALID [2022-04-28 13:22:30,041 INFO L290 TraceCheckUtils]: 74: Hoare triple {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} is VALID [2022-04-28 13:22:30,042 INFO L290 TraceCheckUtils]: 75: Hoare triple {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} assume !!(#t~post6 < 20);havoc #t~post6; {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} is VALID [2022-04-28 13:22:30,042 INFO L272 TraceCheckUtils]: 76: Hoare triple {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:22:30,042 INFO L290 TraceCheckUtils]: 77: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:22:30,042 INFO L290 TraceCheckUtils]: 78: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:22:30,042 INFO L290 TraceCheckUtils]: 79: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:22:30,043 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {22623#true} {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} #84#return; {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} is VALID [2022-04-28 13:22:30,043 INFO L272 TraceCheckUtils]: 81: Hoare triple {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:22:30,043 INFO L290 TraceCheckUtils]: 82: Hoare triple {22623#true} ~cond := #in~cond; {22685#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:22:30,043 INFO L290 TraceCheckUtils]: 83: Hoare triple {22685#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:22:30,044 INFO L290 TraceCheckUtils]: 84: Hoare triple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:22:30,044 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} #86#return; {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} is VALID [2022-04-28 13:22:30,271 INFO L290 TraceCheckUtils]: 86: Hoare triple {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 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); {22894#(and (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))) (= (* (div (* (- 2) main_~p~0) (- 2)) main_~B~0) main_~d~0))} is VALID [2022-04-28 13:22:30,273 INFO L290 TraceCheckUtils]: 87: Hoare triple {22894#(and (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))) (= (* (div (* (- 2) main_~p~0) (- 2)) main_~B~0) main_~d~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {22894#(and (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))) (= (* (div (* (- 2) main_~p~0) (- 2)) main_~B~0) main_~d~0))} is VALID [2022-04-28 13:22:30,275 INFO L290 TraceCheckUtils]: 88: Hoare triple {22894#(and (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))) (= (* (div (* (- 2) main_~p~0) (- 2)) main_~B~0) main_~d~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22894#(and (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))) (= (* (div (* (- 2) main_~p~0) (- 2)) main_~B~0) main_~d~0))} is VALID [2022-04-28 13:22:30,276 INFO L290 TraceCheckUtils]: 89: Hoare triple {22894#(and (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))) (= (* (div (* (- 2) main_~p~0) (- 2)) main_~B~0) main_~d~0))} assume !!(#t~post6 < 20);havoc #t~post6; {22894#(and (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))) (= (* (div (* (- 2) main_~p~0) (- 2)) main_~B~0) main_~d~0))} is VALID [2022-04-28 13:22:30,277 INFO L272 TraceCheckUtils]: 90: Hoare triple {22894#(and (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))) (= (* (div (* (- 2) main_~p~0) (- 2)) main_~B~0) main_~d~0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:22:30,277 INFO L290 TraceCheckUtils]: 91: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:22:30,277 INFO L290 TraceCheckUtils]: 92: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:22:30,277 INFO L290 TraceCheckUtils]: 93: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:22:30,277 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {22623#true} {22894#(and (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))) (= (* (div (* (- 2) main_~p~0) (- 2)) main_~B~0) main_~d~0))} #84#return; {22894#(and (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))) (= (* (div (* (- 2) main_~p~0) (- 2)) main_~B~0) main_~d~0))} is VALID [2022-04-28 13:22:30,278 INFO L272 TraceCheckUtils]: 95: Hoare triple {22894#(and (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))) (= (* (div (* (- 2) main_~p~0) (- 2)) main_~B~0) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22922#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:22:30,278 INFO L290 TraceCheckUtils]: 96: Hoare triple {22922#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22926#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:22:30,279 INFO L290 TraceCheckUtils]: 97: Hoare triple {22926#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22624#false} is VALID [2022-04-28 13:22:30,279 INFO L290 TraceCheckUtils]: 98: Hoare triple {22624#false} assume !false; {22624#false} is VALID [2022-04-28 13:22:30,279 INFO L134 CoverageAnalysis]: Checked inductivity of 424 backedges. 106 proven. 53 refuted. 0 times theorem prover too weak. 265 trivial. 0 not checked. [2022-04-28 13:22:30,280 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:25:21,716 INFO L290 TraceCheckUtils]: 98: Hoare triple {22624#false} assume !false; {22624#false} is VALID [2022-04-28 13:25:21,717 INFO L290 TraceCheckUtils]: 97: Hoare triple {22926#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22624#false} is VALID [2022-04-28 13:25:21,717 INFO L290 TraceCheckUtils]: 96: Hoare triple {22922#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22926#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:25:21,717 INFO L272 TraceCheckUtils]: 95: Hoare triple {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22922#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:25:21,718 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {22623#true} {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} #84#return; {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:25:21,718 INFO L290 TraceCheckUtils]: 93: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:25:21,718 INFO L290 TraceCheckUtils]: 92: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:25:21,718 INFO L290 TraceCheckUtils]: 91: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:25:21,718 INFO L272 TraceCheckUtils]: 90: Hoare triple {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:25:21,719 INFO L290 TraceCheckUtils]: 89: Hoare triple {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(#t~post6 < 20);havoc #t~post6; {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:25:21,719 INFO L290 TraceCheckUtils]: 88: Hoare triple {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:25:21,719 INFO L290 TraceCheckUtils]: 87: Hoare triple {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:25:21,732 INFO L290 TraceCheckUtils]: 86: Hoare triple {22969#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 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); {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:25:21,744 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} {22973#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #86#return; {22969#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-28 13:25:21,745 INFO L290 TraceCheckUtils]: 84: Hoare triple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:25:21,745 INFO L290 TraceCheckUtils]: 83: Hoare triple {22983#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:25:21,745 INFO L290 TraceCheckUtils]: 82: Hoare triple {22623#true} ~cond := #in~cond; {22983#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:25:21,745 INFO L272 TraceCheckUtils]: 81: Hoare triple {22973#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:25:21,746 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {22623#true} {22973#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #84#return; {22973#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 13:25:21,746 INFO L290 TraceCheckUtils]: 79: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:25:21,746 INFO L290 TraceCheckUtils]: 78: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:25:21,746 INFO L290 TraceCheckUtils]: 77: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:25:21,746 INFO L272 TraceCheckUtils]: 76: Hoare triple {22973#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:25:21,747 INFO L290 TraceCheckUtils]: 75: Hoare triple {22973#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {22973#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 13:25:21,749 INFO L290 TraceCheckUtils]: 74: Hoare triple {22973#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22973#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 13:25:21,750 INFO L290 TraceCheckUtils]: 73: Hoare triple {22973#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {22973#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 13:25:22,010 INFO L290 TraceCheckUtils]: 72: Hoare triple {23014#(and (or (not (< main_~p~0 0)) (and (or (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (* main_~B~0 (+ (div main_~p~0 2) 1)) 2)) (and (< (+ main_~B~0 (* main_~B~0 (div main_~p~0 2))) 0) (not (= (mod (* main_~B~0 (+ (div main_~p~0 2) 1)) 2) 0)))) (or (= (+ (div (* main_~B~0 (+ (div main_~p~0 2) 1)) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (not (< (+ main_~B~0 (* main_~B~0 (div main_~p~0 2))) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (or (not (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~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); {22973#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 13:25:22,047 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} {23018#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #86#return; {23014#(and (or (not (< main_~p~0 0)) (and (or (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (* main_~B~0 (+ (div main_~p~0 2) 1)) 2)) (and (< (+ main_~B~0 (* main_~B~0 (div main_~p~0 2))) 0) (not (= (mod (* main_~B~0 (+ (div main_~p~0 2) 1)) 2) 0)))) (or (= (+ (div (* main_~B~0 (+ (div main_~p~0 2) 1)) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (not (< (+ main_~B~0 (* main_~B~0 (div main_~p~0 2))) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (or (not (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-28 13:25:22,048 INFO L290 TraceCheckUtils]: 70: Hoare triple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:25:22,048 INFO L290 TraceCheckUtils]: 69: Hoare triple {22983#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:25:22,048 INFO L290 TraceCheckUtils]: 68: Hoare triple {22623#true} ~cond := #in~cond; {22983#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:25:22,048 INFO L272 TraceCheckUtils]: 67: Hoare triple {23018#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:25:22,049 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {22623#true} {23018#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #84#return; {23018#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 13:25:22,049 INFO L290 TraceCheckUtils]: 65: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:25:22,049 INFO L290 TraceCheckUtils]: 64: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:25:22,049 INFO L290 TraceCheckUtils]: 63: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:25:22,049 INFO L272 TraceCheckUtils]: 62: Hoare triple {23018#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:25:22,051 INFO L290 TraceCheckUtils]: 61: Hoare triple {23018#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {23018#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 13:25:22,052 INFO L290 TraceCheckUtils]: 60: Hoare triple {23018#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23018#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 13:25:22,053 INFO L290 TraceCheckUtils]: 59: Hoare triple {23055#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {23018#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 13:25:22,054 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {22623#true} {23055#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} #82#return; {23055#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:25:22,054 INFO L290 TraceCheckUtils]: 57: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:25:22,054 INFO L290 TraceCheckUtils]: 56: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:25:22,054 INFO L290 TraceCheckUtils]: 55: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:25:22,054 INFO L272 TraceCheckUtils]: 54: Hoare triple {23055#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:25:22,055 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {22623#true} {23055#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} #80#return; {23055#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:25:22,055 INFO L290 TraceCheckUtils]: 52: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:25:22,055 INFO L290 TraceCheckUtils]: 51: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:25:22,055 INFO L290 TraceCheckUtils]: 50: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:25:22,055 INFO L272 TraceCheckUtils]: 49: Hoare triple {23055#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:25:22,055 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {22623#true} {23055#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} #78#return; {23055#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:25:22,056 INFO L290 TraceCheckUtils]: 47: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:25:22,056 INFO L290 TraceCheckUtils]: 46: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:25:22,056 INFO L290 TraceCheckUtils]: 45: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:25:22,056 INFO L272 TraceCheckUtils]: 44: Hoare triple {23055#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:25:22,057 INFO L290 TraceCheckUtils]: 43: Hoare triple {23055#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} assume !!(#t~post5 < 20);havoc #t~post5; {23055#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:25:22,058 INFO L290 TraceCheckUtils]: 42: Hoare triple {23055#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {23055#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:25:22,125 INFO L290 TraceCheckUtils]: 41: Hoare triple {23110#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {23055#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:25:22,126 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {22623#true} {23110#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} #82#return; {23110#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} is VALID [2022-04-28 13:25:22,126 INFO L290 TraceCheckUtils]: 39: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:25:22,126 INFO L290 TraceCheckUtils]: 38: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:25:22,126 INFO L290 TraceCheckUtils]: 37: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:25:22,126 INFO L272 TraceCheckUtils]: 36: Hoare triple {23110#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:25:22,127 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {22623#true} {23110#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} #80#return; {23110#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} is VALID [2022-04-28 13:25:22,127 INFO L290 TraceCheckUtils]: 34: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:25:22,127 INFO L290 TraceCheckUtils]: 33: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:25:22,127 INFO L290 TraceCheckUtils]: 32: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:25:22,127 INFO L272 TraceCheckUtils]: 31: Hoare triple {23110#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:25:22,127 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {22623#true} {23110#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} #78#return; {23110#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} is VALID [2022-04-28 13:25:22,127 INFO L290 TraceCheckUtils]: 29: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:25:22,128 INFO L290 TraceCheckUtils]: 28: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:25:22,128 INFO L290 TraceCheckUtils]: 27: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:25:22,128 INFO L272 TraceCheckUtils]: 26: Hoare triple {23110#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:25:22,129 INFO L290 TraceCheckUtils]: 25: Hoare triple {23110#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} assume !!(#t~post5 < 20);havoc #t~post5; {23110#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} is VALID [2022-04-28 13:25:22,130 INFO L290 TraceCheckUtils]: 24: Hoare triple {23110#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {23110#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} is VALID [2022-04-28 13:25:22,132 INFO L290 TraceCheckUtils]: 23: Hoare triple {22623#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {23110#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} is VALID [2022-04-28 13:25:22,132 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {22623#true} {22623#true} #82#return; {22623#true} is VALID [2022-04-28 13:25:22,132 INFO L290 TraceCheckUtils]: 21: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:25:22,132 INFO L290 TraceCheckUtils]: 20: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:25:22,132 INFO L290 TraceCheckUtils]: 19: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:25:22,133 INFO L272 TraceCheckUtils]: 18: Hoare triple {22623#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:25:22,133 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {22623#true} {22623#true} #80#return; {22623#true} is VALID [2022-04-28 13:25:22,133 INFO L290 TraceCheckUtils]: 16: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:25:22,133 INFO L290 TraceCheckUtils]: 15: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:25:22,133 INFO L290 TraceCheckUtils]: 14: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:25:22,133 INFO L272 TraceCheckUtils]: 13: Hoare triple {22623#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:25:22,133 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {22623#true} {22623#true} #78#return; {22623#true} is VALID [2022-04-28 13:25:22,133 INFO L290 TraceCheckUtils]: 11: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:25:22,133 INFO L290 TraceCheckUtils]: 10: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 13:25:22,133 INFO L290 TraceCheckUtils]: 9: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 13:25:22,133 INFO L272 TraceCheckUtils]: 8: Hoare triple {22623#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 13:25:22,133 INFO L290 TraceCheckUtils]: 7: Hoare triple {22623#true} assume !!(#t~post5 < 20);havoc #t~post5; {22623#true} is VALID [2022-04-28 13:25:22,133 INFO L290 TraceCheckUtils]: 6: Hoare triple {22623#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {22623#true} is VALID [2022-04-28 13:25:22,133 INFO L290 TraceCheckUtils]: 5: Hoare triple {22623#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; {22623#true} is VALID [2022-04-28 13:25:22,134 INFO L272 TraceCheckUtils]: 4: Hoare triple {22623#true} call #t~ret7 := main(); {22623#true} is VALID [2022-04-28 13:25:22,134 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22623#true} {22623#true} #92#return; {22623#true} is VALID [2022-04-28 13:25:22,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 13:25:22,134 INFO L290 TraceCheckUtils]: 1: Hoare triple {22623#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {22623#true} is VALID [2022-04-28 13:25:22,134 INFO L272 TraceCheckUtils]: 0: Hoare triple {22623#true} call ULTIMATE.init(); {22623#true} is VALID [2022-04-28 13:25:22,134 INFO L134 CoverageAnalysis]: Checked inductivity of 424 backedges. 101 proven. 31 refuted. 0 times theorem prover too weak. 292 trivial. 0 not checked. [2022-04-28 13:25:22,135 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:25:22,135 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [16904443] [2022-04-28 13:25:22,135 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:25:22,135 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [282641216] [2022-04-28 13:25:22,135 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [282641216] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:25:22,135 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:25:22,135 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 20 [2022-04-28 13:25:22,135 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:25:22,135 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [564923579] [2022-04-28 13:25:22,135 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [564923579] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:25:22,135 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:25:22,135 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 13:25:22,135 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1003738549] [2022-04-28 13:25:22,136 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:25:22,136 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) Word has length 99 [2022-04-28 13:25:22,136 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:25:22,136 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 13:25:26,511 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 62 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:25:26,511 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 13:25:26,511 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:25:26,512 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 13:25:26,512 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=82, Invalid=294, Unknown=4, NotChecked=0, Total=380 [2022-04-28 13:25:26,512 INFO L87 Difference]: Start difference. First operand 238 states and 277 transitions. Second operand has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 13:25:44,110 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-28 13:25:48,050 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.89s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 13:25:50,074 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-28 13:25:52,022 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.81s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 13:25:55,695 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.30s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 13:26:06,759 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-28 13:26:11,554 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.46s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 13:26:37,472 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.45s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 13:26:41,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:26:41,810 INFO L93 Difference]: Finished difference Result 269 states and 325 transitions. [2022-04-28 13:26:41,810 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 13:26:41,810 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) Word has length 99 [2022-04-28 13:26:41,810 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:26:41,810 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 13:26:41,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 121 transitions. [2022-04-28 13:26:41,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 13:26:41,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 121 transitions. [2022-04-28 13:26:41,813 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 121 transitions. [2022-04-28 13:26:57,391 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 116 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 13:26:57,395 INFO L225 Difference]: With dead ends: 269 [2022-04-28 13:26:57,395 INFO L226 Difference]: Without dead ends: 267 [2022-04-28 13:26:57,395 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 199 GetRequests, 177 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 136 ImplicationChecksByTransitivity, 44.4s TimeCoverageRelationStatistics Valid=95, Invalid=363, Unknown=4, NotChecked=0, Total=462 [2022-04-28 13:26:57,396 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 39 mSDsluCounter, 206 mSDsCounter, 0 mSdLazyCounter, 272 mSolverCounterSat, 19 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 25.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 255 SdHoareTripleChecker+Invalid, 459 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 272 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 165 IncrementalHoareTripleChecker+Unchecked, 25.8s IncrementalHoareTripleChecker+Time [2022-04-28 13:26:57,396 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [49 Valid, 255 Invalid, 459 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 272 Invalid, 3 Unknown, 165 Unchecked, 25.8s Time] [2022-04-28 13:26:57,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 267 states. [2022-04-28 13:26:57,693 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 267 to 254. [2022-04-28 13:26:57,693 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:26:57,693 INFO L82 GeneralOperation]: Start isEquivalent. First operand 267 states. Second operand has 254 states, 168 states have (on average 1.1607142857142858) internal successors, (195), 174 states have internal predecessors, (195), 54 states have call successors, (54), 32 states have call predecessors, (54), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 13:26:57,694 INFO L74 IsIncluded]: Start isIncluded. First operand 267 states. Second operand has 254 states, 168 states have (on average 1.1607142857142858) internal successors, (195), 174 states have internal predecessors, (195), 54 states have call successors, (54), 32 states have call predecessors, (54), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 13:26:57,694 INFO L87 Difference]: Start difference. First operand 267 states. Second operand has 254 states, 168 states have (on average 1.1607142857142858) internal successors, (195), 174 states have internal predecessors, (195), 54 states have call successors, (54), 32 states have call predecessors, (54), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 13:26:57,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:26:57,698 INFO L93 Difference]: Finished difference Result 267 states and 323 transitions. [2022-04-28 13:26:57,698 INFO L276 IsEmpty]: Start isEmpty. Operand 267 states and 323 transitions. [2022-04-28 13:26:57,699 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:26:57,699 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:26:57,699 INFO L74 IsIncluded]: Start isIncluded. First operand has 254 states, 168 states have (on average 1.1607142857142858) internal successors, (195), 174 states have internal predecessors, (195), 54 states have call successors, (54), 32 states have call predecessors, (54), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) Second operand 267 states. [2022-04-28 13:26:57,699 INFO L87 Difference]: Start difference. First operand has 254 states, 168 states have (on average 1.1607142857142858) internal successors, (195), 174 states have internal predecessors, (195), 54 states have call successors, (54), 32 states have call predecessors, (54), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) Second operand 267 states. [2022-04-28 13:26:57,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:26:57,703 INFO L93 Difference]: Finished difference Result 267 states and 323 transitions. [2022-04-28 13:26:57,704 INFO L276 IsEmpty]: Start isEmpty. Operand 267 states and 323 transitions. [2022-04-28 13:26:57,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:26:57,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:26:57,704 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:26:57,704 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:26:57,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 254 states, 168 states have (on average 1.1607142857142858) internal successors, (195), 174 states have internal predecessors, (195), 54 states have call successors, (54), 32 states have call predecessors, (54), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 13:26:57,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 254 states to 254 states and 301 transitions. [2022-04-28 13:26:57,709 INFO L78 Accepts]: Start accepts. Automaton has 254 states and 301 transitions. Word has length 99 [2022-04-28 13:26:57,709 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:26:57,709 INFO L495 AbstractCegarLoop]: Abstraction has 254 states and 301 transitions. [2022-04-28 13:26:57,710 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 13:26:57,710 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 254 states and 301 transitions. [2022-04-28 13:26:58,307 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 301 edges. 301 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:26:58,307 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 301 transitions. [2022-04-28 13:26:58,311 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-28 13:26:58,311 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:26:58,312 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 3, 3, 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] [2022-04-28 13:26:58,339 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-28 13:26:58,528 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:26:58,528 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:26:58,528 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:26:58,529 INFO L85 PathProgramCache]: Analyzing trace with hash 1358295611, now seen corresponding path program 5 times [2022-04-28 13:26:58,529 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:26:58,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [182973724] [2022-04-28 13:27:02,607 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:27:02,607 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:27:02,607 INFO L85 PathProgramCache]: Analyzing trace with hash 1358295611, now seen corresponding path program 6 times [2022-04-28 13:27:02,607 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:27:02,607 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1210513049] [2022-04-28 13:27:02,607 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:27:02,607 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:27:02,617 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:27:02,617 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1692856209] [2022-04-28 13:27:02,617 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:27:02,617 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:27:02,618 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:27:02,618 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:27:02,638 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 13:27:02,677 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 13:27:02,677 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:27:02,678 INFO L263 TraceCheckSpWp]: Trace formula consists of 217 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 13:27:02,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:27:02,693 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:27:02,962 INFO L272 TraceCheckUtils]: 0: Hoare triple {24820#true} call ULTIMATE.init(); {24820#true} is VALID [2022-04-28 13:27:02,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {24820#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {24820#true} is VALID [2022-04-28 13:27:02,963 INFO L290 TraceCheckUtils]: 2: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:02,963 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24820#true} {24820#true} #92#return; {24820#true} is VALID [2022-04-28 13:27:02,963 INFO L272 TraceCheckUtils]: 4: Hoare triple {24820#true} call #t~ret7 := main(); {24820#true} is VALID [2022-04-28 13:27:02,963 INFO L290 TraceCheckUtils]: 5: Hoare triple {24820#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; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,963 INFO L290 TraceCheckUtils]: 6: Hoare triple {24840#(= main_~B~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,964 INFO L290 TraceCheckUtils]: 7: Hoare triple {24840#(= main_~B~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,964 INFO L272 TraceCheckUtils]: 8: Hoare triple {24840#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:02,964 INFO L290 TraceCheckUtils]: 9: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:02,964 INFO L290 TraceCheckUtils]: 10: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:02,964 INFO L290 TraceCheckUtils]: 11: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:02,964 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {24820#true} {24840#(= main_~B~0 1)} #78#return; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,964 INFO L272 TraceCheckUtils]: 13: Hoare triple {24840#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:02,964 INFO L290 TraceCheckUtils]: 14: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:02,964 INFO L290 TraceCheckUtils]: 15: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:02,964 INFO L290 TraceCheckUtils]: 16: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:02,965 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {24820#true} {24840#(= main_~B~0 1)} #80#return; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,965 INFO L272 TraceCheckUtils]: 18: Hoare triple {24840#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:02,965 INFO L290 TraceCheckUtils]: 19: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:02,965 INFO L290 TraceCheckUtils]: 20: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:02,965 INFO L290 TraceCheckUtils]: 21: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:02,966 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {24820#true} {24840#(= main_~B~0 1)} #82#return; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,966 INFO L290 TraceCheckUtils]: 23: Hoare triple {24840#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,966 INFO L290 TraceCheckUtils]: 24: Hoare triple {24840#(= main_~B~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,966 INFO L290 TraceCheckUtils]: 25: Hoare triple {24840#(= main_~B~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,966 INFO L272 TraceCheckUtils]: 26: Hoare triple {24840#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:02,966 INFO L290 TraceCheckUtils]: 27: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:02,967 INFO L290 TraceCheckUtils]: 28: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:02,967 INFO L290 TraceCheckUtils]: 29: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:02,967 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {24820#true} {24840#(= main_~B~0 1)} #78#return; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,967 INFO L272 TraceCheckUtils]: 31: Hoare triple {24840#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:02,967 INFO L290 TraceCheckUtils]: 32: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:02,967 INFO L290 TraceCheckUtils]: 33: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:02,967 INFO L290 TraceCheckUtils]: 34: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:02,968 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {24820#true} {24840#(= main_~B~0 1)} #80#return; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,968 INFO L272 TraceCheckUtils]: 36: Hoare triple {24840#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:02,968 INFO L290 TraceCheckUtils]: 37: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:02,968 INFO L290 TraceCheckUtils]: 38: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:02,968 INFO L290 TraceCheckUtils]: 39: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:02,968 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {24820#true} {24840#(= main_~B~0 1)} #82#return; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,969 INFO L290 TraceCheckUtils]: 41: Hoare triple {24840#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,969 INFO L290 TraceCheckUtils]: 42: Hoare triple {24840#(= main_~B~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,969 INFO L290 TraceCheckUtils]: 43: Hoare triple {24840#(= main_~B~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,969 INFO L272 TraceCheckUtils]: 44: Hoare triple {24840#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:02,969 INFO L290 TraceCheckUtils]: 45: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:02,969 INFO L290 TraceCheckUtils]: 46: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:02,969 INFO L290 TraceCheckUtils]: 47: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:02,970 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {24820#true} {24840#(= main_~B~0 1)} #78#return; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,970 INFO L272 TraceCheckUtils]: 49: Hoare triple {24840#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:02,970 INFO L290 TraceCheckUtils]: 50: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:02,970 INFO L290 TraceCheckUtils]: 51: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:02,970 INFO L290 TraceCheckUtils]: 52: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:02,970 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {24820#true} {24840#(= main_~B~0 1)} #80#return; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,970 INFO L272 TraceCheckUtils]: 54: Hoare triple {24840#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:02,971 INFO L290 TraceCheckUtils]: 55: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:02,971 INFO L290 TraceCheckUtils]: 56: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:02,971 INFO L290 TraceCheckUtils]: 57: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:02,971 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {24820#true} {24840#(= main_~B~0 1)} #82#return; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,971 INFO L290 TraceCheckUtils]: 59: Hoare triple {24840#(= main_~B~0 1)} assume !(~r~0 >= ~d~0); {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,972 INFO L290 TraceCheckUtils]: 60: Hoare triple {24840#(= main_~B~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,972 INFO L290 TraceCheckUtils]: 61: Hoare triple {24840#(= main_~B~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,972 INFO L272 TraceCheckUtils]: 62: Hoare triple {24840#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:02,972 INFO L290 TraceCheckUtils]: 63: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:02,972 INFO L290 TraceCheckUtils]: 64: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:02,972 INFO L290 TraceCheckUtils]: 65: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:02,972 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {24820#true} {24840#(= main_~B~0 1)} #84#return; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,973 INFO L272 TraceCheckUtils]: 67: Hoare triple {24840#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:02,973 INFO L290 TraceCheckUtils]: 68: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:02,973 INFO L290 TraceCheckUtils]: 69: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:02,973 INFO L290 TraceCheckUtils]: 70: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:02,973 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {24820#true} {24840#(= main_~B~0 1)} #86#return; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,973 INFO L290 TraceCheckUtils]: 72: Hoare triple {24840#(= 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); {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,974 INFO L290 TraceCheckUtils]: 73: Hoare triple {24840#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,974 INFO L290 TraceCheckUtils]: 74: Hoare triple {24840#(= main_~B~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,974 INFO L290 TraceCheckUtils]: 75: Hoare triple {24840#(= main_~B~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,974 INFO L272 TraceCheckUtils]: 76: Hoare triple {24840#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:02,974 INFO L290 TraceCheckUtils]: 77: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:02,974 INFO L290 TraceCheckUtils]: 78: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:02,974 INFO L290 TraceCheckUtils]: 79: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:02,975 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {24820#true} {24840#(= main_~B~0 1)} #84#return; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,975 INFO L272 TraceCheckUtils]: 81: Hoare triple {24840#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:02,975 INFO L290 TraceCheckUtils]: 82: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:02,975 INFO L290 TraceCheckUtils]: 83: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:02,975 INFO L290 TraceCheckUtils]: 84: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:02,976 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {24820#true} {24840#(= main_~B~0 1)} #86#return; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,976 INFO L290 TraceCheckUtils]: 86: Hoare triple {24840#(= 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); {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,976 INFO L290 TraceCheckUtils]: 87: Hoare triple {24840#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,976 INFO L290 TraceCheckUtils]: 88: Hoare triple {24840#(= main_~B~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,977 INFO L290 TraceCheckUtils]: 89: Hoare triple {24840#(= main_~B~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {24840#(= main_~B~0 1)} is VALID [2022-04-28 13:27:02,977 INFO L272 TraceCheckUtils]: 90: Hoare triple {24840#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:02,977 INFO L290 TraceCheckUtils]: 91: Hoare triple {24820#true} ~cond := #in~cond; {25099#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:27:02,977 INFO L290 TraceCheckUtils]: 92: Hoare triple {25099#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:27:02,977 INFO L290 TraceCheckUtils]: 93: Hoare triple {25103#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:27:02,978 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {25103#(not (= |__VERIFIER_assert_#in~cond| 0))} {24840#(= main_~B~0 1)} #84#return; {25110#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-28 13:27:02,978 INFO L272 TraceCheckUtils]: 95: Hoare triple {25110#(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)); {24820#true} is VALID [2022-04-28 13:27:02,978 INFO L290 TraceCheckUtils]: 96: Hoare triple {24820#true} ~cond := #in~cond; {25099#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:27:02,979 INFO L290 TraceCheckUtils]: 97: Hoare triple {25099#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:27:02,979 INFO L290 TraceCheckUtils]: 98: Hoare triple {25103#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:27:02,980 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {25103#(not (= |__VERIFIER_assert_#in~cond| 0))} {25110#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} #86#return; {25126#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 main_~p~0))} is VALID [2022-04-28 13:27:02,980 INFO L290 TraceCheckUtils]: 100: Hoare triple {25126#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 main_~p~0))} assume !(1 != ~p~0); {25130#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1))} is VALID [2022-04-28 13:27:02,981 INFO L272 TraceCheckUtils]: 101: Hoare triple {25130#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {25134#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:27:02,981 INFO L290 TraceCheckUtils]: 102: Hoare triple {25134#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25138#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:27:02,982 INFO L290 TraceCheckUtils]: 103: Hoare triple {25138#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {24821#false} is VALID [2022-04-28 13:27:02,982 INFO L290 TraceCheckUtils]: 104: Hoare triple {24821#false} assume !false; {24821#false} is VALID [2022-04-28 13:27:02,982 INFO L134 CoverageAnalysis]: Checked inductivity of 484 backedges. 108 proven. 4 refuted. 0 times theorem prover too weak. 372 trivial. 0 not checked. [2022-04-28 13:27:02,982 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:27:40,404 INFO L290 TraceCheckUtils]: 104: Hoare triple {24821#false} assume !false; {24821#false} is VALID [2022-04-28 13:27:40,404 INFO L290 TraceCheckUtils]: 103: Hoare triple {25138#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {24821#false} is VALID [2022-04-28 13:27:40,405 INFO L290 TraceCheckUtils]: 102: Hoare triple {25134#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25138#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:27:40,406 INFO L272 TraceCheckUtils]: 101: Hoare triple {25154#(= (+ (* 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)); {25134#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:27:40,406 INFO L290 TraceCheckUtils]: 100: Hoare triple {25158#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {25154#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:27:40,408 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {25103#(not (= |__VERIFIER_assert_#in~cond| 0))} {25162#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #86#return; {25158#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-28 13:27:40,408 INFO L290 TraceCheckUtils]: 98: Hoare triple {25103#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:27:40,409 INFO L290 TraceCheckUtils]: 97: Hoare triple {25172#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {25103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:27:40,409 INFO L290 TraceCheckUtils]: 96: Hoare triple {24820#true} ~cond := #in~cond; {25172#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:27:40,409 INFO L272 TraceCheckUtils]: 95: Hoare triple {25162#(= (+ (* 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)); {24820#true} is VALID [2022-04-28 13:27:40,410 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {25103#(not (= |__VERIFIER_assert_#in~cond| 0))} {24820#true} #84#return; {25162#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:27:40,410 INFO L290 TraceCheckUtils]: 93: Hoare triple {25103#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:27:40,410 INFO L290 TraceCheckUtils]: 92: Hoare triple {25172#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {25103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:27:40,411 INFO L290 TraceCheckUtils]: 91: Hoare triple {24820#true} ~cond := #in~cond; {25172#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:27:40,411 INFO L272 TraceCheckUtils]: 90: Hoare triple {24820#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:40,411 INFO L290 TraceCheckUtils]: 89: Hoare triple {24820#true} assume !!(#t~post6 < 20);havoc #t~post6; {24820#true} is VALID [2022-04-28 13:27:40,411 INFO L290 TraceCheckUtils]: 88: Hoare triple {24820#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24820#true} is VALID [2022-04-28 13:27:40,411 INFO L290 TraceCheckUtils]: 87: Hoare triple {24820#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {24820#true} is VALID [2022-04-28 13:27:40,411 INFO L290 TraceCheckUtils]: 86: Hoare triple {24820#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); {24820#true} is VALID [2022-04-28 13:27:40,411 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {24820#true} {24820#true} #86#return; {24820#true} is VALID [2022-04-28 13:27:40,411 INFO L290 TraceCheckUtils]: 84: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:40,411 INFO L290 TraceCheckUtils]: 83: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:40,411 INFO L290 TraceCheckUtils]: 82: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:40,411 INFO L272 TraceCheckUtils]: 81: Hoare triple {24820#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:40,412 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {24820#true} {24820#true} #84#return; {24820#true} is VALID [2022-04-28 13:27:40,412 INFO L290 TraceCheckUtils]: 79: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:40,412 INFO L290 TraceCheckUtils]: 78: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:40,412 INFO L290 TraceCheckUtils]: 77: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:40,412 INFO L272 TraceCheckUtils]: 76: Hoare triple {24820#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:40,412 INFO L290 TraceCheckUtils]: 75: Hoare triple {24820#true} assume !!(#t~post6 < 20);havoc #t~post6; {24820#true} is VALID [2022-04-28 13:27:40,412 INFO L290 TraceCheckUtils]: 74: Hoare triple {24820#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24820#true} is VALID [2022-04-28 13:27:40,412 INFO L290 TraceCheckUtils]: 73: Hoare triple {24820#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {24820#true} is VALID [2022-04-28 13:27:40,412 INFO L290 TraceCheckUtils]: 72: Hoare triple {24820#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); {24820#true} is VALID [2022-04-28 13:27:40,412 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {24820#true} {24820#true} #86#return; {24820#true} is VALID [2022-04-28 13:27:40,412 INFO L290 TraceCheckUtils]: 70: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:40,412 INFO L290 TraceCheckUtils]: 69: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:40,412 INFO L290 TraceCheckUtils]: 68: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:40,412 INFO L272 TraceCheckUtils]: 67: Hoare triple {24820#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:40,412 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {24820#true} {24820#true} #84#return; {24820#true} is VALID [2022-04-28 13:27:40,413 INFO L290 TraceCheckUtils]: 65: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:40,413 INFO L290 TraceCheckUtils]: 64: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:40,413 INFO L290 TraceCheckUtils]: 63: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:40,413 INFO L272 TraceCheckUtils]: 62: Hoare triple {24820#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:40,413 INFO L290 TraceCheckUtils]: 61: Hoare triple {24820#true} assume !!(#t~post6 < 20);havoc #t~post6; {24820#true} is VALID [2022-04-28 13:27:40,413 INFO L290 TraceCheckUtils]: 60: Hoare triple {24820#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24820#true} is VALID [2022-04-28 13:27:40,413 INFO L290 TraceCheckUtils]: 59: Hoare triple {24820#true} assume !(~r~0 >= ~d~0); {24820#true} is VALID [2022-04-28 13:27:40,413 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {24820#true} {24820#true} #82#return; {24820#true} is VALID [2022-04-28 13:27:40,413 INFO L290 TraceCheckUtils]: 57: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:40,413 INFO L290 TraceCheckUtils]: 56: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:40,413 INFO L290 TraceCheckUtils]: 55: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:40,413 INFO L272 TraceCheckUtils]: 54: Hoare triple {24820#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:40,413 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {24820#true} {24820#true} #80#return; {24820#true} is VALID [2022-04-28 13:27:40,413 INFO L290 TraceCheckUtils]: 52: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:40,413 INFO L290 TraceCheckUtils]: 51: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:40,414 INFO L290 TraceCheckUtils]: 50: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:40,414 INFO L272 TraceCheckUtils]: 49: Hoare triple {24820#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:40,414 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {24820#true} {24820#true} #78#return; {24820#true} is VALID [2022-04-28 13:27:40,414 INFO L290 TraceCheckUtils]: 47: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:40,414 INFO L290 TraceCheckUtils]: 46: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:40,414 INFO L290 TraceCheckUtils]: 45: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:40,414 INFO L272 TraceCheckUtils]: 44: Hoare triple {24820#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:40,414 INFO L290 TraceCheckUtils]: 43: Hoare triple {24820#true} assume !!(#t~post5 < 20);havoc #t~post5; {24820#true} is VALID [2022-04-28 13:27:40,414 INFO L290 TraceCheckUtils]: 42: Hoare triple {24820#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {24820#true} is VALID [2022-04-28 13:27:40,414 INFO L290 TraceCheckUtils]: 41: Hoare triple {24820#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {24820#true} is VALID [2022-04-28 13:27:40,414 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {24820#true} {24820#true} #82#return; {24820#true} is VALID [2022-04-28 13:27:40,414 INFO L290 TraceCheckUtils]: 39: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:40,414 INFO L290 TraceCheckUtils]: 38: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:40,414 INFO L290 TraceCheckUtils]: 37: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:40,415 INFO L272 TraceCheckUtils]: 36: Hoare triple {24820#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:40,415 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {24820#true} {24820#true} #80#return; {24820#true} is VALID [2022-04-28 13:27:40,415 INFO L290 TraceCheckUtils]: 34: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:40,415 INFO L290 TraceCheckUtils]: 33: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:40,415 INFO L290 TraceCheckUtils]: 32: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:40,415 INFO L272 TraceCheckUtils]: 31: Hoare triple {24820#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:40,415 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {24820#true} {24820#true} #78#return; {24820#true} is VALID [2022-04-28 13:27:40,415 INFO L290 TraceCheckUtils]: 29: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:40,415 INFO L290 TraceCheckUtils]: 28: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:40,415 INFO L290 TraceCheckUtils]: 27: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:40,415 INFO L272 TraceCheckUtils]: 26: Hoare triple {24820#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:40,415 INFO L290 TraceCheckUtils]: 25: Hoare triple {24820#true} assume !!(#t~post5 < 20);havoc #t~post5; {24820#true} is VALID [2022-04-28 13:27:40,415 INFO L290 TraceCheckUtils]: 24: Hoare triple {24820#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {24820#true} is VALID [2022-04-28 13:27:40,415 INFO L290 TraceCheckUtils]: 23: Hoare triple {24820#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {24820#true} is VALID [2022-04-28 13:27:40,415 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {24820#true} {24820#true} #82#return; {24820#true} is VALID [2022-04-28 13:27:40,416 INFO L290 TraceCheckUtils]: 21: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:40,416 INFO L290 TraceCheckUtils]: 20: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:40,416 INFO L290 TraceCheckUtils]: 19: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:40,416 INFO L272 TraceCheckUtils]: 18: Hoare triple {24820#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:40,416 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {24820#true} {24820#true} #80#return; {24820#true} is VALID [2022-04-28 13:27:40,416 INFO L290 TraceCheckUtils]: 16: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:40,416 INFO L290 TraceCheckUtils]: 15: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:40,416 INFO L290 TraceCheckUtils]: 14: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:40,416 INFO L272 TraceCheckUtils]: 13: Hoare triple {24820#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:40,416 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {24820#true} {24820#true} #78#return; {24820#true} is VALID [2022-04-28 13:27:40,416 INFO L290 TraceCheckUtils]: 11: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:40,416 INFO L290 TraceCheckUtils]: 10: Hoare triple {24820#true} assume !(0 == ~cond); {24820#true} is VALID [2022-04-28 13:27:40,416 INFO L290 TraceCheckUtils]: 9: Hoare triple {24820#true} ~cond := #in~cond; {24820#true} is VALID [2022-04-28 13:27:40,416 INFO L272 TraceCheckUtils]: 8: Hoare triple {24820#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {24820#true} is VALID [2022-04-28 13:27:40,416 INFO L290 TraceCheckUtils]: 7: Hoare triple {24820#true} assume !!(#t~post5 < 20);havoc #t~post5; {24820#true} is VALID [2022-04-28 13:27:40,417 INFO L290 TraceCheckUtils]: 6: Hoare triple {24820#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {24820#true} is VALID [2022-04-28 13:27:40,417 INFO L290 TraceCheckUtils]: 5: Hoare triple {24820#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; {24820#true} is VALID [2022-04-28 13:27:40,417 INFO L272 TraceCheckUtils]: 4: Hoare triple {24820#true} call #t~ret7 := main(); {24820#true} is VALID [2022-04-28 13:27:40,417 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24820#true} {24820#true} #92#return; {24820#true} is VALID [2022-04-28 13:27:40,417 INFO L290 TraceCheckUtils]: 2: Hoare triple {24820#true} assume true; {24820#true} is VALID [2022-04-28 13:27:40,417 INFO L290 TraceCheckUtils]: 1: Hoare triple {24820#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {24820#true} is VALID [2022-04-28 13:27:40,417 INFO L272 TraceCheckUtils]: 0: Hoare triple {24820#true} call ULTIMATE.init(); {24820#true} is VALID [2022-04-28 13:27:40,417 INFO L134 CoverageAnalysis]: Checked inductivity of 484 backedges. 110 proven. 2 refuted. 0 times theorem prover too weak. 372 trivial. 0 not checked. [2022-04-28 13:27:40,417 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:27:40,417 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1210513049] [2022-04-28 13:27:40,417 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:27:40,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1692856209] [2022-04-28 13:27:40,418 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1692856209] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:27:40,418 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:27:40,418 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-28 13:27:40,418 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:27:40,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [182973724] [2022-04-28 13:27:40,418 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [182973724] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:27:40,418 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:27:40,418 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 13:27:40,418 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [459662778] [2022-04-28 13:27:40,418 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:27:40,419 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 4 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 105 [2022-04-28 13:27:40,419 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:27:40,419 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 4 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-28 13:27:40,447 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-28 13:27:40,448 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 13:27:40,448 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:27:40,448 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 13:27:40,448 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=147, Unknown=0, NotChecked=0, Total=182 [2022-04-28 13:27:40,448 INFO L87 Difference]: Start difference. First operand 254 states and 301 transitions. Second operand has 10 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 4 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-28 13:27:41,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:27:41,364 INFO L93 Difference]: Finished difference Result 271 states and 317 transitions. [2022-04-28 13:27:41,364 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 13:27:41,364 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 4 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 105 [2022-04-28 13:27:41,364 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:27:41,364 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 4 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-28 13:27:41,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 53 transitions. [2022-04-28 13:27:41,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 4 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-28 13:27:41,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 53 transitions. [2022-04-28 13:27:41,366 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 53 transitions. [2022-04-28 13:27:41,418 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:27:41,422 INFO L225 Difference]: With dead ends: 271 [2022-04-28 13:27:41,422 INFO L226 Difference]: Without dead ends: 266 [2022-04-28 13:27:41,422 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 213 GetRequests, 196 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=65, Invalid=241, Unknown=0, NotChecked=0, Total=306 [2022-04-28 13:27:41,423 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 34 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 147 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 105 SdHoareTripleChecker+Invalid, 191 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 147 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 13:27:41,423 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [34 Valid, 105 Invalid, 191 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 147 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 13:27:41,423 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 266 states. [2022-04-28 13:27:41,749 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 266 to 249. [2022-04-28 13:27:41,749 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:27:41,750 INFO L82 GeneralOperation]: Start isEquivalent. First operand 266 states. Second operand has 249 states, 166 states have (on average 1.1204819277108433) internal successors, (186), 172 states have internal predecessors, (186), 49 states have call successors, (49), 34 states have call predecessors, (49), 33 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 13:27:41,750 INFO L74 IsIncluded]: Start isIncluded. First operand 266 states. Second operand has 249 states, 166 states have (on average 1.1204819277108433) internal successors, (186), 172 states have internal predecessors, (186), 49 states have call successors, (49), 34 states have call predecessors, (49), 33 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 13:27:41,750 INFO L87 Difference]: Start difference. First operand 266 states. Second operand has 249 states, 166 states have (on average 1.1204819277108433) internal successors, (186), 172 states have internal predecessors, (186), 49 states have call successors, (49), 34 states have call predecessors, (49), 33 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 13:27:41,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:27:41,754 INFO L93 Difference]: Finished difference Result 266 states and 306 transitions. [2022-04-28 13:27:41,754 INFO L276 IsEmpty]: Start isEmpty. Operand 266 states and 306 transitions. [2022-04-28 13:27:41,755 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:27:41,755 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:27:41,755 INFO L74 IsIncluded]: Start isIncluded. First operand has 249 states, 166 states have (on average 1.1204819277108433) internal successors, (186), 172 states have internal predecessors, (186), 49 states have call successors, (49), 34 states have call predecessors, (49), 33 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) Second operand 266 states. [2022-04-28 13:27:41,756 INFO L87 Difference]: Start difference. First operand has 249 states, 166 states have (on average 1.1204819277108433) internal successors, (186), 172 states have internal predecessors, (186), 49 states have call successors, (49), 34 states have call predecessors, (49), 33 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) Second operand 266 states. [2022-04-28 13:27:41,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:27:41,760 INFO L93 Difference]: Finished difference Result 266 states and 306 transitions. [2022-04-28 13:27:41,760 INFO L276 IsEmpty]: Start isEmpty. Operand 266 states and 306 transitions. [2022-04-28 13:27:41,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:27:41,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:27:41,760 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:27:41,760 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:27:41,761 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 249 states, 166 states have (on average 1.1204819277108433) internal successors, (186), 172 states have internal predecessors, (186), 49 states have call successors, (49), 34 states have call predecessors, (49), 33 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 13:27:41,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 249 states to 249 states and 282 transitions. [2022-04-28 13:27:41,766 INFO L78 Accepts]: Start accepts. Automaton has 249 states and 282 transitions. Word has length 105 [2022-04-28 13:27:41,766 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:27:41,766 INFO L495 AbstractCegarLoop]: Abstraction has 249 states and 282 transitions. [2022-04-28 13:27:41,766 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 4 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-28 13:27:41,766 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 249 states and 282 transitions. [2022-04-28 13:27:42,291 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 282 edges. 282 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:27:42,291 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 282 transitions. [2022-04-28 13:27:42,299 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2022-04-28 13:27:42,300 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:27:42,300 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:27:42,319 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-28 13:27:42,511 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable23 [2022-04-28 13:27:42,511 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:27:42,512 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:27:42,512 INFO L85 PathProgramCache]: Analyzing trace with hash 1894816690, now seen corresponding path program 7 times [2022-04-28 13:27:42,512 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:27:42,512 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1272623397] [2022-04-28 13:27:46,594 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:27:46,594 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:27:46,594 INFO L85 PathProgramCache]: Analyzing trace with hash 1894816690, now seen corresponding path program 8 times [2022-04-28 13:27:46,594 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:27:46,594 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [936208090] [2022-04-28 13:27:46,594 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:27:46,594 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:27:46,603 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:27:46,604 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [749694970] [2022-04-28 13:27:46,604 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:27:46,604 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:27:46,604 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:27:46,605 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:27:46,605 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 13:27:46,676 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:27:46,676 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:27:46,677 INFO L263 TraceCheckSpWp]: Trace formula consists of 281 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 13:27:46,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:27:46,695 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:27:47,113 INFO L272 TraceCheckUtils]: 0: Hoare triple {27043#true} call ULTIMATE.init(); {27043#true} is VALID [2022-04-28 13:27:47,114 INFO L290 TraceCheckUtils]: 1: Hoare triple {27043#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {27051#(<= ~counter~0 0)} is VALID [2022-04-28 13:27:47,114 INFO L290 TraceCheckUtils]: 2: Hoare triple {27051#(<= ~counter~0 0)} assume true; {27051#(<= ~counter~0 0)} is VALID [2022-04-28 13:27:47,115 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27051#(<= ~counter~0 0)} {27043#true} #92#return; {27051#(<= ~counter~0 0)} is VALID [2022-04-28 13:27:47,115 INFO L272 TraceCheckUtils]: 4: Hoare triple {27051#(<= ~counter~0 0)} call #t~ret7 := main(); {27051#(<= ~counter~0 0)} is VALID [2022-04-28 13:27:47,115 INFO L290 TraceCheckUtils]: 5: Hoare triple {27051#(<= ~counter~0 0)} 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; {27051#(<= ~counter~0 0)} is VALID [2022-04-28 13:27:47,116 INFO L290 TraceCheckUtils]: 6: Hoare triple {27051#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {27067#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:47,116 INFO L290 TraceCheckUtils]: 7: Hoare triple {27067#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {27067#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:47,117 INFO L272 TraceCheckUtils]: 8: Hoare triple {27067#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27067#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:47,117 INFO L290 TraceCheckUtils]: 9: Hoare triple {27067#(<= ~counter~0 1)} ~cond := #in~cond; {27067#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:47,117 INFO L290 TraceCheckUtils]: 10: Hoare triple {27067#(<= ~counter~0 1)} assume !(0 == ~cond); {27067#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:47,117 INFO L290 TraceCheckUtils]: 11: Hoare triple {27067#(<= ~counter~0 1)} assume true; {27067#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:47,118 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {27067#(<= ~counter~0 1)} {27067#(<= ~counter~0 1)} #78#return; {27067#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:47,118 INFO L272 TraceCheckUtils]: 13: Hoare triple {27067#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {27067#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:47,118 INFO L290 TraceCheckUtils]: 14: Hoare triple {27067#(<= ~counter~0 1)} ~cond := #in~cond; {27067#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:47,119 INFO L290 TraceCheckUtils]: 15: Hoare triple {27067#(<= ~counter~0 1)} assume !(0 == ~cond); {27067#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:47,119 INFO L290 TraceCheckUtils]: 16: Hoare triple {27067#(<= ~counter~0 1)} assume true; {27067#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:47,119 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {27067#(<= ~counter~0 1)} {27067#(<= ~counter~0 1)} #80#return; {27067#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:47,120 INFO L272 TraceCheckUtils]: 18: Hoare triple {27067#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27067#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:47,120 INFO L290 TraceCheckUtils]: 19: Hoare triple {27067#(<= ~counter~0 1)} ~cond := #in~cond; {27067#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:47,120 INFO L290 TraceCheckUtils]: 20: Hoare triple {27067#(<= ~counter~0 1)} assume !(0 == ~cond); {27067#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:47,120 INFO L290 TraceCheckUtils]: 21: Hoare triple {27067#(<= ~counter~0 1)} assume true; {27067#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:47,121 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {27067#(<= ~counter~0 1)} {27067#(<= ~counter~0 1)} #82#return; {27067#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:47,121 INFO L290 TraceCheckUtils]: 23: Hoare triple {27067#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27067#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:47,122 INFO L290 TraceCheckUtils]: 24: Hoare triple {27067#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {27122#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:47,122 INFO L290 TraceCheckUtils]: 25: Hoare triple {27122#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {27122#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:47,122 INFO L272 TraceCheckUtils]: 26: Hoare triple {27122#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27122#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:47,122 INFO L290 TraceCheckUtils]: 27: Hoare triple {27122#(<= ~counter~0 2)} ~cond := #in~cond; {27122#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:47,123 INFO L290 TraceCheckUtils]: 28: Hoare triple {27122#(<= ~counter~0 2)} assume !(0 == ~cond); {27122#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:47,123 INFO L290 TraceCheckUtils]: 29: Hoare triple {27122#(<= ~counter~0 2)} assume true; {27122#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:47,123 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {27122#(<= ~counter~0 2)} {27122#(<= ~counter~0 2)} #78#return; {27122#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:47,124 INFO L272 TraceCheckUtils]: 31: Hoare triple {27122#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {27122#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:47,124 INFO L290 TraceCheckUtils]: 32: Hoare triple {27122#(<= ~counter~0 2)} ~cond := #in~cond; {27122#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:47,124 INFO L290 TraceCheckUtils]: 33: Hoare triple {27122#(<= ~counter~0 2)} assume !(0 == ~cond); {27122#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:47,124 INFO L290 TraceCheckUtils]: 34: Hoare triple {27122#(<= ~counter~0 2)} assume true; {27122#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:47,125 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {27122#(<= ~counter~0 2)} {27122#(<= ~counter~0 2)} #80#return; {27122#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:47,125 INFO L272 TraceCheckUtils]: 36: Hoare triple {27122#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27122#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:47,126 INFO L290 TraceCheckUtils]: 37: Hoare triple {27122#(<= ~counter~0 2)} ~cond := #in~cond; {27122#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:47,126 INFO L290 TraceCheckUtils]: 38: Hoare triple {27122#(<= ~counter~0 2)} assume !(0 == ~cond); {27122#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:47,126 INFO L290 TraceCheckUtils]: 39: Hoare triple {27122#(<= ~counter~0 2)} assume true; {27122#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:47,126 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {27122#(<= ~counter~0 2)} {27122#(<= ~counter~0 2)} #82#return; {27122#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:47,127 INFO L290 TraceCheckUtils]: 41: Hoare triple {27122#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27122#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:47,127 INFO L290 TraceCheckUtils]: 42: Hoare triple {27122#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {27177#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:47,127 INFO L290 TraceCheckUtils]: 43: Hoare triple {27177#(<= ~counter~0 3)} assume !!(#t~post5 < 20);havoc #t~post5; {27177#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:47,128 INFO L272 TraceCheckUtils]: 44: Hoare triple {27177#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27177#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:47,128 INFO L290 TraceCheckUtils]: 45: Hoare triple {27177#(<= ~counter~0 3)} ~cond := #in~cond; {27177#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:47,128 INFO L290 TraceCheckUtils]: 46: Hoare triple {27177#(<= ~counter~0 3)} assume !(0 == ~cond); {27177#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:47,129 INFO L290 TraceCheckUtils]: 47: Hoare triple {27177#(<= ~counter~0 3)} assume true; {27177#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:47,129 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {27177#(<= ~counter~0 3)} {27177#(<= ~counter~0 3)} #78#return; {27177#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:47,129 INFO L272 TraceCheckUtils]: 49: Hoare triple {27177#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {27177#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:47,130 INFO L290 TraceCheckUtils]: 50: Hoare triple {27177#(<= ~counter~0 3)} ~cond := #in~cond; {27177#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:47,130 INFO L290 TraceCheckUtils]: 51: Hoare triple {27177#(<= ~counter~0 3)} assume !(0 == ~cond); {27177#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:47,130 INFO L290 TraceCheckUtils]: 52: Hoare triple {27177#(<= ~counter~0 3)} assume true; {27177#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:47,130 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {27177#(<= ~counter~0 3)} {27177#(<= ~counter~0 3)} #80#return; {27177#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:47,131 INFO L272 TraceCheckUtils]: 54: Hoare triple {27177#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27177#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:47,131 INFO L290 TraceCheckUtils]: 55: Hoare triple {27177#(<= ~counter~0 3)} ~cond := #in~cond; {27177#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:47,131 INFO L290 TraceCheckUtils]: 56: Hoare triple {27177#(<= ~counter~0 3)} assume !(0 == ~cond); {27177#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:47,132 INFO L290 TraceCheckUtils]: 57: Hoare triple {27177#(<= ~counter~0 3)} assume true; {27177#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:47,132 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {27177#(<= ~counter~0 3)} {27177#(<= ~counter~0 3)} #82#return; {27177#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:47,132 INFO L290 TraceCheckUtils]: 59: Hoare triple {27177#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {27177#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:47,133 INFO L290 TraceCheckUtils]: 60: Hoare triple {27177#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27232#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:47,133 INFO L290 TraceCheckUtils]: 61: Hoare triple {27232#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {27232#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:47,134 INFO L272 TraceCheckUtils]: 62: Hoare triple {27232#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {27232#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:47,134 INFO L290 TraceCheckUtils]: 63: Hoare triple {27232#(<= ~counter~0 4)} ~cond := #in~cond; {27232#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:47,134 INFO L290 TraceCheckUtils]: 64: Hoare triple {27232#(<= ~counter~0 4)} assume !(0 == ~cond); {27232#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:47,134 INFO L290 TraceCheckUtils]: 65: Hoare triple {27232#(<= ~counter~0 4)} assume true; {27232#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:47,135 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27232#(<= ~counter~0 4)} {27232#(<= ~counter~0 4)} #84#return; {27232#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:47,135 INFO L272 TraceCheckUtils]: 67: Hoare triple {27232#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27232#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:47,135 INFO L290 TraceCheckUtils]: 68: Hoare triple {27232#(<= ~counter~0 4)} ~cond := #in~cond; {27232#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:47,136 INFO L290 TraceCheckUtils]: 69: Hoare triple {27232#(<= ~counter~0 4)} assume !(0 == ~cond); {27232#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:47,136 INFO L290 TraceCheckUtils]: 70: Hoare triple {27232#(<= ~counter~0 4)} assume true; {27232#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:47,136 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27232#(<= ~counter~0 4)} {27232#(<= ~counter~0 4)} #86#return; {27232#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:47,137 INFO L290 TraceCheckUtils]: 72: Hoare triple {27232#(<= ~counter~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); {27232#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:47,137 INFO L290 TraceCheckUtils]: 73: Hoare triple {27232#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27232#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:47,137 INFO L290 TraceCheckUtils]: 74: Hoare triple {27232#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27275#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:47,138 INFO L290 TraceCheckUtils]: 75: Hoare triple {27275#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {27275#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:47,138 INFO L272 TraceCheckUtils]: 76: Hoare triple {27275#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {27275#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:47,138 INFO L290 TraceCheckUtils]: 77: Hoare triple {27275#(<= ~counter~0 5)} ~cond := #in~cond; {27275#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:47,139 INFO L290 TraceCheckUtils]: 78: Hoare triple {27275#(<= ~counter~0 5)} assume !(0 == ~cond); {27275#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:47,139 INFO L290 TraceCheckUtils]: 79: Hoare triple {27275#(<= ~counter~0 5)} assume true; {27275#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:47,139 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27275#(<= ~counter~0 5)} {27275#(<= ~counter~0 5)} #84#return; {27275#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:47,140 INFO L272 TraceCheckUtils]: 81: Hoare triple {27275#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27275#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:47,140 INFO L290 TraceCheckUtils]: 82: Hoare triple {27275#(<= ~counter~0 5)} ~cond := #in~cond; {27275#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:47,140 INFO L290 TraceCheckUtils]: 83: Hoare triple {27275#(<= ~counter~0 5)} assume !(0 == ~cond); {27275#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:47,140 INFO L290 TraceCheckUtils]: 84: Hoare triple {27275#(<= ~counter~0 5)} assume true; {27275#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:47,141 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27275#(<= ~counter~0 5)} {27275#(<= ~counter~0 5)} #86#return; {27275#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:47,142 INFO L290 TraceCheckUtils]: 86: Hoare triple {27275#(<= ~counter~0 5)} 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); {27275#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:47,142 INFO L290 TraceCheckUtils]: 87: Hoare triple {27275#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27275#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:47,143 INFO L290 TraceCheckUtils]: 88: Hoare triple {27275#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27318#(<= ~counter~0 6)} is VALID [2022-04-28 13:27:47,143 INFO L290 TraceCheckUtils]: 89: Hoare triple {27318#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {27318#(<= ~counter~0 6)} is VALID [2022-04-28 13:27:47,144 INFO L272 TraceCheckUtils]: 90: Hoare triple {27318#(<= ~counter~0 6)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {27318#(<= ~counter~0 6)} is VALID [2022-04-28 13:27:47,144 INFO L290 TraceCheckUtils]: 91: Hoare triple {27318#(<= ~counter~0 6)} ~cond := #in~cond; {27318#(<= ~counter~0 6)} is VALID [2022-04-28 13:27:47,145 INFO L290 TraceCheckUtils]: 92: Hoare triple {27318#(<= ~counter~0 6)} assume !(0 == ~cond); {27318#(<= ~counter~0 6)} is VALID [2022-04-28 13:27:47,145 INFO L290 TraceCheckUtils]: 93: Hoare triple {27318#(<= ~counter~0 6)} assume true; {27318#(<= ~counter~0 6)} is VALID [2022-04-28 13:27:47,145 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {27318#(<= ~counter~0 6)} {27318#(<= ~counter~0 6)} #84#return; {27318#(<= ~counter~0 6)} is VALID [2022-04-28 13:27:47,146 INFO L272 TraceCheckUtils]: 95: Hoare triple {27318#(<= ~counter~0 6)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27318#(<= ~counter~0 6)} is VALID [2022-04-28 13:27:47,146 INFO L290 TraceCheckUtils]: 96: Hoare triple {27318#(<= ~counter~0 6)} ~cond := #in~cond; {27318#(<= ~counter~0 6)} is VALID [2022-04-28 13:27:47,146 INFO L290 TraceCheckUtils]: 97: Hoare triple {27318#(<= ~counter~0 6)} assume !(0 == ~cond); {27318#(<= ~counter~0 6)} is VALID [2022-04-28 13:27:47,146 INFO L290 TraceCheckUtils]: 98: Hoare triple {27318#(<= ~counter~0 6)} assume true; {27318#(<= ~counter~0 6)} is VALID [2022-04-28 13:27:47,147 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {27318#(<= ~counter~0 6)} {27318#(<= ~counter~0 6)} #86#return; {27318#(<= ~counter~0 6)} is VALID [2022-04-28 13:27:47,147 INFO L290 TraceCheckUtils]: 100: Hoare triple {27318#(<= ~counter~0 6)} 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); {27318#(<= ~counter~0 6)} is VALID [2022-04-28 13:27:47,147 INFO L290 TraceCheckUtils]: 101: Hoare triple {27318#(<= ~counter~0 6)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27318#(<= ~counter~0 6)} is VALID [2022-04-28 13:27:47,148 INFO L290 TraceCheckUtils]: 102: Hoare triple {27318#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27361#(<= |main_#t~post6| 6)} is VALID [2022-04-28 13:27:47,148 INFO L290 TraceCheckUtils]: 103: Hoare triple {27361#(<= |main_#t~post6| 6)} assume !(#t~post6 < 20);havoc #t~post6; {27044#false} is VALID [2022-04-28 13:27:47,148 INFO L272 TraceCheckUtils]: 104: Hoare triple {27044#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {27044#false} is VALID [2022-04-28 13:27:47,148 INFO L290 TraceCheckUtils]: 105: Hoare triple {27044#false} ~cond := #in~cond; {27044#false} is VALID [2022-04-28 13:27:47,148 INFO L290 TraceCheckUtils]: 106: Hoare triple {27044#false} assume 0 == ~cond; {27044#false} is VALID [2022-04-28 13:27:47,148 INFO L290 TraceCheckUtils]: 107: Hoare triple {27044#false} assume !false; {27044#false} is VALID [2022-04-28 13:27:47,149 INFO L134 CoverageAnalysis]: Checked inductivity of 492 backedges. 30 proven. 414 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 13:27:47,149 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:27:47,583 INFO L290 TraceCheckUtils]: 107: Hoare triple {27044#false} assume !false; {27044#false} is VALID [2022-04-28 13:27:47,584 INFO L290 TraceCheckUtils]: 106: Hoare triple {27044#false} assume 0 == ~cond; {27044#false} is VALID [2022-04-28 13:27:47,584 INFO L290 TraceCheckUtils]: 105: Hoare triple {27044#false} ~cond := #in~cond; {27044#false} is VALID [2022-04-28 13:27:47,584 INFO L272 TraceCheckUtils]: 104: Hoare triple {27044#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {27044#false} is VALID [2022-04-28 13:27:47,584 INFO L290 TraceCheckUtils]: 103: Hoare triple {27389#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {27044#false} is VALID [2022-04-28 13:27:47,584 INFO L290 TraceCheckUtils]: 102: Hoare triple {27393#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27389#(< |main_#t~post6| 20)} is VALID [2022-04-28 13:27:47,585 INFO L290 TraceCheckUtils]: 101: Hoare triple {27393#(< ~counter~0 20)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27393#(< ~counter~0 20)} is VALID [2022-04-28 13:27:47,585 INFO L290 TraceCheckUtils]: 100: Hoare triple {27393#(< ~counter~0 20)} 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); {27393#(< ~counter~0 20)} is VALID [2022-04-28 13:27:47,585 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {27043#true} {27393#(< ~counter~0 20)} #86#return; {27393#(< ~counter~0 20)} is VALID [2022-04-28 13:27:47,585 INFO L290 TraceCheckUtils]: 98: Hoare triple {27043#true} assume true; {27043#true} is VALID [2022-04-28 13:27:47,585 INFO L290 TraceCheckUtils]: 97: Hoare triple {27043#true} assume !(0 == ~cond); {27043#true} is VALID [2022-04-28 13:27:47,586 INFO L290 TraceCheckUtils]: 96: Hoare triple {27043#true} ~cond := #in~cond; {27043#true} is VALID [2022-04-28 13:27:47,586 INFO L272 TraceCheckUtils]: 95: Hoare triple {27393#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27043#true} is VALID [2022-04-28 13:27:47,595 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {27043#true} {27393#(< ~counter~0 20)} #84#return; {27393#(< ~counter~0 20)} is VALID [2022-04-28 13:27:47,595 INFO L290 TraceCheckUtils]: 93: Hoare triple {27043#true} assume true; {27043#true} is VALID [2022-04-28 13:27:47,595 INFO L290 TraceCheckUtils]: 92: Hoare triple {27043#true} assume !(0 == ~cond); {27043#true} is VALID [2022-04-28 13:27:47,596 INFO L290 TraceCheckUtils]: 91: Hoare triple {27043#true} ~cond := #in~cond; {27043#true} is VALID [2022-04-28 13:27:47,596 INFO L272 TraceCheckUtils]: 90: Hoare triple {27393#(< ~counter~0 20)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {27043#true} is VALID [2022-04-28 13:27:47,596 INFO L290 TraceCheckUtils]: 89: Hoare triple {27393#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {27393#(< ~counter~0 20)} is VALID [2022-04-28 13:27:47,597 INFO L290 TraceCheckUtils]: 88: Hoare triple {27436#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27393#(< ~counter~0 20)} is VALID [2022-04-28 13:27:47,597 INFO L290 TraceCheckUtils]: 87: Hoare triple {27436#(< ~counter~0 19)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27436#(< ~counter~0 19)} is VALID [2022-04-28 13:27:47,597 INFO L290 TraceCheckUtils]: 86: Hoare triple {27436#(< ~counter~0 19)} 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); {27436#(< ~counter~0 19)} is VALID [2022-04-28 13:27:47,598 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27043#true} {27436#(< ~counter~0 19)} #86#return; {27436#(< ~counter~0 19)} is VALID [2022-04-28 13:27:47,598 INFO L290 TraceCheckUtils]: 84: Hoare triple {27043#true} assume true; {27043#true} is VALID [2022-04-28 13:27:47,598 INFO L290 TraceCheckUtils]: 83: Hoare triple {27043#true} assume !(0 == ~cond); {27043#true} is VALID [2022-04-28 13:27:47,598 INFO L290 TraceCheckUtils]: 82: Hoare triple {27043#true} ~cond := #in~cond; {27043#true} is VALID [2022-04-28 13:27:47,598 INFO L272 TraceCheckUtils]: 81: Hoare triple {27436#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27043#true} is VALID [2022-04-28 13:27:47,599 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27043#true} {27436#(< ~counter~0 19)} #84#return; {27436#(< ~counter~0 19)} is VALID [2022-04-28 13:27:47,599 INFO L290 TraceCheckUtils]: 79: Hoare triple {27043#true} assume true; {27043#true} is VALID [2022-04-28 13:27:47,599 INFO L290 TraceCheckUtils]: 78: Hoare triple {27043#true} assume !(0 == ~cond); {27043#true} is VALID [2022-04-28 13:27:47,599 INFO L290 TraceCheckUtils]: 77: Hoare triple {27043#true} ~cond := #in~cond; {27043#true} is VALID [2022-04-28 13:27:47,599 INFO L272 TraceCheckUtils]: 76: Hoare triple {27436#(< ~counter~0 19)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {27043#true} is VALID [2022-04-28 13:27:47,599 INFO L290 TraceCheckUtils]: 75: Hoare triple {27436#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {27436#(< ~counter~0 19)} is VALID [2022-04-28 13:27:47,600 INFO L290 TraceCheckUtils]: 74: Hoare triple {27479#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27436#(< ~counter~0 19)} is VALID [2022-04-28 13:27:47,600 INFO L290 TraceCheckUtils]: 73: Hoare triple {27479#(< ~counter~0 18)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27479#(< ~counter~0 18)} is VALID [2022-04-28 13:27:47,600 INFO L290 TraceCheckUtils]: 72: Hoare triple {27479#(< ~counter~0 18)} 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); {27479#(< ~counter~0 18)} is VALID [2022-04-28 13:27:47,601 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27043#true} {27479#(< ~counter~0 18)} #86#return; {27479#(< ~counter~0 18)} is VALID [2022-04-28 13:27:47,601 INFO L290 TraceCheckUtils]: 70: Hoare triple {27043#true} assume true; {27043#true} is VALID [2022-04-28 13:27:47,601 INFO L290 TraceCheckUtils]: 69: Hoare triple {27043#true} assume !(0 == ~cond); {27043#true} is VALID [2022-04-28 13:27:47,601 INFO L290 TraceCheckUtils]: 68: Hoare triple {27043#true} ~cond := #in~cond; {27043#true} is VALID [2022-04-28 13:27:47,601 INFO L272 TraceCheckUtils]: 67: Hoare triple {27479#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27043#true} is VALID [2022-04-28 13:27:47,602 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27043#true} {27479#(< ~counter~0 18)} #84#return; {27479#(< ~counter~0 18)} is VALID [2022-04-28 13:27:47,602 INFO L290 TraceCheckUtils]: 65: Hoare triple {27043#true} assume true; {27043#true} is VALID [2022-04-28 13:27:47,602 INFO L290 TraceCheckUtils]: 64: Hoare triple {27043#true} assume !(0 == ~cond); {27043#true} is VALID [2022-04-28 13:27:47,602 INFO L290 TraceCheckUtils]: 63: Hoare triple {27043#true} ~cond := #in~cond; {27043#true} is VALID [2022-04-28 13:27:47,602 INFO L272 TraceCheckUtils]: 62: Hoare triple {27479#(< ~counter~0 18)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {27043#true} is VALID [2022-04-28 13:27:47,602 INFO L290 TraceCheckUtils]: 61: Hoare triple {27479#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {27479#(< ~counter~0 18)} is VALID [2022-04-28 13:27:47,603 INFO L290 TraceCheckUtils]: 60: Hoare triple {27522#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27479#(< ~counter~0 18)} is VALID [2022-04-28 13:27:47,603 INFO L290 TraceCheckUtils]: 59: Hoare triple {27522#(< ~counter~0 17)} assume !(~r~0 >= ~d~0); {27522#(< ~counter~0 17)} is VALID [2022-04-28 13:27:47,604 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {27043#true} {27522#(< ~counter~0 17)} #82#return; {27522#(< ~counter~0 17)} is VALID [2022-04-28 13:27:47,604 INFO L290 TraceCheckUtils]: 57: Hoare triple {27043#true} assume true; {27043#true} is VALID [2022-04-28 13:27:47,604 INFO L290 TraceCheckUtils]: 56: Hoare triple {27043#true} assume !(0 == ~cond); {27043#true} is VALID [2022-04-28 13:27:47,604 INFO L290 TraceCheckUtils]: 55: Hoare triple {27043#true} ~cond := #in~cond; {27043#true} is VALID [2022-04-28 13:27:47,604 INFO L272 TraceCheckUtils]: 54: Hoare triple {27522#(< ~counter~0 17)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27043#true} is VALID [2022-04-28 13:27:47,604 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {27043#true} {27522#(< ~counter~0 17)} #80#return; {27522#(< ~counter~0 17)} is VALID [2022-04-28 13:27:47,604 INFO L290 TraceCheckUtils]: 52: Hoare triple {27043#true} assume true; {27043#true} is VALID [2022-04-28 13:27:47,604 INFO L290 TraceCheckUtils]: 51: Hoare triple {27043#true} assume !(0 == ~cond); {27043#true} is VALID [2022-04-28 13:27:47,604 INFO L290 TraceCheckUtils]: 50: Hoare triple {27043#true} ~cond := #in~cond; {27043#true} is VALID [2022-04-28 13:27:47,605 INFO L272 TraceCheckUtils]: 49: Hoare triple {27522#(< ~counter~0 17)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {27043#true} is VALID [2022-04-28 13:27:47,605 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {27043#true} {27522#(< ~counter~0 17)} #78#return; {27522#(< ~counter~0 17)} is VALID [2022-04-28 13:27:47,605 INFO L290 TraceCheckUtils]: 47: Hoare triple {27043#true} assume true; {27043#true} is VALID [2022-04-28 13:27:47,605 INFO L290 TraceCheckUtils]: 46: Hoare triple {27043#true} assume !(0 == ~cond); {27043#true} is VALID [2022-04-28 13:27:47,605 INFO L290 TraceCheckUtils]: 45: Hoare triple {27043#true} ~cond := #in~cond; {27043#true} is VALID [2022-04-28 13:27:47,605 INFO L272 TraceCheckUtils]: 44: Hoare triple {27522#(< ~counter~0 17)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27043#true} is VALID [2022-04-28 13:27:47,605 INFO L290 TraceCheckUtils]: 43: Hoare triple {27522#(< ~counter~0 17)} assume !!(#t~post5 < 20);havoc #t~post5; {27522#(< ~counter~0 17)} is VALID [2022-04-28 13:27:47,606 INFO L290 TraceCheckUtils]: 42: Hoare triple {27577#(< ~counter~0 16)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {27522#(< ~counter~0 17)} is VALID [2022-04-28 13:27:47,606 INFO L290 TraceCheckUtils]: 41: Hoare triple {27577#(< ~counter~0 16)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27577#(< ~counter~0 16)} is VALID [2022-04-28 13:27:47,607 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {27043#true} {27577#(< ~counter~0 16)} #82#return; {27577#(< ~counter~0 16)} is VALID [2022-04-28 13:27:47,607 INFO L290 TraceCheckUtils]: 39: Hoare triple {27043#true} assume true; {27043#true} is VALID [2022-04-28 13:27:47,607 INFO L290 TraceCheckUtils]: 38: Hoare triple {27043#true} assume !(0 == ~cond); {27043#true} is VALID [2022-04-28 13:27:47,607 INFO L290 TraceCheckUtils]: 37: Hoare triple {27043#true} ~cond := #in~cond; {27043#true} is VALID [2022-04-28 13:27:47,607 INFO L272 TraceCheckUtils]: 36: Hoare triple {27577#(< ~counter~0 16)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27043#true} is VALID [2022-04-28 13:27:47,607 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {27043#true} {27577#(< ~counter~0 16)} #80#return; {27577#(< ~counter~0 16)} is VALID [2022-04-28 13:27:47,608 INFO L290 TraceCheckUtils]: 34: Hoare triple {27043#true} assume true; {27043#true} is VALID [2022-04-28 13:27:47,608 INFO L290 TraceCheckUtils]: 33: Hoare triple {27043#true} assume !(0 == ~cond); {27043#true} is VALID [2022-04-28 13:27:47,608 INFO L290 TraceCheckUtils]: 32: Hoare triple {27043#true} ~cond := #in~cond; {27043#true} is VALID [2022-04-28 13:27:47,608 INFO L272 TraceCheckUtils]: 31: Hoare triple {27577#(< ~counter~0 16)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {27043#true} is VALID [2022-04-28 13:27:47,608 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {27043#true} {27577#(< ~counter~0 16)} #78#return; {27577#(< ~counter~0 16)} is VALID [2022-04-28 13:27:47,608 INFO L290 TraceCheckUtils]: 29: Hoare triple {27043#true} assume true; {27043#true} is VALID [2022-04-28 13:27:47,608 INFO L290 TraceCheckUtils]: 28: Hoare triple {27043#true} assume !(0 == ~cond); {27043#true} is VALID [2022-04-28 13:27:47,608 INFO L290 TraceCheckUtils]: 27: Hoare triple {27043#true} ~cond := #in~cond; {27043#true} is VALID [2022-04-28 13:27:47,608 INFO L272 TraceCheckUtils]: 26: Hoare triple {27577#(< ~counter~0 16)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27043#true} is VALID [2022-04-28 13:27:47,609 INFO L290 TraceCheckUtils]: 25: Hoare triple {27577#(< ~counter~0 16)} assume !!(#t~post5 < 20);havoc #t~post5; {27577#(< ~counter~0 16)} is VALID [2022-04-28 13:27:47,609 INFO L290 TraceCheckUtils]: 24: Hoare triple {27632#(< ~counter~0 15)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {27577#(< ~counter~0 16)} is VALID [2022-04-28 13:27:47,610 INFO L290 TraceCheckUtils]: 23: Hoare triple {27632#(< ~counter~0 15)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27632#(< ~counter~0 15)} is VALID [2022-04-28 13:27:47,610 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {27043#true} {27632#(< ~counter~0 15)} #82#return; {27632#(< ~counter~0 15)} is VALID [2022-04-28 13:27:47,610 INFO L290 TraceCheckUtils]: 21: Hoare triple {27043#true} assume true; {27043#true} is VALID [2022-04-28 13:27:47,610 INFO L290 TraceCheckUtils]: 20: Hoare triple {27043#true} assume !(0 == ~cond); {27043#true} is VALID [2022-04-28 13:27:47,610 INFO L290 TraceCheckUtils]: 19: Hoare triple {27043#true} ~cond := #in~cond; {27043#true} is VALID [2022-04-28 13:27:47,610 INFO L272 TraceCheckUtils]: 18: Hoare triple {27632#(< ~counter~0 15)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27043#true} is VALID [2022-04-28 13:27:47,611 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {27043#true} {27632#(< ~counter~0 15)} #80#return; {27632#(< ~counter~0 15)} is VALID [2022-04-28 13:27:47,611 INFO L290 TraceCheckUtils]: 16: Hoare triple {27043#true} assume true; {27043#true} is VALID [2022-04-28 13:27:47,611 INFO L290 TraceCheckUtils]: 15: Hoare triple {27043#true} assume !(0 == ~cond); {27043#true} is VALID [2022-04-28 13:27:47,611 INFO L290 TraceCheckUtils]: 14: Hoare triple {27043#true} ~cond := #in~cond; {27043#true} is VALID [2022-04-28 13:27:47,611 INFO L272 TraceCheckUtils]: 13: Hoare triple {27632#(< ~counter~0 15)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {27043#true} is VALID [2022-04-28 13:27:47,621 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {27043#true} {27632#(< ~counter~0 15)} #78#return; {27632#(< ~counter~0 15)} is VALID [2022-04-28 13:27:47,621 INFO L290 TraceCheckUtils]: 11: Hoare triple {27043#true} assume true; {27043#true} is VALID [2022-04-28 13:27:47,621 INFO L290 TraceCheckUtils]: 10: Hoare triple {27043#true} assume !(0 == ~cond); {27043#true} is VALID [2022-04-28 13:27:47,621 INFO L290 TraceCheckUtils]: 9: Hoare triple {27043#true} ~cond := #in~cond; {27043#true} is VALID [2022-04-28 13:27:47,621 INFO L272 TraceCheckUtils]: 8: Hoare triple {27632#(< ~counter~0 15)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27043#true} is VALID [2022-04-28 13:27:47,621 INFO L290 TraceCheckUtils]: 7: Hoare triple {27632#(< ~counter~0 15)} assume !!(#t~post5 < 20);havoc #t~post5; {27632#(< ~counter~0 15)} is VALID [2022-04-28 13:27:47,622 INFO L290 TraceCheckUtils]: 6: Hoare triple {27687#(< ~counter~0 14)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {27632#(< ~counter~0 15)} is VALID [2022-04-28 13:27:47,622 INFO L290 TraceCheckUtils]: 5: Hoare triple {27687#(< ~counter~0 14)} 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; {27687#(< ~counter~0 14)} is VALID [2022-04-28 13:27:47,623 INFO L272 TraceCheckUtils]: 4: Hoare triple {27687#(< ~counter~0 14)} call #t~ret7 := main(); {27687#(< ~counter~0 14)} is VALID [2022-04-28 13:27:47,623 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27687#(< ~counter~0 14)} {27043#true} #92#return; {27687#(< ~counter~0 14)} is VALID [2022-04-28 13:27:47,623 INFO L290 TraceCheckUtils]: 2: Hoare triple {27687#(< ~counter~0 14)} assume true; {27687#(< ~counter~0 14)} is VALID [2022-04-28 13:27:47,624 INFO L290 TraceCheckUtils]: 1: Hoare triple {27043#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {27687#(< ~counter~0 14)} is VALID [2022-04-28 13:27:47,624 INFO L272 TraceCheckUtils]: 0: Hoare triple {27043#true} call ULTIMATE.init(); {27043#true} is VALID [2022-04-28 13:27:47,624 INFO L134 CoverageAnalysis]: Checked inductivity of 492 backedges. 30 proven. 42 refuted. 0 times theorem prover too weak. 420 trivial. 0 not checked. [2022-04-28 13:27:47,624 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:27:47,624 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [936208090] [2022-04-28 13:27:47,624 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:27:47,624 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [749694970] [2022-04-28 13:27:47,625 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [749694970] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:27:47,625 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:27:47,625 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2022-04-28 13:27:47,625 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:27:47,625 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1272623397] [2022-04-28 13:27:47,625 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1272623397] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:27:47,625 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:27:47,625 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 13:27:47,625 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [842700240] [2022-04-28 13:27:47,625 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:27:47,625 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.7) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 108 [2022-04-28 13:27:47,626 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:27:47,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.7) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 13:27:47,685 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:27:47,685 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 13:27:47,685 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:27:47,685 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 13:27:47,685 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=181, Unknown=0, NotChecked=0, Total=306 [2022-04-28 13:27:47,686 INFO L87 Difference]: Start difference. First operand 249 states and 282 transitions. Second operand has 10 states, 10 states have (on average 4.7) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 13:27:48,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:27:48,623 INFO L93 Difference]: Finished difference Result 325 states and 368 transitions. [2022-04-28 13:27:48,623 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 13:27:48,624 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.7) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 108 [2022-04-28 13:27:48,624 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:27:48,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.7) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 13:27:48,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 149 transitions. [2022-04-28 13:27:48,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.7) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 13:27:48,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 149 transitions. [2022-04-28 13:27:48,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 149 transitions. [2022-04-28 13:27:48,732 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 149 edges. 149 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:27:48,737 INFO L225 Difference]: With dead ends: 325 [2022-04-28 13:27:48,737 INFO L226 Difference]: Without dead ends: 312 [2022-04-28 13:27:48,738 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 218 GetRequests, 199 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=167, Invalid=253, Unknown=0, NotChecked=0, Total=420 [2022-04-28 13:27:48,738 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 53 mSDsluCounter, 137 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 65 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 193 SdHoareTripleChecker+Invalid, 191 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 65 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 13:27:48,738 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [53 Valid, 193 Invalid, 191 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [65 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 13:27:48,739 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 312 states. [2022-04-28 13:27:49,142 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 312 to 311. [2022-04-28 13:27:49,143 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:27:49,143 INFO L82 GeneralOperation]: Start isEquivalent. First operand 312 states. Second operand has 311 states, 213 states have (on average 1.1126760563380282) internal successors, (237), 218 states have internal predecessors, (237), 56 states have call successors, (56), 42 states have call predecessors, (56), 41 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 13:27:49,143 INFO L74 IsIncluded]: Start isIncluded. First operand 312 states. Second operand has 311 states, 213 states have (on average 1.1126760563380282) internal successors, (237), 218 states have internal predecessors, (237), 56 states have call successors, (56), 42 states have call predecessors, (56), 41 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 13:27:49,144 INFO L87 Difference]: Start difference. First operand 312 states. Second operand has 311 states, 213 states have (on average 1.1126760563380282) internal successors, (237), 218 states have internal predecessors, (237), 56 states have call successors, (56), 42 states have call predecessors, (56), 41 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 13:27:49,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:27:49,148 INFO L93 Difference]: Finished difference Result 312 states and 348 transitions. [2022-04-28 13:27:49,148 INFO L276 IsEmpty]: Start isEmpty. Operand 312 states and 348 transitions. [2022-04-28 13:27:49,149 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:27:49,149 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:27:49,163 INFO L74 IsIncluded]: Start isIncluded. First operand has 311 states, 213 states have (on average 1.1126760563380282) internal successors, (237), 218 states have internal predecessors, (237), 56 states have call successors, (56), 42 states have call predecessors, (56), 41 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 312 states. [2022-04-28 13:27:49,164 INFO L87 Difference]: Start difference. First operand has 311 states, 213 states have (on average 1.1126760563380282) internal successors, (237), 218 states have internal predecessors, (237), 56 states have call successors, (56), 42 states have call predecessors, (56), 41 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 312 states. [2022-04-28 13:27:49,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:27:49,168 INFO L93 Difference]: Finished difference Result 312 states and 348 transitions. [2022-04-28 13:27:49,168 INFO L276 IsEmpty]: Start isEmpty. Operand 312 states and 348 transitions. [2022-04-28 13:27:49,168 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:27:49,169 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:27:49,169 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:27:49,169 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:27:49,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 311 states, 213 states have (on average 1.1126760563380282) internal successors, (237), 218 states have internal predecessors, (237), 56 states have call successors, (56), 42 states have call predecessors, (56), 41 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 13:27:49,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 311 states to 311 states and 347 transitions. [2022-04-28 13:27:49,174 INFO L78 Accepts]: Start accepts. Automaton has 311 states and 347 transitions. Word has length 108 [2022-04-28 13:27:49,175 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:27:49,175 INFO L495 AbstractCegarLoop]: Abstraction has 311 states and 347 transitions. [2022-04-28 13:27:49,175 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.7) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 13:27:49,175 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 311 states and 347 transitions. [2022-04-28 13:27:49,774 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 347 edges. 347 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:27:49,774 INFO L276 IsEmpty]: Start isEmpty. Operand 311 states and 347 transitions. [2022-04-28 13:27:49,775 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 119 [2022-04-28 13:27:49,775 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:27:49,775 INFO L195 NwaCegarLoop]: trace histogram [18, 17, 17, 6, 5, 5, 5, 5, 5, 5, 5, 5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:27:49,791 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-28 13:27:49,975 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable24 [2022-04-28 13:27:49,976 INFO L420 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:27:49,976 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:27:49,976 INFO L85 PathProgramCache]: Analyzing trace with hash 522560651, now seen corresponding path program 1 times [2022-04-28 13:27:49,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:27:49,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [55487418] [2022-04-28 13:27:52,869 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:27:52,869 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:27:52,870 INFO L85 PathProgramCache]: Analyzing trace with hash 522560651, now seen corresponding path program 2 times [2022-04-28 13:27:52,870 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:27:52,870 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1288068219] [2022-04-28 13:27:52,870 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:27:52,870 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:27:52,878 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:27:52,878 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [843982810] [2022-04-28 13:27:52,878 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:27:52,878 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:27:52,879 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:27:52,879 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:27:52,880 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-28 13:27:52,934 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:27:52,934 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:27:52,935 INFO L263 TraceCheckSpWp]: Trace formula consists of 298 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 13:27:52,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:27:52,953 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:27:53,393 INFO L272 TraceCheckUtils]: 0: Hoare triple {29610#true} call ULTIMATE.init(); {29610#true} is VALID [2022-04-28 13:27:53,394 INFO L290 TraceCheckUtils]: 1: Hoare triple {29610#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {29618#(<= ~counter~0 0)} is VALID [2022-04-28 13:27:53,394 INFO L290 TraceCheckUtils]: 2: Hoare triple {29618#(<= ~counter~0 0)} assume true; {29618#(<= ~counter~0 0)} is VALID [2022-04-28 13:27:53,394 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29618#(<= ~counter~0 0)} {29610#true} #92#return; {29618#(<= ~counter~0 0)} is VALID [2022-04-28 13:27:53,395 INFO L272 TraceCheckUtils]: 4: Hoare triple {29618#(<= ~counter~0 0)} call #t~ret7 := main(); {29618#(<= ~counter~0 0)} is VALID [2022-04-28 13:27:53,395 INFO L290 TraceCheckUtils]: 5: Hoare triple {29618#(<= ~counter~0 0)} 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; {29618#(<= ~counter~0 0)} is VALID [2022-04-28 13:27:53,396 INFO L290 TraceCheckUtils]: 6: Hoare triple {29618#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {29634#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:53,396 INFO L290 TraceCheckUtils]: 7: Hoare triple {29634#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {29634#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:53,396 INFO L272 TraceCheckUtils]: 8: Hoare triple {29634#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29634#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:53,397 INFO L290 TraceCheckUtils]: 9: Hoare triple {29634#(<= ~counter~0 1)} ~cond := #in~cond; {29634#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:53,397 INFO L290 TraceCheckUtils]: 10: Hoare triple {29634#(<= ~counter~0 1)} assume !(0 == ~cond); {29634#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:53,397 INFO L290 TraceCheckUtils]: 11: Hoare triple {29634#(<= ~counter~0 1)} assume true; {29634#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:53,398 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {29634#(<= ~counter~0 1)} {29634#(<= ~counter~0 1)} #78#return; {29634#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:53,398 INFO L272 TraceCheckUtils]: 13: Hoare triple {29634#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {29634#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:53,398 INFO L290 TraceCheckUtils]: 14: Hoare triple {29634#(<= ~counter~0 1)} ~cond := #in~cond; {29634#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:53,398 INFO L290 TraceCheckUtils]: 15: Hoare triple {29634#(<= ~counter~0 1)} assume !(0 == ~cond); {29634#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:53,399 INFO L290 TraceCheckUtils]: 16: Hoare triple {29634#(<= ~counter~0 1)} assume true; {29634#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:53,399 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {29634#(<= ~counter~0 1)} {29634#(<= ~counter~0 1)} #80#return; {29634#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:53,400 INFO L272 TraceCheckUtils]: 18: Hoare triple {29634#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {29634#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:53,400 INFO L290 TraceCheckUtils]: 19: Hoare triple {29634#(<= ~counter~0 1)} ~cond := #in~cond; {29634#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:53,400 INFO L290 TraceCheckUtils]: 20: Hoare triple {29634#(<= ~counter~0 1)} assume !(0 == ~cond); {29634#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:53,400 INFO L290 TraceCheckUtils]: 21: Hoare triple {29634#(<= ~counter~0 1)} assume true; {29634#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:53,401 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {29634#(<= ~counter~0 1)} {29634#(<= ~counter~0 1)} #82#return; {29634#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:53,401 INFO L290 TraceCheckUtils]: 23: Hoare triple {29634#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {29634#(<= ~counter~0 1)} is VALID [2022-04-28 13:27:53,402 INFO L290 TraceCheckUtils]: 24: Hoare triple {29634#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {29689#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:53,402 INFO L290 TraceCheckUtils]: 25: Hoare triple {29689#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {29689#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:53,402 INFO L272 TraceCheckUtils]: 26: Hoare triple {29689#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29689#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:53,403 INFO L290 TraceCheckUtils]: 27: Hoare triple {29689#(<= ~counter~0 2)} ~cond := #in~cond; {29689#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:53,403 INFO L290 TraceCheckUtils]: 28: Hoare triple {29689#(<= ~counter~0 2)} assume !(0 == ~cond); {29689#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:53,403 INFO L290 TraceCheckUtils]: 29: Hoare triple {29689#(<= ~counter~0 2)} assume true; {29689#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:53,403 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {29689#(<= ~counter~0 2)} {29689#(<= ~counter~0 2)} #78#return; {29689#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:53,404 INFO L272 TraceCheckUtils]: 31: Hoare triple {29689#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {29689#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:53,404 INFO L290 TraceCheckUtils]: 32: Hoare triple {29689#(<= ~counter~0 2)} ~cond := #in~cond; {29689#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:53,404 INFO L290 TraceCheckUtils]: 33: Hoare triple {29689#(<= ~counter~0 2)} assume !(0 == ~cond); {29689#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:53,405 INFO L290 TraceCheckUtils]: 34: Hoare triple {29689#(<= ~counter~0 2)} assume true; {29689#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:53,405 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {29689#(<= ~counter~0 2)} {29689#(<= ~counter~0 2)} #80#return; {29689#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:53,405 INFO L272 TraceCheckUtils]: 36: Hoare triple {29689#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {29689#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:53,406 INFO L290 TraceCheckUtils]: 37: Hoare triple {29689#(<= ~counter~0 2)} ~cond := #in~cond; {29689#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:53,406 INFO L290 TraceCheckUtils]: 38: Hoare triple {29689#(<= ~counter~0 2)} assume !(0 == ~cond); {29689#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:53,406 INFO L290 TraceCheckUtils]: 39: Hoare triple {29689#(<= ~counter~0 2)} assume true; {29689#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:53,407 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {29689#(<= ~counter~0 2)} {29689#(<= ~counter~0 2)} #82#return; {29689#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:53,407 INFO L290 TraceCheckUtils]: 41: Hoare triple {29689#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {29689#(<= ~counter~0 2)} is VALID [2022-04-28 13:27:53,408 INFO L290 TraceCheckUtils]: 42: Hoare triple {29689#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {29744#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:53,408 INFO L290 TraceCheckUtils]: 43: Hoare triple {29744#(<= ~counter~0 3)} assume !!(#t~post5 < 20);havoc #t~post5; {29744#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:53,408 INFO L272 TraceCheckUtils]: 44: Hoare triple {29744#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29744#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:53,408 INFO L290 TraceCheckUtils]: 45: Hoare triple {29744#(<= ~counter~0 3)} ~cond := #in~cond; {29744#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:53,409 INFO L290 TraceCheckUtils]: 46: Hoare triple {29744#(<= ~counter~0 3)} assume !(0 == ~cond); {29744#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:53,409 INFO L290 TraceCheckUtils]: 47: Hoare triple {29744#(<= ~counter~0 3)} assume true; {29744#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:53,409 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {29744#(<= ~counter~0 3)} {29744#(<= ~counter~0 3)} #78#return; {29744#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:53,410 INFO L272 TraceCheckUtils]: 49: Hoare triple {29744#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {29744#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:53,410 INFO L290 TraceCheckUtils]: 50: Hoare triple {29744#(<= ~counter~0 3)} ~cond := #in~cond; {29744#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:53,410 INFO L290 TraceCheckUtils]: 51: Hoare triple {29744#(<= ~counter~0 3)} assume !(0 == ~cond); {29744#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:53,410 INFO L290 TraceCheckUtils]: 52: Hoare triple {29744#(<= ~counter~0 3)} assume true; {29744#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:53,411 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {29744#(<= ~counter~0 3)} {29744#(<= ~counter~0 3)} #80#return; {29744#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:53,411 INFO L272 TraceCheckUtils]: 54: Hoare triple {29744#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {29744#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:53,412 INFO L290 TraceCheckUtils]: 55: Hoare triple {29744#(<= ~counter~0 3)} ~cond := #in~cond; {29744#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:53,412 INFO L290 TraceCheckUtils]: 56: Hoare triple {29744#(<= ~counter~0 3)} assume !(0 == ~cond); {29744#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:53,412 INFO L290 TraceCheckUtils]: 57: Hoare triple {29744#(<= ~counter~0 3)} assume true; {29744#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:53,412 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {29744#(<= ~counter~0 3)} {29744#(<= ~counter~0 3)} #82#return; {29744#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:53,413 INFO L290 TraceCheckUtils]: 59: Hoare triple {29744#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {29744#(<= ~counter~0 3)} is VALID [2022-04-28 13:27:53,413 INFO L290 TraceCheckUtils]: 60: Hoare triple {29744#(<= ~counter~0 3)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {29799#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:53,414 INFO L290 TraceCheckUtils]: 61: Hoare triple {29799#(<= ~counter~0 4)} assume !!(#t~post5 < 20);havoc #t~post5; {29799#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:53,414 INFO L272 TraceCheckUtils]: 62: Hoare triple {29799#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29799#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:53,414 INFO L290 TraceCheckUtils]: 63: Hoare triple {29799#(<= ~counter~0 4)} ~cond := #in~cond; {29799#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:53,415 INFO L290 TraceCheckUtils]: 64: Hoare triple {29799#(<= ~counter~0 4)} assume !(0 == ~cond); {29799#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:53,415 INFO L290 TraceCheckUtils]: 65: Hoare triple {29799#(<= ~counter~0 4)} assume true; {29799#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:53,415 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {29799#(<= ~counter~0 4)} {29799#(<= ~counter~0 4)} #78#return; {29799#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:53,416 INFO L272 TraceCheckUtils]: 67: Hoare triple {29799#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {29799#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:53,416 INFO L290 TraceCheckUtils]: 68: Hoare triple {29799#(<= ~counter~0 4)} ~cond := #in~cond; {29799#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:53,416 INFO L290 TraceCheckUtils]: 69: Hoare triple {29799#(<= ~counter~0 4)} assume !(0 == ~cond); {29799#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:53,416 INFO L290 TraceCheckUtils]: 70: Hoare triple {29799#(<= ~counter~0 4)} assume true; {29799#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:53,417 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {29799#(<= ~counter~0 4)} {29799#(<= ~counter~0 4)} #80#return; {29799#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:53,417 INFO L272 TraceCheckUtils]: 72: Hoare triple {29799#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {29799#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:53,417 INFO L290 TraceCheckUtils]: 73: Hoare triple {29799#(<= ~counter~0 4)} ~cond := #in~cond; {29799#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:53,418 INFO L290 TraceCheckUtils]: 74: Hoare triple {29799#(<= ~counter~0 4)} assume !(0 == ~cond); {29799#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:53,418 INFO L290 TraceCheckUtils]: 75: Hoare triple {29799#(<= ~counter~0 4)} assume true; {29799#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:53,418 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {29799#(<= ~counter~0 4)} {29799#(<= ~counter~0 4)} #82#return; {29799#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:53,419 INFO L290 TraceCheckUtils]: 77: Hoare triple {29799#(<= ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {29799#(<= ~counter~0 4)} is VALID [2022-04-28 13:27:53,419 INFO L290 TraceCheckUtils]: 78: Hoare triple {29799#(<= ~counter~0 4)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {29854#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:53,420 INFO L290 TraceCheckUtils]: 79: Hoare triple {29854#(<= ~counter~0 5)} assume !!(#t~post5 < 20);havoc #t~post5; {29854#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:53,420 INFO L272 TraceCheckUtils]: 80: Hoare triple {29854#(<= ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29854#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:53,420 INFO L290 TraceCheckUtils]: 81: Hoare triple {29854#(<= ~counter~0 5)} ~cond := #in~cond; {29854#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:53,421 INFO L290 TraceCheckUtils]: 82: Hoare triple {29854#(<= ~counter~0 5)} assume !(0 == ~cond); {29854#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:53,421 INFO L290 TraceCheckUtils]: 83: Hoare triple {29854#(<= ~counter~0 5)} assume true; {29854#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:53,421 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {29854#(<= ~counter~0 5)} {29854#(<= ~counter~0 5)} #78#return; {29854#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:53,422 INFO L272 TraceCheckUtils]: 85: Hoare triple {29854#(<= ~counter~0 5)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {29854#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:53,422 INFO L290 TraceCheckUtils]: 86: Hoare triple {29854#(<= ~counter~0 5)} ~cond := #in~cond; {29854#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:53,422 INFO L290 TraceCheckUtils]: 87: Hoare triple {29854#(<= ~counter~0 5)} assume !(0 == ~cond); {29854#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:53,422 INFO L290 TraceCheckUtils]: 88: Hoare triple {29854#(<= ~counter~0 5)} assume true; {29854#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:53,423 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {29854#(<= ~counter~0 5)} {29854#(<= ~counter~0 5)} #80#return; {29854#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:53,423 INFO L272 TraceCheckUtils]: 90: Hoare triple {29854#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {29854#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:53,423 INFO L290 TraceCheckUtils]: 91: Hoare triple {29854#(<= ~counter~0 5)} ~cond := #in~cond; {29854#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:53,424 INFO L290 TraceCheckUtils]: 92: Hoare triple {29854#(<= ~counter~0 5)} assume !(0 == ~cond); {29854#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:53,424 INFO L290 TraceCheckUtils]: 93: Hoare triple {29854#(<= ~counter~0 5)} assume true; {29854#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:53,424 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {29854#(<= ~counter~0 5)} {29854#(<= ~counter~0 5)} #82#return; {29854#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:53,425 INFO L290 TraceCheckUtils]: 95: Hoare triple {29854#(<= ~counter~0 5)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {29854#(<= ~counter~0 5)} is VALID [2022-04-28 13:27:53,425 INFO L290 TraceCheckUtils]: 96: Hoare triple {29854#(<= ~counter~0 5)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {29909#(<= |main_#t~post5| 5)} is VALID [2022-04-28 13:27:53,425 INFO L290 TraceCheckUtils]: 97: Hoare triple {29909#(<= |main_#t~post5| 5)} assume !(#t~post5 < 20);havoc #t~post5; {29611#false} is VALID [2022-04-28 13:27:53,425 INFO L290 TraceCheckUtils]: 98: Hoare triple {29611#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29611#false} is VALID [2022-04-28 13:27:53,425 INFO L290 TraceCheckUtils]: 99: Hoare triple {29611#false} assume !!(#t~post6 < 20);havoc #t~post6; {29611#false} is VALID [2022-04-28 13:27:53,425 INFO L272 TraceCheckUtils]: 100: Hoare triple {29611#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {29611#false} is VALID [2022-04-28 13:27:53,425 INFO L290 TraceCheckUtils]: 101: Hoare triple {29611#false} ~cond := #in~cond; {29611#false} is VALID [2022-04-28 13:27:53,426 INFO L290 TraceCheckUtils]: 102: Hoare triple {29611#false} assume !(0 == ~cond); {29611#false} is VALID [2022-04-28 13:27:53,426 INFO L290 TraceCheckUtils]: 103: Hoare triple {29611#false} assume true; {29611#false} is VALID [2022-04-28 13:27:53,426 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {29611#false} {29611#false} #84#return; {29611#false} is VALID [2022-04-28 13:27:53,426 INFO L272 TraceCheckUtils]: 105: Hoare triple {29611#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {29611#false} is VALID [2022-04-28 13:27:53,426 INFO L290 TraceCheckUtils]: 106: Hoare triple {29611#false} ~cond := #in~cond; {29611#false} is VALID [2022-04-28 13:27:53,426 INFO L290 TraceCheckUtils]: 107: Hoare triple {29611#false} assume !(0 == ~cond); {29611#false} is VALID [2022-04-28 13:27:53,426 INFO L290 TraceCheckUtils]: 108: Hoare triple {29611#false} assume true; {29611#false} is VALID [2022-04-28 13:27:53,426 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {29611#false} {29611#false} #86#return; {29611#false} is VALID [2022-04-28 13:27:53,426 INFO L290 TraceCheckUtils]: 110: Hoare triple {29611#false} 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); {29611#false} is VALID [2022-04-28 13:27:53,426 INFO L290 TraceCheckUtils]: 111: Hoare triple {29611#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {29611#false} is VALID [2022-04-28 13:27:53,426 INFO L290 TraceCheckUtils]: 112: Hoare triple {29611#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29611#false} is VALID [2022-04-28 13:27:53,426 INFO L290 TraceCheckUtils]: 113: Hoare triple {29611#false} assume !(#t~post6 < 20);havoc #t~post6; {29611#false} is VALID [2022-04-28 13:27:53,426 INFO L272 TraceCheckUtils]: 114: Hoare triple {29611#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {29611#false} is VALID [2022-04-28 13:27:53,426 INFO L290 TraceCheckUtils]: 115: Hoare triple {29611#false} ~cond := #in~cond; {29611#false} is VALID [2022-04-28 13:27:53,426 INFO L290 TraceCheckUtils]: 116: Hoare triple {29611#false} assume 0 == ~cond; {29611#false} is VALID [2022-04-28 13:27:53,427 INFO L290 TraceCheckUtils]: 117: Hoare triple {29611#false} assume !false; {29611#false} is VALID [2022-04-28 13:27:53,427 INFO L134 CoverageAnalysis]: Checked inductivity of 650 backedges. 150 proven. 430 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2022-04-28 13:27:53,427 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:27:53,892 INFO L290 TraceCheckUtils]: 117: Hoare triple {29611#false} assume !false; {29611#false} is VALID [2022-04-28 13:27:53,892 INFO L290 TraceCheckUtils]: 116: Hoare triple {29611#false} assume 0 == ~cond; {29611#false} is VALID [2022-04-28 13:27:53,892 INFO L290 TraceCheckUtils]: 115: Hoare triple {29611#false} ~cond := #in~cond; {29611#false} is VALID [2022-04-28 13:27:53,892 INFO L272 TraceCheckUtils]: 114: Hoare triple {29611#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {29611#false} is VALID [2022-04-28 13:27:53,892 INFO L290 TraceCheckUtils]: 113: Hoare triple {29611#false} assume !(#t~post6 < 20);havoc #t~post6; {29611#false} is VALID [2022-04-28 13:27:53,892 INFO L290 TraceCheckUtils]: 112: Hoare triple {29611#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29611#false} is VALID [2022-04-28 13:27:53,892 INFO L290 TraceCheckUtils]: 111: Hoare triple {29611#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {29611#false} is VALID [2022-04-28 13:27:53,892 INFO L290 TraceCheckUtils]: 110: Hoare triple {29611#false} 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); {29611#false} is VALID [2022-04-28 13:27:53,892 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {29610#true} {29611#false} #86#return; {29611#false} is VALID [2022-04-28 13:27:53,892 INFO L290 TraceCheckUtils]: 108: Hoare triple {29610#true} assume true; {29610#true} is VALID [2022-04-28 13:27:53,893 INFO L290 TraceCheckUtils]: 107: Hoare triple {29610#true} assume !(0 == ~cond); {29610#true} is VALID [2022-04-28 13:27:53,893 INFO L290 TraceCheckUtils]: 106: Hoare triple {29610#true} ~cond := #in~cond; {29610#true} is VALID [2022-04-28 13:27:53,893 INFO L272 TraceCheckUtils]: 105: Hoare triple {29611#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {29610#true} is VALID [2022-04-28 13:27:53,893 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {29610#true} {29611#false} #84#return; {29611#false} is VALID [2022-04-28 13:27:53,893 INFO L290 TraceCheckUtils]: 103: Hoare triple {29610#true} assume true; {29610#true} is VALID [2022-04-28 13:27:53,893 INFO L290 TraceCheckUtils]: 102: Hoare triple {29610#true} assume !(0 == ~cond); {29610#true} is VALID [2022-04-28 13:27:53,893 INFO L290 TraceCheckUtils]: 101: Hoare triple {29610#true} ~cond := #in~cond; {29610#true} is VALID [2022-04-28 13:27:53,893 INFO L272 TraceCheckUtils]: 100: Hoare triple {29611#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {29610#true} is VALID [2022-04-28 13:27:53,893 INFO L290 TraceCheckUtils]: 99: Hoare triple {29611#false} assume !!(#t~post6 < 20);havoc #t~post6; {29611#false} is VALID [2022-04-28 13:27:53,893 INFO L290 TraceCheckUtils]: 98: Hoare triple {29611#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29611#false} is VALID [2022-04-28 13:27:53,893 INFO L290 TraceCheckUtils]: 97: Hoare triple {30033#(< |main_#t~post5| 20)} assume !(#t~post5 < 20);havoc #t~post5; {29611#false} is VALID [2022-04-28 13:27:53,894 INFO L290 TraceCheckUtils]: 96: Hoare triple {30037#(< ~counter~0 20)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {30033#(< |main_#t~post5| 20)} is VALID [2022-04-28 13:27:53,894 INFO L290 TraceCheckUtils]: 95: Hoare triple {30037#(< ~counter~0 20)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {30037#(< ~counter~0 20)} is VALID [2022-04-28 13:27:53,895 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {29610#true} {30037#(< ~counter~0 20)} #82#return; {30037#(< ~counter~0 20)} is VALID [2022-04-28 13:27:53,895 INFO L290 TraceCheckUtils]: 93: Hoare triple {29610#true} assume true; {29610#true} is VALID [2022-04-28 13:27:53,895 INFO L290 TraceCheckUtils]: 92: Hoare triple {29610#true} assume !(0 == ~cond); {29610#true} is VALID [2022-04-28 13:27:53,895 INFO L290 TraceCheckUtils]: 91: Hoare triple {29610#true} ~cond := #in~cond; {29610#true} is VALID [2022-04-28 13:27:53,895 INFO L272 TraceCheckUtils]: 90: Hoare triple {30037#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {29610#true} is VALID [2022-04-28 13:27:53,895 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {29610#true} {30037#(< ~counter~0 20)} #80#return; {30037#(< ~counter~0 20)} is VALID [2022-04-28 13:27:53,895 INFO L290 TraceCheckUtils]: 88: Hoare triple {29610#true} assume true; {29610#true} is VALID [2022-04-28 13:27:53,895 INFO L290 TraceCheckUtils]: 87: Hoare triple {29610#true} assume !(0 == ~cond); {29610#true} is VALID [2022-04-28 13:27:53,895 INFO L290 TraceCheckUtils]: 86: Hoare triple {29610#true} ~cond := #in~cond; {29610#true} is VALID [2022-04-28 13:27:53,896 INFO L272 TraceCheckUtils]: 85: Hoare triple {30037#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {29610#true} is VALID [2022-04-28 13:27:53,896 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {29610#true} {30037#(< ~counter~0 20)} #78#return; {30037#(< ~counter~0 20)} is VALID [2022-04-28 13:27:53,896 INFO L290 TraceCheckUtils]: 83: Hoare triple {29610#true} assume true; {29610#true} is VALID [2022-04-28 13:27:53,896 INFO L290 TraceCheckUtils]: 82: Hoare triple {29610#true} assume !(0 == ~cond); {29610#true} is VALID [2022-04-28 13:27:53,896 INFO L290 TraceCheckUtils]: 81: Hoare triple {29610#true} ~cond := #in~cond; {29610#true} is VALID [2022-04-28 13:27:53,896 INFO L272 TraceCheckUtils]: 80: Hoare triple {30037#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29610#true} is VALID [2022-04-28 13:27:53,896 INFO L290 TraceCheckUtils]: 79: Hoare triple {30037#(< ~counter~0 20)} assume !!(#t~post5 < 20);havoc #t~post5; {30037#(< ~counter~0 20)} is VALID [2022-04-28 13:27:53,897 INFO L290 TraceCheckUtils]: 78: Hoare triple {30092#(< ~counter~0 19)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {30037#(< ~counter~0 20)} is VALID [2022-04-28 13:27:53,898 INFO L290 TraceCheckUtils]: 77: Hoare triple {30092#(< ~counter~0 19)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {30092#(< ~counter~0 19)} is VALID [2022-04-28 13:27:53,898 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {29610#true} {30092#(< ~counter~0 19)} #82#return; {30092#(< ~counter~0 19)} is VALID [2022-04-28 13:27:53,898 INFO L290 TraceCheckUtils]: 75: Hoare triple {29610#true} assume true; {29610#true} is VALID [2022-04-28 13:27:53,898 INFO L290 TraceCheckUtils]: 74: Hoare triple {29610#true} assume !(0 == ~cond); {29610#true} is VALID [2022-04-28 13:27:53,898 INFO L290 TraceCheckUtils]: 73: Hoare triple {29610#true} ~cond := #in~cond; {29610#true} is VALID [2022-04-28 13:27:53,898 INFO L272 TraceCheckUtils]: 72: Hoare triple {30092#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {29610#true} is VALID [2022-04-28 13:27:53,899 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {29610#true} {30092#(< ~counter~0 19)} #80#return; {30092#(< ~counter~0 19)} is VALID [2022-04-28 13:27:53,899 INFO L290 TraceCheckUtils]: 70: Hoare triple {29610#true} assume true; {29610#true} is VALID [2022-04-28 13:27:53,899 INFO L290 TraceCheckUtils]: 69: Hoare triple {29610#true} assume !(0 == ~cond); {29610#true} is VALID [2022-04-28 13:27:53,899 INFO L290 TraceCheckUtils]: 68: Hoare triple {29610#true} ~cond := #in~cond; {29610#true} is VALID [2022-04-28 13:27:53,899 INFO L272 TraceCheckUtils]: 67: Hoare triple {30092#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {29610#true} is VALID [2022-04-28 13:27:53,899 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {29610#true} {30092#(< ~counter~0 19)} #78#return; {30092#(< ~counter~0 19)} is VALID [2022-04-28 13:27:53,899 INFO L290 TraceCheckUtils]: 65: Hoare triple {29610#true} assume true; {29610#true} is VALID [2022-04-28 13:27:53,899 INFO L290 TraceCheckUtils]: 64: Hoare triple {29610#true} assume !(0 == ~cond); {29610#true} is VALID [2022-04-28 13:27:53,900 INFO L290 TraceCheckUtils]: 63: Hoare triple {29610#true} ~cond := #in~cond; {29610#true} is VALID [2022-04-28 13:27:53,900 INFO L272 TraceCheckUtils]: 62: Hoare triple {30092#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29610#true} is VALID [2022-04-28 13:27:53,903 INFO L290 TraceCheckUtils]: 61: Hoare triple {30092#(< ~counter~0 19)} assume !!(#t~post5 < 20);havoc #t~post5; {30092#(< ~counter~0 19)} is VALID [2022-04-28 13:27:53,904 INFO L290 TraceCheckUtils]: 60: Hoare triple {30147#(< ~counter~0 18)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {30092#(< ~counter~0 19)} is VALID [2022-04-28 13:27:53,904 INFO L290 TraceCheckUtils]: 59: Hoare triple {30147#(< ~counter~0 18)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {30147#(< ~counter~0 18)} is VALID [2022-04-28 13:27:53,905 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {29610#true} {30147#(< ~counter~0 18)} #82#return; {30147#(< ~counter~0 18)} is VALID [2022-04-28 13:27:53,905 INFO L290 TraceCheckUtils]: 57: Hoare triple {29610#true} assume true; {29610#true} is VALID [2022-04-28 13:27:53,905 INFO L290 TraceCheckUtils]: 56: Hoare triple {29610#true} assume !(0 == ~cond); {29610#true} is VALID [2022-04-28 13:27:53,905 INFO L290 TraceCheckUtils]: 55: Hoare triple {29610#true} ~cond := #in~cond; {29610#true} is VALID [2022-04-28 13:27:53,905 INFO L272 TraceCheckUtils]: 54: Hoare triple {30147#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {29610#true} is VALID [2022-04-28 13:27:53,906 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {29610#true} {30147#(< ~counter~0 18)} #80#return; {30147#(< ~counter~0 18)} is VALID [2022-04-28 13:27:53,906 INFO L290 TraceCheckUtils]: 52: Hoare triple {29610#true} assume true; {29610#true} is VALID [2022-04-28 13:27:53,906 INFO L290 TraceCheckUtils]: 51: Hoare triple {29610#true} assume !(0 == ~cond); {29610#true} is VALID [2022-04-28 13:27:53,906 INFO L290 TraceCheckUtils]: 50: Hoare triple {29610#true} ~cond := #in~cond; {29610#true} is VALID [2022-04-28 13:27:53,906 INFO L272 TraceCheckUtils]: 49: Hoare triple {30147#(< ~counter~0 18)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {29610#true} is VALID [2022-04-28 13:27:53,907 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {29610#true} {30147#(< ~counter~0 18)} #78#return; {30147#(< ~counter~0 18)} is VALID [2022-04-28 13:27:53,907 INFO L290 TraceCheckUtils]: 47: Hoare triple {29610#true} assume true; {29610#true} is VALID [2022-04-28 13:27:53,907 INFO L290 TraceCheckUtils]: 46: Hoare triple {29610#true} assume !(0 == ~cond); {29610#true} is VALID [2022-04-28 13:27:53,907 INFO L290 TraceCheckUtils]: 45: Hoare triple {29610#true} ~cond := #in~cond; {29610#true} is VALID [2022-04-28 13:27:53,907 INFO L272 TraceCheckUtils]: 44: Hoare triple {30147#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29610#true} is VALID [2022-04-28 13:27:53,915 INFO L290 TraceCheckUtils]: 43: Hoare triple {30147#(< ~counter~0 18)} assume !!(#t~post5 < 20);havoc #t~post5; {30147#(< ~counter~0 18)} is VALID [2022-04-28 13:27:53,916 INFO L290 TraceCheckUtils]: 42: Hoare triple {30202#(< ~counter~0 17)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {30147#(< ~counter~0 18)} is VALID [2022-04-28 13:27:53,917 INFO L290 TraceCheckUtils]: 41: Hoare triple {30202#(< ~counter~0 17)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {30202#(< ~counter~0 17)} is VALID [2022-04-28 13:27:53,917 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {29610#true} {30202#(< ~counter~0 17)} #82#return; {30202#(< ~counter~0 17)} is VALID [2022-04-28 13:27:53,917 INFO L290 TraceCheckUtils]: 39: Hoare triple {29610#true} assume true; {29610#true} is VALID [2022-04-28 13:27:53,917 INFO L290 TraceCheckUtils]: 38: Hoare triple {29610#true} assume !(0 == ~cond); {29610#true} is VALID [2022-04-28 13:27:53,917 INFO L290 TraceCheckUtils]: 37: Hoare triple {29610#true} ~cond := #in~cond; {29610#true} is VALID [2022-04-28 13:27:53,917 INFO L272 TraceCheckUtils]: 36: Hoare triple {30202#(< ~counter~0 17)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {29610#true} is VALID [2022-04-28 13:27:53,918 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {29610#true} {30202#(< ~counter~0 17)} #80#return; {30202#(< ~counter~0 17)} is VALID [2022-04-28 13:27:53,918 INFO L290 TraceCheckUtils]: 34: Hoare triple {29610#true} assume true; {29610#true} is VALID [2022-04-28 13:27:53,918 INFO L290 TraceCheckUtils]: 33: Hoare triple {29610#true} assume !(0 == ~cond); {29610#true} is VALID [2022-04-28 13:27:53,918 INFO L290 TraceCheckUtils]: 32: Hoare triple {29610#true} ~cond := #in~cond; {29610#true} is VALID [2022-04-28 13:27:53,918 INFO L272 TraceCheckUtils]: 31: Hoare triple {30202#(< ~counter~0 17)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {29610#true} is VALID [2022-04-28 13:27:53,919 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {29610#true} {30202#(< ~counter~0 17)} #78#return; {30202#(< ~counter~0 17)} is VALID [2022-04-28 13:27:53,919 INFO L290 TraceCheckUtils]: 29: Hoare triple {29610#true} assume true; {29610#true} is VALID [2022-04-28 13:27:53,919 INFO L290 TraceCheckUtils]: 28: Hoare triple {29610#true} assume !(0 == ~cond); {29610#true} is VALID [2022-04-28 13:27:53,919 INFO L290 TraceCheckUtils]: 27: Hoare triple {29610#true} ~cond := #in~cond; {29610#true} is VALID [2022-04-28 13:27:53,919 INFO L272 TraceCheckUtils]: 26: Hoare triple {30202#(< ~counter~0 17)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29610#true} is VALID [2022-04-28 13:27:53,919 INFO L290 TraceCheckUtils]: 25: Hoare triple {30202#(< ~counter~0 17)} assume !!(#t~post5 < 20);havoc #t~post5; {30202#(< ~counter~0 17)} is VALID [2022-04-28 13:27:53,920 INFO L290 TraceCheckUtils]: 24: Hoare triple {30257#(< ~counter~0 16)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {30202#(< ~counter~0 17)} is VALID [2022-04-28 13:27:53,920 INFO L290 TraceCheckUtils]: 23: Hoare triple {30257#(< ~counter~0 16)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {30257#(< ~counter~0 16)} is VALID [2022-04-28 13:27:53,921 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {29610#true} {30257#(< ~counter~0 16)} #82#return; {30257#(< ~counter~0 16)} is VALID [2022-04-28 13:27:53,921 INFO L290 TraceCheckUtils]: 21: Hoare triple {29610#true} assume true; {29610#true} is VALID [2022-04-28 13:27:53,921 INFO L290 TraceCheckUtils]: 20: Hoare triple {29610#true} assume !(0 == ~cond); {29610#true} is VALID [2022-04-28 13:27:53,921 INFO L290 TraceCheckUtils]: 19: Hoare triple {29610#true} ~cond := #in~cond; {29610#true} is VALID [2022-04-28 13:27:53,921 INFO L272 TraceCheckUtils]: 18: Hoare triple {30257#(< ~counter~0 16)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {29610#true} is VALID [2022-04-28 13:27:53,921 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {29610#true} {30257#(< ~counter~0 16)} #80#return; {30257#(< ~counter~0 16)} is VALID [2022-04-28 13:27:53,921 INFO L290 TraceCheckUtils]: 16: Hoare triple {29610#true} assume true; {29610#true} is VALID [2022-04-28 13:27:53,922 INFO L290 TraceCheckUtils]: 15: Hoare triple {29610#true} assume !(0 == ~cond); {29610#true} is VALID [2022-04-28 13:27:53,922 INFO L290 TraceCheckUtils]: 14: Hoare triple {29610#true} ~cond := #in~cond; {29610#true} is VALID [2022-04-28 13:27:53,922 INFO L272 TraceCheckUtils]: 13: Hoare triple {30257#(< ~counter~0 16)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {29610#true} is VALID [2022-04-28 13:27:53,922 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {29610#true} {30257#(< ~counter~0 16)} #78#return; {30257#(< ~counter~0 16)} is VALID [2022-04-28 13:27:53,922 INFO L290 TraceCheckUtils]: 11: Hoare triple {29610#true} assume true; {29610#true} is VALID [2022-04-28 13:27:53,922 INFO L290 TraceCheckUtils]: 10: Hoare triple {29610#true} assume !(0 == ~cond); {29610#true} is VALID [2022-04-28 13:27:53,922 INFO L290 TraceCheckUtils]: 9: Hoare triple {29610#true} ~cond := #in~cond; {29610#true} is VALID [2022-04-28 13:27:53,922 INFO L272 TraceCheckUtils]: 8: Hoare triple {30257#(< ~counter~0 16)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29610#true} is VALID [2022-04-28 13:27:53,923 INFO L290 TraceCheckUtils]: 7: Hoare triple {30257#(< ~counter~0 16)} assume !!(#t~post5 < 20);havoc #t~post5; {30257#(< ~counter~0 16)} is VALID [2022-04-28 13:27:53,923 INFO L290 TraceCheckUtils]: 6: Hoare triple {30312#(< ~counter~0 15)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {30257#(< ~counter~0 16)} is VALID [2022-04-28 13:27:53,924 INFO L290 TraceCheckUtils]: 5: Hoare triple {30312#(< ~counter~0 15)} 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; {30312#(< ~counter~0 15)} is VALID [2022-04-28 13:27:53,924 INFO L272 TraceCheckUtils]: 4: Hoare triple {30312#(< ~counter~0 15)} call #t~ret7 := main(); {30312#(< ~counter~0 15)} is VALID [2022-04-28 13:27:53,924 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30312#(< ~counter~0 15)} {29610#true} #92#return; {30312#(< ~counter~0 15)} is VALID [2022-04-28 13:27:53,926 INFO L290 TraceCheckUtils]: 2: Hoare triple {30312#(< ~counter~0 15)} assume true; {30312#(< ~counter~0 15)} is VALID [2022-04-28 13:27:53,926 INFO L290 TraceCheckUtils]: 1: Hoare triple {29610#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {30312#(< ~counter~0 15)} is VALID [2022-04-28 13:27:53,926 INFO L272 TraceCheckUtils]: 0: Hoare triple {29610#true} call ULTIMATE.init(); {29610#true} is VALID [2022-04-28 13:27:53,927 INFO L134 CoverageAnalysis]: Checked inductivity of 650 backedges. 34 proven. 70 refuted. 0 times theorem prover too weak. 546 trivial. 0 not checked. [2022-04-28 13:27:53,927 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:27:53,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1288068219] [2022-04-28 13:27:53,927 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:27:53,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [843982810] [2022-04-28 13:27:53,927 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [843982810] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:27:53,927 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:27:53,927 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 13:27:53,928 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:27:53,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [55487418] [2022-04-28 13:27:53,928 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [55487418] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:27:53,928 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:27:53,928 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 13:27:53,928 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [702967439] [2022-04-28 13:27:53,928 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:27:53,928 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.0) internal successors, (45), 8 states have internal predecessors, (45), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 7 states have call successors, (18) Word has length 118 [2022-04-28 13:27:53,928 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:27:53,929 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 5.0) internal successors, (45), 8 states have internal predecessors, (45), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-28 13:27:53,993 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:27:53,994 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 13:27:53,994 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:27:53,994 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 13:27:53,994 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-28 13:27:53,994 INFO L87 Difference]: Start difference. First operand 311 states and 347 transitions. Second operand has 9 states, 9 states have (on average 5.0) internal successors, (45), 8 states have internal predecessors, (45), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-28 13:27:54,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:27:54,784 INFO L93 Difference]: Finished difference Result 364 states and 409 transitions. [2022-04-28 13:27:54,784 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 13:27:54,784 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.0) internal successors, (45), 8 states have internal predecessors, (45), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 7 states have call successors, (18) Word has length 118 [2022-04-28 13:27:54,784 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:27:54,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.0) internal successors, (45), 8 states have internal predecessors, (45), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-28 13:27:54,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 136 transitions. [2022-04-28 13:27:54,786 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.0) internal successors, (45), 8 states have internal predecessors, (45), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-28 13:27:54,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 136 transitions. [2022-04-28 13:27:54,787 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 136 transitions. [2022-04-28 13:27:54,903 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:27:54,908 INFO L225 Difference]: With dead ends: 364 [2022-04-28 13:27:54,908 INFO L226 Difference]: Without dead ends: 309 [2022-04-28 13:27:54,908 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 240 GetRequests, 221 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=171, Invalid=249, Unknown=0, NotChecked=0, Total=420 [2022-04-28 13:27:54,909 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 23 mSDsluCounter, 135 mSDsCounter, 0 mSdLazyCounter, 71 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 186 SdHoareTripleChecker+Invalid, 82 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 71 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:27:54,909 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 186 Invalid, 82 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 71 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:27:54,909 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 309 states. [2022-04-28 13:27:55,282 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 309 to 309. [2022-04-28 13:27:55,282 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:27:55,283 INFO L82 GeneralOperation]: Start isEquivalent. First operand 309 states. Second operand has 309 states, 211 states have (on average 1.1090047393364928) internal successors, (234), 216 states have internal predecessors, (234), 56 states have call successors, (56), 42 states have call predecessors, (56), 41 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 13:27:55,283 INFO L74 IsIncluded]: Start isIncluded. First operand 309 states. Second operand has 309 states, 211 states have (on average 1.1090047393364928) internal successors, (234), 216 states have internal predecessors, (234), 56 states have call successors, (56), 42 states have call predecessors, (56), 41 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 13:27:55,283 INFO L87 Difference]: Start difference. First operand 309 states. Second operand has 309 states, 211 states have (on average 1.1090047393364928) internal successors, (234), 216 states have internal predecessors, (234), 56 states have call successors, (56), 42 states have call predecessors, (56), 41 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 13:27:55,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:27:55,287 INFO L93 Difference]: Finished difference Result 309 states and 344 transitions. [2022-04-28 13:27:55,288 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 344 transitions. [2022-04-28 13:27:55,288 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:27:55,288 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:27:55,288 INFO L74 IsIncluded]: Start isIncluded. First operand has 309 states, 211 states have (on average 1.1090047393364928) internal successors, (234), 216 states have internal predecessors, (234), 56 states have call successors, (56), 42 states have call predecessors, (56), 41 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 309 states. [2022-04-28 13:27:55,289 INFO L87 Difference]: Start difference. First operand has 309 states, 211 states have (on average 1.1090047393364928) internal successors, (234), 216 states have internal predecessors, (234), 56 states have call successors, (56), 42 states have call predecessors, (56), 41 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 309 states. [2022-04-28 13:27:55,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:27:55,293 INFO L93 Difference]: Finished difference Result 309 states and 344 transitions. [2022-04-28 13:27:55,293 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 344 transitions. [2022-04-28 13:27:55,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:27:55,293 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:27:55,293 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:27:55,294 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:27:55,294 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 309 states, 211 states have (on average 1.1090047393364928) internal successors, (234), 216 states have internal predecessors, (234), 56 states have call successors, (56), 42 states have call predecessors, (56), 41 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 13:27:55,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 309 states to 309 states and 344 transitions. [2022-04-28 13:27:55,299 INFO L78 Accepts]: Start accepts. Automaton has 309 states and 344 transitions. Word has length 118 [2022-04-28 13:27:55,300 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:27:55,300 INFO L495 AbstractCegarLoop]: Abstraction has 309 states and 344 transitions. [2022-04-28 13:27:55,300 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 5.0) internal successors, (45), 8 states have internal predecessors, (45), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-28 13:27:55,300 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 309 states and 344 transitions. [2022-04-28 13:27:55,895 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 344 edges. 344 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:27:55,895 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 344 transitions. [2022-04-28 13:27:55,905 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 123 [2022-04-28 13:27:55,905 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:27:55,905 INFO L195 NwaCegarLoop]: trace histogram [18, 17, 17, 5, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:27:55,923 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-28 13:27:56,115 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-28 13:27:56,115 INFO L420 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:27:56,116 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:27:56,116 INFO L85 PathProgramCache]: Analyzing trace with hash 1632097758, now seen corresponding path program 9 times [2022-04-28 13:27:56,116 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:27:56,116 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [696421869] [2022-04-28 13:28:00,198 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:28:00,198 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:28:00,198 INFO L85 PathProgramCache]: Analyzing trace with hash 1632097758, now seen corresponding path program 10 times [2022-04-28 13:28:00,198 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:28:00,199 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1529340535] [2022-04-28 13:28:00,199 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:28:00,199 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:28:00,209 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:28:00,209 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1669966773] [2022-04-28 13:28:00,209 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:28:00,209 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:28:00,210 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:28:00,210 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:28:00,211 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-28 13:28:00,315 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:28:00,315 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:28:00,317 INFO L263 TraceCheckSpWp]: Trace formula consists of 314 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 13:28:00,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:28:00,336 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:28:00,826 INFO L272 TraceCheckUtils]: 0: Hoare triple {32307#true} call ULTIMATE.init(); {32307#true} is VALID [2022-04-28 13:28:00,827 INFO L290 TraceCheckUtils]: 1: Hoare triple {32307#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {32315#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:00,827 INFO L290 TraceCheckUtils]: 2: Hoare triple {32315#(<= ~counter~0 0)} assume true; {32315#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:00,827 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32315#(<= ~counter~0 0)} {32307#true} #92#return; {32315#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:00,827 INFO L272 TraceCheckUtils]: 4: Hoare triple {32315#(<= ~counter~0 0)} call #t~ret7 := main(); {32315#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:00,828 INFO L290 TraceCheckUtils]: 5: Hoare triple {32315#(<= ~counter~0 0)} 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; {32315#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:00,829 INFO L290 TraceCheckUtils]: 6: Hoare triple {32315#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {32331#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:00,829 INFO L290 TraceCheckUtils]: 7: Hoare triple {32331#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {32331#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:00,829 INFO L272 TraceCheckUtils]: 8: Hoare triple {32331#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {32331#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:00,829 INFO L290 TraceCheckUtils]: 9: Hoare triple {32331#(<= ~counter~0 1)} ~cond := #in~cond; {32331#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:00,830 INFO L290 TraceCheckUtils]: 10: Hoare triple {32331#(<= ~counter~0 1)} assume !(0 == ~cond); {32331#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:00,830 INFO L290 TraceCheckUtils]: 11: Hoare triple {32331#(<= ~counter~0 1)} assume true; {32331#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:00,830 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {32331#(<= ~counter~0 1)} {32331#(<= ~counter~0 1)} #78#return; {32331#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:00,831 INFO L272 TraceCheckUtils]: 13: Hoare triple {32331#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {32331#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:00,831 INFO L290 TraceCheckUtils]: 14: Hoare triple {32331#(<= ~counter~0 1)} ~cond := #in~cond; {32331#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:00,832 INFO L290 TraceCheckUtils]: 15: Hoare triple {32331#(<= ~counter~0 1)} assume !(0 == ~cond); {32331#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:00,832 INFO L290 TraceCheckUtils]: 16: Hoare triple {32331#(<= ~counter~0 1)} assume true; {32331#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:00,832 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {32331#(<= ~counter~0 1)} {32331#(<= ~counter~0 1)} #80#return; {32331#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:00,833 INFO L272 TraceCheckUtils]: 18: Hoare triple {32331#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {32331#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:00,833 INFO L290 TraceCheckUtils]: 19: Hoare triple {32331#(<= ~counter~0 1)} ~cond := #in~cond; {32331#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:00,833 INFO L290 TraceCheckUtils]: 20: Hoare triple {32331#(<= ~counter~0 1)} assume !(0 == ~cond); {32331#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:00,833 INFO L290 TraceCheckUtils]: 21: Hoare triple {32331#(<= ~counter~0 1)} assume true; {32331#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:00,834 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {32331#(<= ~counter~0 1)} {32331#(<= ~counter~0 1)} #82#return; {32331#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:00,834 INFO L290 TraceCheckUtils]: 23: Hoare triple {32331#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {32331#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:00,835 INFO L290 TraceCheckUtils]: 24: Hoare triple {32331#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {32386#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:00,835 INFO L290 TraceCheckUtils]: 25: Hoare triple {32386#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {32386#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:00,835 INFO L272 TraceCheckUtils]: 26: Hoare triple {32386#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {32386#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:00,836 INFO L290 TraceCheckUtils]: 27: Hoare triple {32386#(<= ~counter~0 2)} ~cond := #in~cond; {32386#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:00,836 INFO L290 TraceCheckUtils]: 28: Hoare triple {32386#(<= ~counter~0 2)} assume !(0 == ~cond); {32386#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:00,836 INFO L290 TraceCheckUtils]: 29: Hoare triple {32386#(<= ~counter~0 2)} assume true; {32386#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:00,837 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {32386#(<= ~counter~0 2)} {32386#(<= ~counter~0 2)} #78#return; {32386#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:00,837 INFO L272 TraceCheckUtils]: 31: Hoare triple {32386#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {32386#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:00,837 INFO L290 TraceCheckUtils]: 32: Hoare triple {32386#(<= ~counter~0 2)} ~cond := #in~cond; {32386#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:00,838 INFO L290 TraceCheckUtils]: 33: Hoare triple {32386#(<= ~counter~0 2)} assume !(0 == ~cond); {32386#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:00,838 INFO L290 TraceCheckUtils]: 34: Hoare triple {32386#(<= ~counter~0 2)} assume true; {32386#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:00,838 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {32386#(<= ~counter~0 2)} {32386#(<= ~counter~0 2)} #80#return; {32386#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:00,839 INFO L272 TraceCheckUtils]: 36: Hoare triple {32386#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {32386#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:00,839 INFO L290 TraceCheckUtils]: 37: Hoare triple {32386#(<= ~counter~0 2)} ~cond := #in~cond; {32386#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:00,839 INFO L290 TraceCheckUtils]: 38: Hoare triple {32386#(<= ~counter~0 2)} assume !(0 == ~cond); {32386#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:00,839 INFO L290 TraceCheckUtils]: 39: Hoare triple {32386#(<= ~counter~0 2)} assume true; {32386#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:00,840 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {32386#(<= ~counter~0 2)} {32386#(<= ~counter~0 2)} #82#return; {32386#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:00,840 INFO L290 TraceCheckUtils]: 41: Hoare triple {32386#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {32386#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:00,841 INFO L290 TraceCheckUtils]: 42: Hoare triple {32386#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {32441#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:00,841 INFO L290 TraceCheckUtils]: 43: Hoare triple {32441#(<= ~counter~0 3)} assume !!(#t~post5 < 20);havoc #t~post5; {32441#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:00,841 INFO L272 TraceCheckUtils]: 44: Hoare triple {32441#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {32441#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:00,841 INFO L290 TraceCheckUtils]: 45: Hoare triple {32441#(<= ~counter~0 3)} ~cond := #in~cond; {32441#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:00,842 INFO L290 TraceCheckUtils]: 46: Hoare triple {32441#(<= ~counter~0 3)} assume !(0 == ~cond); {32441#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:00,842 INFO L290 TraceCheckUtils]: 47: Hoare triple {32441#(<= ~counter~0 3)} assume true; {32441#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:00,842 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {32441#(<= ~counter~0 3)} {32441#(<= ~counter~0 3)} #78#return; {32441#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:00,843 INFO L272 TraceCheckUtils]: 49: Hoare triple {32441#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {32441#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:00,843 INFO L290 TraceCheckUtils]: 50: Hoare triple {32441#(<= ~counter~0 3)} ~cond := #in~cond; {32441#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:00,843 INFO L290 TraceCheckUtils]: 51: Hoare triple {32441#(<= ~counter~0 3)} assume !(0 == ~cond); {32441#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:00,843 INFO L290 TraceCheckUtils]: 52: Hoare triple {32441#(<= ~counter~0 3)} assume true; {32441#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:00,844 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {32441#(<= ~counter~0 3)} {32441#(<= ~counter~0 3)} #80#return; {32441#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:00,844 INFO L272 TraceCheckUtils]: 54: Hoare triple {32441#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {32441#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:00,845 INFO L290 TraceCheckUtils]: 55: Hoare triple {32441#(<= ~counter~0 3)} ~cond := #in~cond; {32441#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:00,845 INFO L290 TraceCheckUtils]: 56: Hoare triple {32441#(<= ~counter~0 3)} assume !(0 == ~cond); {32441#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:00,845 INFO L290 TraceCheckUtils]: 57: Hoare triple {32441#(<= ~counter~0 3)} assume true; {32441#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:00,845 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {32441#(<= ~counter~0 3)} {32441#(<= ~counter~0 3)} #82#return; {32441#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:00,846 INFO L290 TraceCheckUtils]: 59: Hoare triple {32441#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {32441#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:00,846 INFO L290 TraceCheckUtils]: 60: Hoare triple {32441#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32496#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:00,846 INFO L290 TraceCheckUtils]: 61: Hoare triple {32496#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {32496#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:00,847 INFO L272 TraceCheckUtils]: 62: Hoare triple {32496#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {32496#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:00,847 INFO L290 TraceCheckUtils]: 63: Hoare triple {32496#(<= ~counter~0 4)} ~cond := #in~cond; {32496#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:00,847 INFO L290 TraceCheckUtils]: 64: Hoare triple {32496#(<= ~counter~0 4)} assume !(0 == ~cond); {32496#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:00,848 INFO L290 TraceCheckUtils]: 65: Hoare triple {32496#(<= ~counter~0 4)} assume true; {32496#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:00,848 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {32496#(<= ~counter~0 4)} {32496#(<= ~counter~0 4)} #84#return; {32496#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:00,849 INFO L272 TraceCheckUtils]: 67: Hoare triple {32496#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {32496#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:00,849 INFO L290 TraceCheckUtils]: 68: Hoare triple {32496#(<= ~counter~0 4)} ~cond := #in~cond; {32496#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:00,849 INFO L290 TraceCheckUtils]: 69: Hoare triple {32496#(<= ~counter~0 4)} assume !(0 == ~cond); {32496#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:00,849 INFO L290 TraceCheckUtils]: 70: Hoare triple {32496#(<= ~counter~0 4)} assume true; {32496#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:00,850 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {32496#(<= ~counter~0 4)} {32496#(<= ~counter~0 4)} #86#return; {32496#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:00,850 INFO L290 TraceCheckUtils]: 72: Hoare triple {32496#(<= ~counter~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); {32496#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:00,850 INFO L290 TraceCheckUtils]: 73: Hoare triple {32496#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {32496#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:00,851 INFO L290 TraceCheckUtils]: 74: Hoare triple {32496#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32539#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:00,851 INFO L290 TraceCheckUtils]: 75: Hoare triple {32539#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {32539#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:00,851 INFO L272 TraceCheckUtils]: 76: Hoare triple {32539#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {32539#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:00,852 INFO L290 TraceCheckUtils]: 77: Hoare triple {32539#(<= ~counter~0 5)} ~cond := #in~cond; {32539#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:00,852 INFO L290 TraceCheckUtils]: 78: Hoare triple {32539#(<= ~counter~0 5)} assume !(0 == ~cond); {32539#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:00,852 INFO L290 TraceCheckUtils]: 79: Hoare triple {32539#(<= ~counter~0 5)} assume true; {32539#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:00,853 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {32539#(<= ~counter~0 5)} {32539#(<= ~counter~0 5)} #84#return; {32539#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:00,853 INFO L272 TraceCheckUtils]: 81: Hoare triple {32539#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {32539#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:00,853 INFO L290 TraceCheckUtils]: 82: Hoare triple {32539#(<= ~counter~0 5)} ~cond := #in~cond; {32539#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:00,854 INFO L290 TraceCheckUtils]: 83: Hoare triple {32539#(<= ~counter~0 5)} assume !(0 == ~cond); {32539#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:00,854 INFO L290 TraceCheckUtils]: 84: Hoare triple {32539#(<= ~counter~0 5)} assume true; {32539#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:00,854 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {32539#(<= ~counter~0 5)} {32539#(<= ~counter~0 5)} #86#return; {32539#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:00,854 INFO L290 TraceCheckUtils]: 86: Hoare triple {32539#(<= ~counter~0 5)} 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); {32539#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:00,855 INFO L290 TraceCheckUtils]: 87: Hoare triple {32539#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {32539#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:00,855 INFO L290 TraceCheckUtils]: 88: Hoare triple {32539#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32582#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:00,856 INFO L290 TraceCheckUtils]: 89: Hoare triple {32582#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {32582#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:00,856 INFO L272 TraceCheckUtils]: 90: Hoare triple {32582#(<= ~counter~0 6)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {32582#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:00,856 INFO L290 TraceCheckUtils]: 91: Hoare triple {32582#(<= ~counter~0 6)} ~cond := #in~cond; {32582#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:00,856 INFO L290 TraceCheckUtils]: 92: Hoare triple {32582#(<= ~counter~0 6)} assume !(0 == ~cond); {32582#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:00,857 INFO L290 TraceCheckUtils]: 93: Hoare triple {32582#(<= ~counter~0 6)} assume true; {32582#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:00,857 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {32582#(<= ~counter~0 6)} {32582#(<= ~counter~0 6)} #84#return; {32582#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:00,858 INFO L272 TraceCheckUtils]: 95: Hoare triple {32582#(<= ~counter~0 6)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {32582#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:00,858 INFO L290 TraceCheckUtils]: 96: Hoare triple {32582#(<= ~counter~0 6)} ~cond := #in~cond; {32582#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:00,858 INFO L290 TraceCheckUtils]: 97: Hoare triple {32582#(<= ~counter~0 6)} assume !(0 == ~cond); {32582#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:00,858 INFO L290 TraceCheckUtils]: 98: Hoare triple {32582#(<= ~counter~0 6)} assume true; {32582#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:00,859 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {32582#(<= ~counter~0 6)} {32582#(<= ~counter~0 6)} #86#return; {32582#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:00,859 INFO L290 TraceCheckUtils]: 100: Hoare triple {32582#(<= ~counter~0 6)} 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); {32582#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:00,859 INFO L290 TraceCheckUtils]: 101: Hoare triple {32582#(<= ~counter~0 6)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {32582#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:00,860 INFO L290 TraceCheckUtils]: 102: Hoare triple {32582#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32625#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:00,860 INFO L290 TraceCheckUtils]: 103: Hoare triple {32625#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {32625#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:00,861 INFO L272 TraceCheckUtils]: 104: Hoare triple {32625#(<= ~counter~0 7)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {32625#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:00,861 INFO L290 TraceCheckUtils]: 105: Hoare triple {32625#(<= ~counter~0 7)} ~cond := #in~cond; {32625#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:00,861 INFO L290 TraceCheckUtils]: 106: Hoare triple {32625#(<= ~counter~0 7)} assume !(0 == ~cond); {32625#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:00,861 INFO L290 TraceCheckUtils]: 107: Hoare triple {32625#(<= ~counter~0 7)} assume true; {32625#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:00,862 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {32625#(<= ~counter~0 7)} {32625#(<= ~counter~0 7)} #84#return; {32625#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:00,862 INFO L272 TraceCheckUtils]: 109: Hoare triple {32625#(<= ~counter~0 7)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {32625#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:00,862 INFO L290 TraceCheckUtils]: 110: Hoare triple {32625#(<= ~counter~0 7)} ~cond := #in~cond; {32625#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:00,863 INFO L290 TraceCheckUtils]: 111: Hoare triple {32625#(<= ~counter~0 7)} assume !(0 == ~cond); {32625#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:00,863 INFO L290 TraceCheckUtils]: 112: Hoare triple {32625#(<= ~counter~0 7)} assume true; {32625#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:00,863 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {32625#(<= ~counter~0 7)} {32625#(<= ~counter~0 7)} #86#return; {32625#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:00,864 INFO L290 TraceCheckUtils]: 114: Hoare triple {32625#(<= ~counter~0 7)} 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); {32625#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:00,864 INFO L290 TraceCheckUtils]: 115: Hoare triple {32625#(<= ~counter~0 7)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {32625#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:00,864 INFO L290 TraceCheckUtils]: 116: Hoare triple {32625#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32668#(<= |main_#t~post6| 7)} is VALID [2022-04-28 13:28:00,864 INFO L290 TraceCheckUtils]: 117: Hoare triple {32668#(<= |main_#t~post6| 7)} assume !(#t~post6 < 20);havoc #t~post6; {32308#false} is VALID [2022-04-28 13:28:00,864 INFO L272 TraceCheckUtils]: 118: Hoare triple {32308#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {32308#false} is VALID [2022-04-28 13:28:00,865 INFO L290 TraceCheckUtils]: 119: Hoare triple {32308#false} ~cond := #in~cond; {32308#false} is VALID [2022-04-28 13:28:00,865 INFO L290 TraceCheckUtils]: 120: Hoare triple {32308#false} assume 0 == ~cond; {32308#false} is VALID [2022-04-28 13:28:00,865 INFO L290 TraceCheckUtils]: 121: Hoare triple {32308#false} assume !false; {32308#false} is VALID [2022-04-28 13:28:00,865 INFO L134 CoverageAnalysis]: Checked inductivity of 640 backedges. 34 proven. 554 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-28 13:28:00,865 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:28:01,368 INFO L290 TraceCheckUtils]: 121: Hoare triple {32308#false} assume !false; {32308#false} is VALID [2022-04-28 13:28:01,368 INFO L290 TraceCheckUtils]: 120: Hoare triple {32308#false} assume 0 == ~cond; {32308#false} is VALID [2022-04-28 13:28:01,369 INFO L290 TraceCheckUtils]: 119: Hoare triple {32308#false} ~cond := #in~cond; {32308#false} is VALID [2022-04-28 13:28:01,369 INFO L272 TraceCheckUtils]: 118: Hoare triple {32308#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {32308#false} is VALID [2022-04-28 13:28:01,369 INFO L290 TraceCheckUtils]: 117: Hoare triple {32696#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {32308#false} is VALID [2022-04-28 13:28:01,369 INFO L290 TraceCheckUtils]: 116: Hoare triple {32700#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32696#(< |main_#t~post6| 20)} is VALID [2022-04-28 13:28:01,369 INFO L290 TraceCheckUtils]: 115: Hoare triple {32700#(< ~counter~0 20)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {32700#(< ~counter~0 20)} is VALID [2022-04-28 13:28:01,370 INFO L290 TraceCheckUtils]: 114: Hoare triple {32700#(< ~counter~0 20)} 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); {32700#(< ~counter~0 20)} is VALID [2022-04-28 13:28:01,370 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {32307#true} {32700#(< ~counter~0 20)} #86#return; {32700#(< ~counter~0 20)} is VALID [2022-04-28 13:28:01,370 INFO L290 TraceCheckUtils]: 112: Hoare triple {32307#true} assume true; {32307#true} is VALID [2022-04-28 13:28:01,370 INFO L290 TraceCheckUtils]: 111: Hoare triple {32307#true} assume !(0 == ~cond); {32307#true} is VALID [2022-04-28 13:28:01,370 INFO L290 TraceCheckUtils]: 110: Hoare triple {32307#true} ~cond := #in~cond; {32307#true} is VALID [2022-04-28 13:28:01,371 INFO L272 TraceCheckUtils]: 109: Hoare triple {32700#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {32307#true} is VALID [2022-04-28 13:28:01,371 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {32307#true} {32700#(< ~counter~0 20)} #84#return; {32700#(< ~counter~0 20)} is VALID [2022-04-28 13:28:01,371 INFO L290 TraceCheckUtils]: 107: Hoare triple {32307#true} assume true; {32307#true} is VALID [2022-04-28 13:28:01,371 INFO L290 TraceCheckUtils]: 106: Hoare triple {32307#true} assume !(0 == ~cond); {32307#true} is VALID [2022-04-28 13:28:01,371 INFO L290 TraceCheckUtils]: 105: Hoare triple {32307#true} ~cond := #in~cond; {32307#true} is VALID [2022-04-28 13:28:01,371 INFO L272 TraceCheckUtils]: 104: Hoare triple {32700#(< ~counter~0 20)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {32307#true} is VALID [2022-04-28 13:28:01,372 INFO L290 TraceCheckUtils]: 103: Hoare triple {32700#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {32700#(< ~counter~0 20)} is VALID [2022-04-28 13:28:01,372 INFO L290 TraceCheckUtils]: 102: Hoare triple {32743#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32700#(< ~counter~0 20)} is VALID [2022-04-28 13:28:01,373 INFO L290 TraceCheckUtils]: 101: Hoare triple {32743#(< ~counter~0 19)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {32743#(< ~counter~0 19)} is VALID [2022-04-28 13:28:01,373 INFO L290 TraceCheckUtils]: 100: Hoare triple {32743#(< ~counter~0 19)} 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); {32743#(< ~counter~0 19)} is VALID [2022-04-28 13:28:01,373 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {32307#true} {32743#(< ~counter~0 19)} #86#return; {32743#(< ~counter~0 19)} is VALID [2022-04-28 13:28:01,373 INFO L290 TraceCheckUtils]: 98: Hoare triple {32307#true} assume true; {32307#true} is VALID [2022-04-28 13:28:01,373 INFO L290 TraceCheckUtils]: 97: Hoare triple {32307#true} assume !(0 == ~cond); {32307#true} is VALID [2022-04-28 13:28:01,374 INFO L290 TraceCheckUtils]: 96: Hoare triple {32307#true} ~cond := #in~cond; {32307#true} is VALID [2022-04-28 13:28:01,374 INFO L272 TraceCheckUtils]: 95: Hoare triple {32743#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {32307#true} is VALID [2022-04-28 13:28:01,374 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {32307#true} {32743#(< ~counter~0 19)} #84#return; {32743#(< ~counter~0 19)} is VALID [2022-04-28 13:28:01,374 INFO L290 TraceCheckUtils]: 93: Hoare triple {32307#true} assume true; {32307#true} is VALID [2022-04-28 13:28:01,374 INFO L290 TraceCheckUtils]: 92: Hoare triple {32307#true} assume !(0 == ~cond); {32307#true} is VALID [2022-04-28 13:28:01,374 INFO L290 TraceCheckUtils]: 91: Hoare triple {32307#true} ~cond := #in~cond; {32307#true} is VALID [2022-04-28 13:28:01,374 INFO L272 TraceCheckUtils]: 90: Hoare triple {32743#(< ~counter~0 19)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {32307#true} is VALID [2022-04-28 13:28:01,376 INFO L290 TraceCheckUtils]: 89: Hoare triple {32743#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {32743#(< ~counter~0 19)} is VALID [2022-04-28 13:28:01,376 INFO L290 TraceCheckUtils]: 88: Hoare triple {32786#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32743#(< ~counter~0 19)} is VALID [2022-04-28 13:28:01,377 INFO L290 TraceCheckUtils]: 87: Hoare triple {32786#(< ~counter~0 18)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {32786#(< ~counter~0 18)} is VALID [2022-04-28 13:28:01,377 INFO L290 TraceCheckUtils]: 86: Hoare triple {32786#(< ~counter~0 18)} 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); {32786#(< ~counter~0 18)} is VALID [2022-04-28 13:28:01,377 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {32307#true} {32786#(< ~counter~0 18)} #86#return; {32786#(< ~counter~0 18)} is VALID [2022-04-28 13:28:01,377 INFO L290 TraceCheckUtils]: 84: Hoare triple {32307#true} assume true; {32307#true} is VALID [2022-04-28 13:28:01,377 INFO L290 TraceCheckUtils]: 83: Hoare triple {32307#true} assume !(0 == ~cond); {32307#true} is VALID [2022-04-28 13:28:01,378 INFO L290 TraceCheckUtils]: 82: Hoare triple {32307#true} ~cond := #in~cond; {32307#true} is VALID [2022-04-28 13:28:01,378 INFO L272 TraceCheckUtils]: 81: Hoare triple {32786#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {32307#true} is VALID [2022-04-28 13:28:01,378 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {32307#true} {32786#(< ~counter~0 18)} #84#return; {32786#(< ~counter~0 18)} is VALID [2022-04-28 13:28:01,378 INFO L290 TraceCheckUtils]: 79: Hoare triple {32307#true} assume true; {32307#true} is VALID [2022-04-28 13:28:01,378 INFO L290 TraceCheckUtils]: 78: Hoare triple {32307#true} assume !(0 == ~cond); {32307#true} is VALID [2022-04-28 13:28:01,378 INFO L290 TraceCheckUtils]: 77: Hoare triple {32307#true} ~cond := #in~cond; {32307#true} is VALID [2022-04-28 13:28:01,378 INFO L272 TraceCheckUtils]: 76: Hoare triple {32786#(< ~counter~0 18)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {32307#true} is VALID [2022-04-28 13:28:01,379 INFO L290 TraceCheckUtils]: 75: Hoare triple {32786#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {32786#(< ~counter~0 18)} is VALID [2022-04-28 13:28:01,379 INFO L290 TraceCheckUtils]: 74: Hoare triple {32829#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32786#(< ~counter~0 18)} is VALID [2022-04-28 13:28:01,379 INFO L290 TraceCheckUtils]: 73: Hoare triple {32829#(< ~counter~0 17)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {32829#(< ~counter~0 17)} is VALID [2022-04-28 13:28:01,380 INFO L290 TraceCheckUtils]: 72: Hoare triple {32829#(< ~counter~0 17)} 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); {32829#(< ~counter~0 17)} is VALID [2022-04-28 13:28:01,380 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {32307#true} {32829#(< ~counter~0 17)} #86#return; {32829#(< ~counter~0 17)} is VALID [2022-04-28 13:28:01,380 INFO L290 TraceCheckUtils]: 70: Hoare triple {32307#true} assume true; {32307#true} is VALID [2022-04-28 13:28:01,380 INFO L290 TraceCheckUtils]: 69: Hoare triple {32307#true} assume !(0 == ~cond); {32307#true} is VALID [2022-04-28 13:28:01,380 INFO L290 TraceCheckUtils]: 68: Hoare triple {32307#true} ~cond := #in~cond; {32307#true} is VALID [2022-04-28 13:28:01,380 INFO L272 TraceCheckUtils]: 67: Hoare triple {32829#(< ~counter~0 17)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {32307#true} is VALID [2022-04-28 13:28:01,381 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {32307#true} {32829#(< ~counter~0 17)} #84#return; {32829#(< ~counter~0 17)} is VALID [2022-04-28 13:28:01,381 INFO L290 TraceCheckUtils]: 65: Hoare triple {32307#true} assume true; {32307#true} is VALID [2022-04-28 13:28:01,381 INFO L290 TraceCheckUtils]: 64: Hoare triple {32307#true} assume !(0 == ~cond); {32307#true} is VALID [2022-04-28 13:28:01,381 INFO L290 TraceCheckUtils]: 63: Hoare triple {32307#true} ~cond := #in~cond; {32307#true} is VALID [2022-04-28 13:28:01,381 INFO L272 TraceCheckUtils]: 62: Hoare triple {32829#(< ~counter~0 17)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {32307#true} is VALID [2022-04-28 13:28:01,381 INFO L290 TraceCheckUtils]: 61: Hoare triple {32829#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {32829#(< ~counter~0 17)} is VALID [2022-04-28 13:28:01,382 INFO L290 TraceCheckUtils]: 60: Hoare triple {32872#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32829#(< ~counter~0 17)} is VALID [2022-04-28 13:28:01,382 INFO L290 TraceCheckUtils]: 59: Hoare triple {32872#(< ~counter~0 16)} assume !(~r~0 >= ~d~0); {32872#(< ~counter~0 16)} is VALID [2022-04-28 13:28:01,383 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {32307#true} {32872#(< ~counter~0 16)} #82#return; {32872#(< ~counter~0 16)} is VALID [2022-04-28 13:28:01,383 INFO L290 TraceCheckUtils]: 57: Hoare triple {32307#true} assume true; {32307#true} is VALID [2022-04-28 13:28:01,383 INFO L290 TraceCheckUtils]: 56: Hoare triple {32307#true} assume !(0 == ~cond); {32307#true} is VALID [2022-04-28 13:28:01,383 INFO L290 TraceCheckUtils]: 55: Hoare triple {32307#true} ~cond := #in~cond; {32307#true} is VALID [2022-04-28 13:28:01,383 INFO L272 TraceCheckUtils]: 54: Hoare triple {32872#(< ~counter~0 16)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {32307#true} is VALID [2022-04-28 13:28:01,383 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {32307#true} {32872#(< ~counter~0 16)} #80#return; {32872#(< ~counter~0 16)} is VALID [2022-04-28 13:28:01,383 INFO L290 TraceCheckUtils]: 52: Hoare triple {32307#true} assume true; {32307#true} is VALID [2022-04-28 13:28:01,383 INFO L290 TraceCheckUtils]: 51: Hoare triple {32307#true} assume !(0 == ~cond); {32307#true} is VALID [2022-04-28 13:28:01,384 INFO L290 TraceCheckUtils]: 50: Hoare triple {32307#true} ~cond := #in~cond; {32307#true} is VALID [2022-04-28 13:28:01,384 INFO L272 TraceCheckUtils]: 49: Hoare triple {32872#(< ~counter~0 16)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {32307#true} is VALID [2022-04-28 13:28:01,384 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {32307#true} {32872#(< ~counter~0 16)} #78#return; {32872#(< ~counter~0 16)} is VALID [2022-04-28 13:28:01,384 INFO L290 TraceCheckUtils]: 47: Hoare triple {32307#true} assume true; {32307#true} is VALID [2022-04-28 13:28:01,384 INFO L290 TraceCheckUtils]: 46: Hoare triple {32307#true} assume !(0 == ~cond); {32307#true} is VALID [2022-04-28 13:28:01,384 INFO L290 TraceCheckUtils]: 45: Hoare triple {32307#true} ~cond := #in~cond; {32307#true} is VALID [2022-04-28 13:28:01,384 INFO L272 TraceCheckUtils]: 44: Hoare triple {32872#(< ~counter~0 16)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {32307#true} is VALID [2022-04-28 13:28:01,384 INFO L290 TraceCheckUtils]: 43: Hoare triple {32872#(< ~counter~0 16)} assume !!(#t~post5 < 20);havoc #t~post5; {32872#(< ~counter~0 16)} is VALID [2022-04-28 13:28:01,385 INFO L290 TraceCheckUtils]: 42: Hoare triple {32927#(< ~counter~0 15)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {32872#(< ~counter~0 16)} is VALID [2022-04-28 13:28:01,385 INFO L290 TraceCheckUtils]: 41: Hoare triple {32927#(< ~counter~0 15)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {32927#(< ~counter~0 15)} is VALID [2022-04-28 13:28:01,386 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {32307#true} {32927#(< ~counter~0 15)} #82#return; {32927#(< ~counter~0 15)} is VALID [2022-04-28 13:28:01,386 INFO L290 TraceCheckUtils]: 39: Hoare triple {32307#true} assume true; {32307#true} is VALID [2022-04-28 13:28:01,386 INFO L290 TraceCheckUtils]: 38: Hoare triple {32307#true} assume !(0 == ~cond); {32307#true} is VALID [2022-04-28 13:28:01,386 INFO L290 TraceCheckUtils]: 37: Hoare triple {32307#true} ~cond := #in~cond; {32307#true} is VALID [2022-04-28 13:28:01,386 INFO L272 TraceCheckUtils]: 36: Hoare triple {32927#(< ~counter~0 15)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {32307#true} is VALID [2022-04-28 13:28:01,386 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {32307#true} {32927#(< ~counter~0 15)} #80#return; {32927#(< ~counter~0 15)} is VALID [2022-04-28 13:28:01,386 INFO L290 TraceCheckUtils]: 34: Hoare triple {32307#true} assume true; {32307#true} is VALID [2022-04-28 13:28:01,386 INFO L290 TraceCheckUtils]: 33: Hoare triple {32307#true} assume !(0 == ~cond); {32307#true} is VALID [2022-04-28 13:28:01,387 INFO L290 TraceCheckUtils]: 32: Hoare triple {32307#true} ~cond := #in~cond; {32307#true} is VALID [2022-04-28 13:28:01,387 INFO L272 TraceCheckUtils]: 31: Hoare triple {32927#(< ~counter~0 15)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {32307#true} is VALID [2022-04-28 13:28:01,387 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {32307#true} {32927#(< ~counter~0 15)} #78#return; {32927#(< ~counter~0 15)} is VALID [2022-04-28 13:28:01,387 INFO L290 TraceCheckUtils]: 29: Hoare triple {32307#true} assume true; {32307#true} is VALID [2022-04-28 13:28:01,387 INFO L290 TraceCheckUtils]: 28: Hoare triple {32307#true} assume !(0 == ~cond); {32307#true} is VALID [2022-04-28 13:28:01,387 INFO L290 TraceCheckUtils]: 27: Hoare triple {32307#true} ~cond := #in~cond; {32307#true} is VALID [2022-04-28 13:28:01,387 INFO L272 TraceCheckUtils]: 26: Hoare triple {32927#(< ~counter~0 15)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {32307#true} is VALID [2022-04-28 13:28:01,387 INFO L290 TraceCheckUtils]: 25: Hoare triple {32927#(< ~counter~0 15)} assume !!(#t~post5 < 20);havoc #t~post5; {32927#(< ~counter~0 15)} is VALID [2022-04-28 13:28:01,388 INFO L290 TraceCheckUtils]: 24: Hoare triple {32982#(< ~counter~0 14)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {32927#(< ~counter~0 15)} is VALID [2022-04-28 13:28:01,388 INFO L290 TraceCheckUtils]: 23: Hoare triple {32982#(< ~counter~0 14)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {32982#(< ~counter~0 14)} is VALID [2022-04-28 13:28:01,389 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {32307#true} {32982#(< ~counter~0 14)} #82#return; {32982#(< ~counter~0 14)} is VALID [2022-04-28 13:28:01,389 INFO L290 TraceCheckUtils]: 21: Hoare triple {32307#true} assume true; {32307#true} is VALID [2022-04-28 13:28:01,389 INFO L290 TraceCheckUtils]: 20: Hoare triple {32307#true} assume !(0 == ~cond); {32307#true} is VALID [2022-04-28 13:28:01,389 INFO L290 TraceCheckUtils]: 19: Hoare triple {32307#true} ~cond := #in~cond; {32307#true} is VALID [2022-04-28 13:28:01,389 INFO L272 TraceCheckUtils]: 18: Hoare triple {32982#(< ~counter~0 14)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {32307#true} is VALID [2022-04-28 13:28:01,391 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {32307#true} {32982#(< ~counter~0 14)} #80#return; {32982#(< ~counter~0 14)} is VALID [2022-04-28 13:28:01,391 INFO L290 TraceCheckUtils]: 16: Hoare triple {32307#true} assume true; {32307#true} is VALID [2022-04-28 13:28:01,391 INFO L290 TraceCheckUtils]: 15: Hoare triple {32307#true} assume !(0 == ~cond); {32307#true} is VALID [2022-04-28 13:28:01,391 INFO L290 TraceCheckUtils]: 14: Hoare triple {32307#true} ~cond := #in~cond; {32307#true} is VALID [2022-04-28 13:28:01,392 INFO L272 TraceCheckUtils]: 13: Hoare triple {32982#(< ~counter~0 14)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {32307#true} is VALID [2022-04-28 13:28:01,392 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {32307#true} {32982#(< ~counter~0 14)} #78#return; {32982#(< ~counter~0 14)} is VALID [2022-04-28 13:28:01,392 INFO L290 TraceCheckUtils]: 11: Hoare triple {32307#true} assume true; {32307#true} is VALID [2022-04-28 13:28:01,392 INFO L290 TraceCheckUtils]: 10: Hoare triple {32307#true} assume !(0 == ~cond); {32307#true} is VALID [2022-04-28 13:28:01,392 INFO L290 TraceCheckUtils]: 9: Hoare triple {32307#true} ~cond := #in~cond; {32307#true} is VALID [2022-04-28 13:28:01,392 INFO L272 TraceCheckUtils]: 8: Hoare triple {32982#(< ~counter~0 14)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {32307#true} is VALID [2022-04-28 13:28:01,393 INFO L290 TraceCheckUtils]: 7: Hoare triple {32982#(< ~counter~0 14)} assume !!(#t~post5 < 20);havoc #t~post5; {32982#(< ~counter~0 14)} is VALID [2022-04-28 13:28:01,393 INFO L290 TraceCheckUtils]: 6: Hoare triple {33037#(< ~counter~0 13)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {32982#(< ~counter~0 14)} is VALID [2022-04-28 13:28:01,394 INFO L290 TraceCheckUtils]: 5: Hoare triple {33037#(< ~counter~0 13)} 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; {33037#(< ~counter~0 13)} is VALID [2022-04-28 13:28:01,394 INFO L272 TraceCheckUtils]: 4: Hoare triple {33037#(< ~counter~0 13)} call #t~ret7 := main(); {33037#(< ~counter~0 13)} is VALID [2022-04-28 13:28:01,394 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33037#(< ~counter~0 13)} {32307#true} #92#return; {33037#(< ~counter~0 13)} is VALID [2022-04-28 13:28:01,395 INFO L290 TraceCheckUtils]: 2: Hoare triple {33037#(< ~counter~0 13)} assume true; {33037#(< ~counter~0 13)} is VALID [2022-04-28 13:28:01,395 INFO L290 TraceCheckUtils]: 1: Hoare triple {32307#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {33037#(< ~counter~0 13)} is VALID [2022-04-28 13:28:01,395 INFO L272 TraceCheckUtils]: 0: Hoare triple {32307#true} call ULTIMATE.init(); {32307#true} is VALID [2022-04-28 13:28:01,396 INFO L134 CoverageAnalysis]: Checked inductivity of 640 backedges. 34 proven. 62 refuted. 0 times theorem prover too weak. 544 trivial. 0 not checked. [2022-04-28 13:28:01,396 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:28:01,396 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1529340535] [2022-04-28 13:28:01,396 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:28:01,396 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1669966773] [2022-04-28 13:28:01,396 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1669966773] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:28:01,396 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:28:01,396 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 20 [2022-04-28 13:28:01,396 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:28:01,396 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [696421869] [2022-04-28 13:28:01,396 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [696421869] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:28:01,396 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:28:01,396 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 13:28:01,397 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [758320678] [2022-04-28 13:28:01,397 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:28:01,397 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 4.909090909090909) internal successors, (54), 10 states have internal predecessors, (54), 10 states have call successors, (20), 10 states have call predecessors, (20), 8 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) Word has length 122 [2022-04-28 13:28:01,397 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:28:01,397 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 4.909090909090909) internal successors, (54), 10 states have internal predecessors, (54), 10 states have call successors, (20), 10 states have call predecessors, (20), 8 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 13:28:01,471 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:01,471 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 13:28:01,472 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:28:01,472 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 13:28:01,472 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=158, Invalid=222, Unknown=0, NotChecked=0, Total=380 [2022-04-28 13:28:01,472 INFO L87 Difference]: Start difference. First operand 309 states and 344 transitions. Second operand has 11 states, 11 states have (on average 4.909090909090909) internal successors, (54), 10 states have internal predecessors, (54), 10 states have call successors, (20), 10 states have call predecessors, (20), 8 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 13:28:02,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:02,578 INFO L93 Difference]: Finished difference Result 403 states and 458 transitions. [2022-04-28 13:28:02,579 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 13:28:02,579 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 4.909090909090909) internal successors, (54), 10 states have internal predecessors, (54), 10 states have call successors, (20), 10 states have call predecessors, (20), 8 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) Word has length 122 [2022-04-28 13:28:02,579 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:28:02,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 4.909090909090909) internal successors, (54), 10 states have internal predecessors, (54), 10 states have call successors, (20), 10 states have call predecessors, (20), 8 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 13:28:02,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 171 transitions. [2022-04-28 13:28:02,580 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 4.909090909090909) internal successors, (54), 10 states have internal predecessors, (54), 10 states have call successors, (20), 10 states have call predecessors, (20), 8 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 13:28:02,581 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 171 transitions. [2022-04-28 13:28:02,582 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 171 transitions. [2022-04-28 13:28:02,700 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 171 edges. 171 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:02,707 INFO L225 Difference]: With dead ends: 403 [2022-04-28 13:28:02,708 INFO L226 Difference]: Without dead ends: 390 [2022-04-28 13:28:02,708 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 247 GetRequests, 225 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=222, Invalid=330, Unknown=0, NotChecked=0, Total=552 [2022-04-28 13:28:02,708 INFO L413 NwaCegarLoop]: 61 mSDtfsCounter, 74 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 107 mSolverCounterSat, 79 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 74 SdHoareTripleChecker+Valid, 204 SdHoareTripleChecker+Invalid, 186 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 79 IncrementalHoareTripleChecker+Valid, 107 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 13:28:02,708 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [74 Valid, 204 Invalid, 186 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [79 Valid, 107 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 13:28:02,709 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 390 states. [2022-04-28 13:28:03,239 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 390 to 389. [2022-04-28 13:28:03,239 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:28:03,239 INFO L82 GeneralOperation]: Start isEquivalent. First operand 390 states. Second operand has 389 states, 267 states have (on average 1.1086142322097379) internal successors, (296), 273 states have internal predecessors, (296), 71 states have call successors, (71), 51 states have call predecessors, (71), 50 states have return successors, (69), 64 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 13:28:03,240 INFO L74 IsIncluded]: Start isIncluded. First operand 390 states. Second operand has 389 states, 267 states have (on average 1.1086142322097379) internal successors, (296), 273 states have internal predecessors, (296), 71 states have call successors, (71), 51 states have call predecessors, (71), 50 states have return successors, (69), 64 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 13:28:03,240 INFO L87 Difference]: Start difference. First operand 390 states. Second operand has 389 states, 267 states have (on average 1.1086142322097379) internal successors, (296), 273 states have internal predecessors, (296), 71 states have call successors, (71), 51 states have call predecessors, (71), 50 states have return successors, (69), 64 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 13:28:03,246 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:03,246 INFO L93 Difference]: Finished difference Result 390 states and 437 transitions. [2022-04-28 13:28:03,246 INFO L276 IsEmpty]: Start isEmpty. Operand 390 states and 437 transitions. [2022-04-28 13:28:03,247 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:28:03,247 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:28:03,247 INFO L74 IsIncluded]: Start isIncluded. First operand has 389 states, 267 states have (on average 1.1086142322097379) internal successors, (296), 273 states have internal predecessors, (296), 71 states have call successors, (71), 51 states have call predecessors, (71), 50 states have return successors, (69), 64 states have call predecessors, (69), 69 states have call successors, (69) Second operand 390 states. [2022-04-28 13:28:03,248 INFO L87 Difference]: Start difference. First operand has 389 states, 267 states have (on average 1.1086142322097379) internal successors, (296), 273 states have internal predecessors, (296), 71 states have call successors, (71), 51 states have call predecessors, (71), 50 states have return successors, (69), 64 states have call predecessors, (69), 69 states have call successors, (69) Second operand 390 states. [2022-04-28 13:28:03,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:03,254 INFO L93 Difference]: Finished difference Result 390 states and 437 transitions. [2022-04-28 13:28:03,254 INFO L276 IsEmpty]: Start isEmpty. Operand 390 states and 437 transitions. [2022-04-28 13:28:03,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:28:03,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:28:03,254 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:28:03,254 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:28:03,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 389 states, 267 states have (on average 1.1086142322097379) internal successors, (296), 273 states have internal predecessors, (296), 71 states have call successors, (71), 51 states have call predecessors, (71), 50 states have return successors, (69), 64 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 13:28:03,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 389 states to 389 states and 436 transitions. [2022-04-28 13:28:03,263 INFO L78 Accepts]: Start accepts. Automaton has 389 states and 436 transitions. Word has length 122 [2022-04-28 13:28:03,264 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:28:03,264 INFO L495 AbstractCegarLoop]: Abstraction has 389 states and 436 transitions. [2022-04-28 13:28:03,264 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 4.909090909090909) internal successors, (54), 10 states have internal predecessors, (54), 10 states have call successors, (20), 10 states have call predecessors, (20), 8 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 13:28:03,264 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 389 states and 436 transitions. [2022-04-28 13:28:04,064 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 436 edges. 436 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:04,064 INFO L276 IsEmpty]: Start isEmpty. Operand 389 states and 436 transitions. [2022-04-28 13:28:04,065 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 137 [2022-04-28 13:28:04,065 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:28:04,065 INFO L195 NwaCegarLoop]: trace histogram [21, 20, 20, 7, 6, 6, 6, 6, 6, 6, 6, 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:28:04,091 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-28 13:28:04,266 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable26,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:28:04,266 INFO L420 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:28:04,266 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:28:04,266 INFO L85 PathProgramCache]: Analyzing trace with hash -867526735, now seen corresponding path program 3 times [2022-04-28 13:28:04,266 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:28:04,266 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1695415660] [2022-04-28 13:28:07,087 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:28:07,087 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:28:07,087 INFO L85 PathProgramCache]: Analyzing trace with hash -867526735, now seen corresponding path program 4 times [2022-04-28 13:28:07,088 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:28:07,088 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [657270213] [2022-04-28 13:28:07,088 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:28:07,088 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:28:07,097 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:28:07,098 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1011613929] [2022-04-28 13:28:07,098 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:28:07,098 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:28:07,098 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:28:07,099 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:28:07,100 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-28 13:28:07,167 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:28:07,168 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:28:07,169 INFO L263 TraceCheckSpWp]: Trace formula consists of 335 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 13:28:07,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:28:07,188 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:28:07,724 INFO L272 TraceCheckUtils]: 0: Hoare triple {35430#true} call ULTIMATE.init(); {35430#true} is VALID [2022-04-28 13:28:07,725 INFO L290 TraceCheckUtils]: 1: Hoare triple {35430#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {35438#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:07,725 INFO L290 TraceCheckUtils]: 2: Hoare triple {35438#(<= ~counter~0 0)} assume true; {35438#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:07,725 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35438#(<= ~counter~0 0)} {35430#true} #92#return; {35438#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:07,726 INFO L272 TraceCheckUtils]: 4: Hoare triple {35438#(<= ~counter~0 0)} call #t~ret7 := main(); {35438#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:07,726 INFO L290 TraceCheckUtils]: 5: Hoare triple {35438#(<= ~counter~0 0)} 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; {35438#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:07,727 INFO L290 TraceCheckUtils]: 6: Hoare triple {35438#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {35454#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:07,727 INFO L290 TraceCheckUtils]: 7: Hoare triple {35454#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {35454#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:07,727 INFO L272 TraceCheckUtils]: 8: Hoare triple {35454#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35454#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:07,728 INFO L290 TraceCheckUtils]: 9: Hoare triple {35454#(<= ~counter~0 1)} ~cond := #in~cond; {35454#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:07,728 INFO L290 TraceCheckUtils]: 10: Hoare triple {35454#(<= ~counter~0 1)} assume !(0 == ~cond); {35454#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:07,728 INFO L290 TraceCheckUtils]: 11: Hoare triple {35454#(<= ~counter~0 1)} assume true; {35454#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:07,728 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {35454#(<= ~counter~0 1)} {35454#(<= ~counter~0 1)} #78#return; {35454#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:07,729 INFO L272 TraceCheckUtils]: 13: Hoare triple {35454#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {35454#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:07,729 INFO L290 TraceCheckUtils]: 14: Hoare triple {35454#(<= ~counter~0 1)} ~cond := #in~cond; {35454#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:07,729 INFO L290 TraceCheckUtils]: 15: Hoare triple {35454#(<= ~counter~0 1)} assume !(0 == ~cond); {35454#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:07,730 INFO L290 TraceCheckUtils]: 16: Hoare triple {35454#(<= ~counter~0 1)} assume true; {35454#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:07,730 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {35454#(<= ~counter~0 1)} {35454#(<= ~counter~0 1)} #80#return; {35454#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:07,730 INFO L272 TraceCheckUtils]: 18: Hoare triple {35454#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {35454#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:07,731 INFO L290 TraceCheckUtils]: 19: Hoare triple {35454#(<= ~counter~0 1)} ~cond := #in~cond; {35454#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:07,731 INFO L290 TraceCheckUtils]: 20: Hoare triple {35454#(<= ~counter~0 1)} assume !(0 == ~cond); {35454#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:07,731 INFO L290 TraceCheckUtils]: 21: Hoare triple {35454#(<= ~counter~0 1)} assume true; {35454#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:07,732 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {35454#(<= ~counter~0 1)} {35454#(<= ~counter~0 1)} #82#return; {35454#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:07,732 INFO L290 TraceCheckUtils]: 23: Hoare triple {35454#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {35454#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:07,732 INFO L290 TraceCheckUtils]: 24: Hoare triple {35454#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {35509#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:07,733 INFO L290 TraceCheckUtils]: 25: Hoare triple {35509#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {35509#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:07,733 INFO L272 TraceCheckUtils]: 26: Hoare triple {35509#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35509#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:07,733 INFO L290 TraceCheckUtils]: 27: Hoare triple {35509#(<= ~counter~0 2)} ~cond := #in~cond; {35509#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:07,734 INFO L290 TraceCheckUtils]: 28: Hoare triple {35509#(<= ~counter~0 2)} assume !(0 == ~cond); {35509#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:07,734 INFO L290 TraceCheckUtils]: 29: Hoare triple {35509#(<= ~counter~0 2)} assume true; {35509#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:07,734 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {35509#(<= ~counter~0 2)} {35509#(<= ~counter~0 2)} #78#return; {35509#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:07,735 INFO L272 TraceCheckUtils]: 31: Hoare triple {35509#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {35509#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:07,735 INFO L290 TraceCheckUtils]: 32: Hoare triple {35509#(<= ~counter~0 2)} ~cond := #in~cond; {35509#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:07,735 INFO L290 TraceCheckUtils]: 33: Hoare triple {35509#(<= ~counter~0 2)} assume !(0 == ~cond); {35509#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:07,735 INFO L290 TraceCheckUtils]: 34: Hoare triple {35509#(<= ~counter~0 2)} assume true; {35509#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:07,736 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {35509#(<= ~counter~0 2)} {35509#(<= ~counter~0 2)} #80#return; {35509#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:07,736 INFO L272 TraceCheckUtils]: 36: Hoare triple {35509#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {35509#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:07,736 INFO L290 TraceCheckUtils]: 37: Hoare triple {35509#(<= ~counter~0 2)} ~cond := #in~cond; {35509#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:07,737 INFO L290 TraceCheckUtils]: 38: Hoare triple {35509#(<= ~counter~0 2)} assume !(0 == ~cond); {35509#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:07,737 INFO L290 TraceCheckUtils]: 39: Hoare triple {35509#(<= ~counter~0 2)} assume true; {35509#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:07,737 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {35509#(<= ~counter~0 2)} {35509#(<= ~counter~0 2)} #82#return; {35509#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:07,738 INFO L290 TraceCheckUtils]: 41: Hoare triple {35509#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {35509#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:07,738 INFO L290 TraceCheckUtils]: 42: Hoare triple {35509#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {35564#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:07,739 INFO L290 TraceCheckUtils]: 43: Hoare triple {35564#(<= ~counter~0 3)} assume !!(#t~post5 < 20);havoc #t~post5; {35564#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:07,739 INFO L272 TraceCheckUtils]: 44: Hoare triple {35564#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35564#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:07,739 INFO L290 TraceCheckUtils]: 45: Hoare triple {35564#(<= ~counter~0 3)} ~cond := #in~cond; {35564#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:07,739 INFO L290 TraceCheckUtils]: 46: Hoare triple {35564#(<= ~counter~0 3)} assume !(0 == ~cond); {35564#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:07,740 INFO L290 TraceCheckUtils]: 47: Hoare triple {35564#(<= ~counter~0 3)} assume true; {35564#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:07,740 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {35564#(<= ~counter~0 3)} {35564#(<= ~counter~0 3)} #78#return; {35564#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:07,740 INFO L272 TraceCheckUtils]: 49: Hoare triple {35564#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {35564#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:07,741 INFO L290 TraceCheckUtils]: 50: Hoare triple {35564#(<= ~counter~0 3)} ~cond := #in~cond; {35564#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:07,741 INFO L290 TraceCheckUtils]: 51: Hoare triple {35564#(<= ~counter~0 3)} assume !(0 == ~cond); {35564#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:07,746 INFO L290 TraceCheckUtils]: 52: Hoare triple {35564#(<= ~counter~0 3)} assume true; {35564#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:07,746 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {35564#(<= ~counter~0 3)} {35564#(<= ~counter~0 3)} #80#return; {35564#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:07,747 INFO L272 TraceCheckUtils]: 54: Hoare triple {35564#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {35564#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:07,747 INFO L290 TraceCheckUtils]: 55: Hoare triple {35564#(<= ~counter~0 3)} ~cond := #in~cond; {35564#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:07,747 INFO L290 TraceCheckUtils]: 56: Hoare triple {35564#(<= ~counter~0 3)} assume !(0 == ~cond); {35564#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:07,748 INFO L290 TraceCheckUtils]: 57: Hoare triple {35564#(<= ~counter~0 3)} assume true; {35564#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:07,748 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {35564#(<= ~counter~0 3)} {35564#(<= ~counter~0 3)} #82#return; {35564#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:07,748 INFO L290 TraceCheckUtils]: 59: Hoare triple {35564#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {35564#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:07,749 INFO L290 TraceCheckUtils]: 60: Hoare triple {35564#(<= ~counter~0 3)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {35619#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:07,750 INFO L290 TraceCheckUtils]: 61: Hoare triple {35619#(<= ~counter~0 4)} assume !!(#t~post5 < 20);havoc #t~post5; {35619#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:07,750 INFO L272 TraceCheckUtils]: 62: Hoare triple {35619#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35619#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:07,750 INFO L290 TraceCheckUtils]: 63: Hoare triple {35619#(<= ~counter~0 4)} ~cond := #in~cond; {35619#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:07,751 INFO L290 TraceCheckUtils]: 64: Hoare triple {35619#(<= ~counter~0 4)} assume !(0 == ~cond); {35619#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:07,751 INFO L290 TraceCheckUtils]: 65: Hoare triple {35619#(<= ~counter~0 4)} assume true; {35619#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:07,751 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {35619#(<= ~counter~0 4)} {35619#(<= ~counter~0 4)} #78#return; {35619#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:07,752 INFO L272 TraceCheckUtils]: 67: Hoare triple {35619#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {35619#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:07,752 INFO L290 TraceCheckUtils]: 68: Hoare triple {35619#(<= ~counter~0 4)} ~cond := #in~cond; {35619#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:07,752 INFO L290 TraceCheckUtils]: 69: Hoare triple {35619#(<= ~counter~0 4)} assume !(0 == ~cond); {35619#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:07,752 INFO L290 TraceCheckUtils]: 70: Hoare triple {35619#(<= ~counter~0 4)} assume true; {35619#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:07,753 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {35619#(<= ~counter~0 4)} {35619#(<= ~counter~0 4)} #80#return; {35619#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:07,753 INFO L272 TraceCheckUtils]: 72: Hoare triple {35619#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {35619#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:07,753 INFO L290 TraceCheckUtils]: 73: Hoare triple {35619#(<= ~counter~0 4)} ~cond := #in~cond; {35619#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:07,754 INFO L290 TraceCheckUtils]: 74: Hoare triple {35619#(<= ~counter~0 4)} assume !(0 == ~cond); {35619#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:07,754 INFO L290 TraceCheckUtils]: 75: Hoare triple {35619#(<= ~counter~0 4)} assume true; {35619#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:07,754 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {35619#(<= ~counter~0 4)} {35619#(<= ~counter~0 4)} #82#return; {35619#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:07,755 INFO L290 TraceCheckUtils]: 77: Hoare triple {35619#(<= ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {35619#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:07,756 INFO L290 TraceCheckUtils]: 78: Hoare triple {35619#(<= ~counter~0 4)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {35674#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:07,756 INFO L290 TraceCheckUtils]: 79: Hoare triple {35674#(<= ~counter~0 5)} assume !!(#t~post5 < 20);havoc #t~post5; {35674#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:07,756 INFO L272 TraceCheckUtils]: 80: Hoare triple {35674#(<= ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35674#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:07,757 INFO L290 TraceCheckUtils]: 81: Hoare triple {35674#(<= ~counter~0 5)} ~cond := #in~cond; {35674#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:07,757 INFO L290 TraceCheckUtils]: 82: Hoare triple {35674#(<= ~counter~0 5)} assume !(0 == ~cond); {35674#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:07,757 INFO L290 TraceCheckUtils]: 83: Hoare triple {35674#(<= ~counter~0 5)} assume true; {35674#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:07,758 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {35674#(<= ~counter~0 5)} {35674#(<= ~counter~0 5)} #78#return; {35674#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:07,758 INFO L272 TraceCheckUtils]: 85: Hoare triple {35674#(<= ~counter~0 5)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {35674#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:07,758 INFO L290 TraceCheckUtils]: 86: Hoare triple {35674#(<= ~counter~0 5)} ~cond := #in~cond; {35674#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:07,758 INFO L290 TraceCheckUtils]: 87: Hoare triple {35674#(<= ~counter~0 5)} assume !(0 == ~cond); {35674#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:07,759 INFO L290 TraceCheckUtils]: 88: Hoare triple {35674#(<= ~counter~0 5)} assume true; {35674#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:07,759 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {35674#(<= ~counter~0 5)} {35674#(<= ~counter~0 5)} #80#return; {35674#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:07,760 INFO L272 TraceCheckUtils]: 90: Hoare triple {35674#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {35674#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:07,760 INFO L290 TraceCheckUtils]: 91: Hoare triple {35674#(<= ~counter~0 5)} ~cond := #in~cond; {35674#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:07,760 INFO L290 TraceCheckUtils]: 92: Hoare triple {35674#(<= ~counter~0 5)} assume !(0 == ~cond); {35674#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:07,760 INFO L290 TraceCheckUtils]: 93: Hoare triple {35674#(<= ~counter~0 5)} assume true; {35674#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:07,761 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {35674#(<= ~counter~0 5)} {35674#(<= ~counter~0 5)} #82#return; {35674#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:07,761 INFO L290 TraceCheckUtils]: 95: Hoare triple {35674#(<= ~counter~0 5)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {35674#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:07,762 INFO L290 TraceCheckUtils]: 96: Hoare triple {35674#(<= ~counter~0 5)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {35729#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:07,763 INFO L290 TraceCheckUtils]: 97: Hoare triple {35729#(<= ~counter~0 6)} assume !!(#t~post5 < 20);havoc #t~post5; {35729#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:07,763 INFO L272 TraceCheckUtils]: 98: Hoare triple {35729#(<= ~counter~0 6)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35729#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:07,763 INFO L290 TraceCheckUtils]: 99: Hoare triple {35729#(<= ~counter~0 6)} ~cond := #in~cond; {35729#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:07,763 INFO L290 TraceCheckUtils]: 100: Hoare triple {35729#(<= ~counter~0 6)} assume !(0 == ~cond); {35729#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:07,764 INFO L290 TraceCheckUtils]: 101: Hoare triple {35729#(<= ~counter~0 6)} assume true; {35729#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:07,764 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {35729#(<= ~counter~0 6)} {35729#(<= ~counter~0 6)} #78#return; {35729#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:07,764 INFO L272 TraceCheckUtils]: 103: Hoare triple {35729#(<= ~counter~0 6)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {35729#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:07,765 INFO L290 TraceCheckUtils]: 104: Hoare triple {35729#(<= ~counter~0 6)} ~cond := #in~cond; {35729#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:07,765 INFO L290 TraceCheckUtils]: 105: Hoare triple {35729#(<= ~counter~0 6)} assume !(0 == ~cond); {35729#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:07,765 INFO L290 TraceCheckUtils]: 106: Hoare triple {35729#(<= ~counter~0 6)} assume true; {35729#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:07,766 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {35729#(<= ~counter~0 6)} {35729#(<= ~counter~0 6)} #80#return; {35729#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:07,767 INFO L272 TraceCheckUtils]: 108: Hoare triple {35729#(<= ~counter~0 6)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {35729#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:07,767 INFO L290 TraceCheckUtils]: 109: Hoare triple {35729#(<= ~counter~0 6)} ~cond := #in~cond; {35729#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:07,767 INFO L290 TraceCheckUtils]: 110: Hoare triple {35729#(<= ~counter~0 6)} assume !(0 == ~cond); {35729#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:07,767 INFO L290 TraceCheckUtils]: 111: Hoare triple {35729#(<= ~counter~0 6)} assume true; {35729#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:07,768 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {35729#(<= ~counter~0 6)} {35729#(<= ~counter~0 6)} #82#return; {35729#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:07,768 INFO L290 TraceCheckUtils]: 113: Hoare triple {35729#(<= ~counter~0 6)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {35729#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:07,768 INFO L290 TraceCheckUtils]: 114: Hoare triple {35729#(<= ~counter~0 6)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {35784#(<= |main_#t~post5| 6)} is VALID [2022-04-28 13:28:07,769 INFO L290 TraceCheckUtils]: 115: Hoare triple {35784#(<= |main_#t~post5| 6)} assume !(#t~post5 < 20);havoc #t~post5; {35431#false} is VALID [2022-04-28 13:28:07,769 INFO L290 TraceCheckUtils]: 116: Hoare triple {35431#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35431#false} is VALID [2022-04-28 13:28:07,769 INFO L290 TraceCheckUtils]: 117: Hoare triple {35431#false} assume !!(#t~post6 < 20);havoc #t~post6; {35431#false} is VALID [2022-04-28 13:28:07,769 INFO L272 TraceCheckUtils]: 118: Hoare triple {35431#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {35431#false} is VALID [2022-04-28 13:28:07,769 INFO L290 TraceCheckUtils]: 119: Hoare triple {35431#false} ~cond := #in~cond; {35431#false} is VALID [2022-04-28 13:28:07,769 INFO L290 TraceCheckUtils]: 120: Hoare triple {35431#false} assume !(0 == ~cond); {35431#false} is VALID [2022-04-28 13:28:07,769 INFO L290 TraceCheckUtils]: 121: Hoare triple {35431#false} assume true; {35431#false} is VALID [2022-04-28 13:28:07,769 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {35431#false} {35431#false} #84#return; {35431#false} is VALID [2022-04-28 13:28:07,769 INFO L272 TraceCheckUtils]: 123: Hoare triple {35431#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {35431#false} is VALID [2022-04-28 13:28:07,769 INFO L290 TraceCheckUtils]: 124: Hoare triple {35431#false} ~cond := #in~cond; {35431#false} is VALID [2022-04-28 13:28:07,769 INFO L290 TraceCheckUtils]: 125: Hoare triple {35431#false} assume !(0 == ~cond); {35431#false} is VALID [2022-04-28 13:28:07,770 INFO L290 TraceCheckUtils]: 126: Hoare triple {35431#false} assume true; {35431#false} is VALID [2022-04-28 13:28:07,770 INFO L284 TraceCheckUtils]: 127: Hoare quadruple {35431#false} {35431#false} #86#return; {35431#false} is VALID [2022-04-28 13:28:07,770 INFO L290 TraceCheckUtils]: 128: Hoare triple {35431#false} 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); {35431#false} is VALID [2022-04-28 13:28:07,770 INFO L290 TraceCheckUtils]: 129: Hoare triple {35431#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {35431#false} is VALID [2022-04-28 13:28:07,770 INFO L290 TraceCheckUtils]: 130: Hoare triple {35431#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35431#false} is VALID [2022-04-28 13:28:07,770 INFO L290 TraceCheckUtils]: 131: Hoare triple {35431#false} assume !(#t~post6 < 20);havoc #t~post6; {35431#false} is VALID [2022-04-28 13:28:07,770 INFO L272 TraceCheckUtils]: 132: Hoare triple {35431#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {35431#false} is VALID [2022-04-28 13:28:07,770 INFO L290 TraceCheckUtils]: 133: Hoare triple {35431#false} ~cond := #in~cond; {35431#false} is VALID [2022-04-28 13:28:07,770 INFO L290 TraceCheckUtils]: 134: Hoare triple {35431#false} assume 0 == ~cond; {35431#false} is VALID [2022-04-28 13:28:07,770 INFO L290 TraceCheckUtils]: 135: Hoare triple {35431#false} assume !false; {35431#false} is VALID [2022-04-28 13:28:07,771 INFO L134 CoverageAnalysis]: Checked inductivity of 904 backedges. 180 proven. 642 refuted. 0 times theorem prover too weak. 82 trivial. 0 not checked. [2022-04-28 13:28:07,771 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:28:08,328 INFO L290 TraceCheckUtils]: 135: Hoare triple {35431#false} assume !false; {35431#false} is VALID [2022-04-28 13:28:08,328 INFO L290 TraceCheckUtils]: 134: Hoare triple {35431#false} assume 0 == ~cond; {35431#false} is VALID [2022-04-28 13:28:08,328 INFO L290 TraceCheckUtils]: 133: Hoare triple {35431#false} ~cond := #in~cond; {35431#false} is VALID [2022-04-28 13:28:08,328 INFO L272 TraceCheckUtils]: 132: Hoare triple {35431#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {35431#false} is VALID [2022-04-28 13:28:08,328 INFO L290 TraceCheckUtils]: 131: Hoare triple {35431#false} assume !(#t~post6 < 20);havoc #t~post6; {35431#false} is VALID [2022-04-28 13:28:08,328 INFO L290 TraceCheckUtils]: 130: Hoare triple {35431#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35431#false} is VALID [2022-04-28 13:28:08,328 INFO L290 TraceCheckUtils]: 129: Hoare triple {35431#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {35431#false} is VALID [2022-04-28 13:28:08,328 INFO L290 TraceCheckUtils]: 128: Hoare triple {35431#false} 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); {35431#false} is VALID [2022-04-28 13:28:08,328 INFO L284 TraceCheckUtils]: 127: Hoare quadruple {35430#true} {35431#false} #86#return; {35431#false} is VALID [2022-04-28 13:28:08,328 INFO L290 TraceCheckUtils]: 126: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,328 INFO L290 TraceCheckUtils]: 125: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,329 INFO L290 TraceCheckUtils]: 124: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,329 INFO L272 TraceCheckUtils]: 123: Hoare triple {35431#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,329 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {35430#true} {35431#false} #84#return; {35431#false} is VALID [2022-04-28 13:28:08,329 INFO L290 TraceCheckUtils]: 121: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,329 INFO L290 TraceCheckUtils]: 120: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,329 INFO L290 TraceCheckUtils]: 119: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,329 INFO L272 TraceCheckUtils]: 118: Hoare triple {35431#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,329 INFO L290 TraceCheckUtils]: 117: Hoare triple {35431#false} assume !!(#t~post6 < 20);havoc #t~post6; {35431#false} is VALID [2022-04-28 13:28:08,329 INFO L290 TraceCheckUtils]: 116: Hoare triple {35431#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35431#false} is VALID [2022-04-28 13:28:08,329 INFO L290 TraceCheckUtils]: 115: Hoare triple {35908#(< |main_#t~post5| 20)} assume !(#t~post5 < 20);havoc #t~post5; {35431#false} is VALID [2022-04-28 13:28:08,330 INFO L290 TraceCheckUtils]: 114: Hoare triple {35912#(< ~counter~0 20)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {35908#(< |main_#t~post5| 20)} is VALID [2022-04-28 13:28:08,330 INFO L290 TraceCheckUtils]: 113: Hoare triple {35912#(< ~counter~0 20)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {35912#(< ~counter~0 20)} is VALID [2022-04-28 13:28:08,330 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {35430#true} {35912#(< ~counter~0 20)} #82#return; {35912#(< ~counter~0 20)} is VALID [2022-04-28 13:28:08,331 INFO L290 TraceCheckUtils]: 111: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,331 INFO L290 TraceCheckUtils]: 110: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,331 INFO L290 TraceCheckUtils]: 109: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,331 INFO L272 TraceCheckUtils]: 108: Hoare triple {35912#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,331 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {35430#true} {35912#(< ~counter~0 20)} #80#return; {35912#(< ~counter~0 20)} is VALID [2022-04-28 13:28:08,331 INFO L290 TraceCheckUtils]: 106: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,331 INFO L290 TraceCheckUtils]: 105: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,331 INFO L290 TraceCheckUtils]: 104: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,332 INFO L272 TraceCheckUtils]: 103: Hoare triple {35912#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,332 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {35430#true} {35912#(< ~counter~0 20)} #78#return; {35912#(< ~counter~0 20)} is VALID [2022-04-28 13:28:08,332 INFO L290 TraceCheckUtils]: 101: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,332 INFO L290 TraceCheckUtils]: 100: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,332 INFO L290 TraceCheckUtils]: 99: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,332 INFO L272 TraceCheckUtils]: 98: Hoare triple {35912#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,332 INFO L290 TraceCheckUtils]: 97: Hoare triple {35912#(< ~counter~0 20)} assume !!(#t~post5 < 20);havoc #t~post5; {35912#(< ~counter~0 20)} is VALID [2022-04-28 13:28:08,333 INFO L290 TraceCheckUtils]: 96: Hoare triple {35967#(< ~counter~0 19)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {35912#(< ~counter~0 20)} is VALID [2022-04-28 13:28:08,334 INFO L290 TraceCheckUtils]: 95: Hoare triple {35967#(< ~counter~0 19)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {35967#(< ~counter~0 19)} is VALID [2022-04-28 13:28:08,334 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {35430#true} {35967#(< ~counter~0 19)} #82#return; {35967#(< ~counter~0 19)} is VALID [2022-04-28 13:28:08,334 INFO L290 TraceCheckUtils]: 93: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,334 INFO L290 TraceCheckUtils]: 92: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,334 INFO L290 TraceCheckUtils]: 91: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,334 INFO L272 TraceCheckUtils]: 90: Hoare triple {35967#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,335 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {35430#true} {35967#(< ~counter~0 19)} #80#return; {35967#(< ~counter~0 19)} is VALID [2022-04-28 13:28:08,335 INFO L290 TraceCheckUtils]: 88: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,335 INFO L290 TraceCheckUtils]: 87: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,335 INFO L290 TraceCheckUtils]: 86: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,335 INFO L272 TraceCheckUtils]: 85: Hoare triple {35967#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,336 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {35430#true} {35967#(< ~counter~0 19)} #78#return; {35967#(< ~counter~0 19)} is VALID [2022-04-28 13:28:08,336 INFO L290 TraceCheckUtils]: 83: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,336 INFO L290 TraceCheckUtils]: 82: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,336 INFO L290 TraceCheckUtils]: 81: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,336 INFO L272 TraceCheckUtils]: 80: Hoare triple {35967#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,336 INFO L290 TraceCheckUtils]: 79: Hoare triple {35967#(< ~counter~0 19)} assume !!(#t~post5 < 20);havoc #t~post5; {35967#(< ~counter~0 19)} is VALID [2022-04-28 13:28:08,337 INFO L290 TraceCheckUtils]: 78: Hoare triple {36022#(< ~counter~0 18)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {35967#(< ~counter~0 19)} is VALID [2022-04-28 13:28:08,337 INFO L290 TraceCheckUtils]: 77: Hoare triple {36022#(< ~counter~0 18)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {36022#(< ~counter~0 18)} is VALID [2022-04-28 13:28:08,337 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {35430#true} {36022#(< ~counter~0 18)} #82#return; {36022#(< ~counter~0 18)} is VALID [2022-04-28 13:28:08,338 INFO L290 TraceCheckUtils]: 75: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,338 INFO L290 TraceCheckUtils]: 74: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,338 INFO L290 TraceCheckUtils]: 73: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,338 INFO L272 TraceCheckUtils]: 72: Hoare triple {36022#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,338 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {35430#true} {36022#(< ~counter~0 18)} #80#return; {36022#(< ~counter~0 18)} is VALID [2022-04-28 13:28:08,338 INFO L290 TraceCheckUtils]: 70: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,338 INFO L290 TraceCheckUtils]: 69: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,338 INFO L290 TraceCheckUtils]: 68: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,338 INFO L272 TraceCheckUtils]: 67: Hoare triple {36022#(< ~counter~0 18)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,339 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {35430#true} {36022#(< ~counter~0 18)} #78#return; {36022#(< ~counter~0 18)} is VALID [2022-04-28 13:28:08,339 INFO L290 TraceCheckUtils]: 65: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,339 INFO L290 TraceCheckUtils]: 64: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,339 INFO L290 TraceCheckUtils]: 63: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,339 INFO L272 TraceCheckUtils]: 62: Hoare triple {36022#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,339 INFO L290 TraceCheckUtils]: 61: Hoare triple {36022#(< ~counter~0 18)} assume !!(#t~post5 < 20);havoc #t~post5; {36022#(< ~counter~0 18)} is VALID [2022-04-28 13:28:08,340 INFO L290 TraceCheckUtils]: 60: Hoare triple {36077#(< ~counter~0 17)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {36022#(< ~counter~0 18)} is VALID [2022-04-28 13:28:08,340 INFO L290 TraceCheckUtils]: 59: Hoare triple {36077#(< ~counter~0 17)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {36077#(< ~counter~0 17)} is VALID [2022-04-28 13:28:08,341 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {35430#true} {36077#(< ~counter~0 17)} #82#return; {36077#(< ~counter~0 17)} is VALID [2022-04-28 13:28:08,341 INFO L290 TraceCheckUtils]: 57: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,341 INFO L290 TraceCheckUtils]: 56: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,341 INFO L290 TraceCheckUtils]: 55: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,341 INFO L272 TraceCheckUtils]: 54: Hoare triple {36077#(< ~counter~0 17)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,341 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {35430#true} {36077#(< ~counter~0 17)} #80#return; {36077#(< ~counter~0 17)} is VALID [2022-04-28 13:28:08,342 INFO L290 TraceCheckUtils]: 52: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,342 INFO L290 TraceCheckUtils]: 51: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,342 INFO L290 TraceCheckUtils]: 50: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,342 INFO L272 TraceCheckUtils]: 49: Hoare triple {36077#(< ~counter~0 17)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,342 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {35430#true} {36077#(< ~counter~0 17)} #78#return; {36077#(< ~counter~0 17)} is VALID [2022-04-28 13:28:08,342 INFO L290 TraceCheckUtils]: 47: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,342 INFO L290 TraceCheckUtils]: 46: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,342 INFO L290 TraceCheckUtils]: 45: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,342 INFO L272 TraceCheckUtils]: 44: Hoare triple {36077#(< ~counter~0 17)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,343 INFO L290 TraceCheckUtils]: 43: Hoare triple {36077#(< ~counter~0 17)} assume !!(#t~post5 < 20);havoc #t~post5; {36077#(< ~counter~0 17)} is VALID [2022-04-28 13:28:08,343 INFO L290 TraceCheckUtils]: 42: Hoare triple {36132#(< ~counter~0 16)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {36077#(< ~counter~0 17)} is VALID [2022-04-28 13:28:08,343 INFO L290 TraceCheckUtils]: 41: Hoare triple {36132#(< ~counter~0 16)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {36132#(< ~counter~0 16)} is VALID [2022-04-28 13:28:08,344 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {35430#true} {36132#(< ~counter~0 16)} #82#return; {36132#(< ~counter~0 16)} is VALID [2022-04-28 13:28:08,344 INFO L290 TraceCheckUtils]: 39: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,344 INFO L290 TraceCheckUtils]: 38: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,344 INFO L290 TraceCheckUtils]: 37: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,344 INFO L272 TraceCheckUtils]: 36: Hoare triple {36132#(< ~counter~0 16)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,345 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {35430#true} {36132#(< ~counter~0 16)} #80#return; {36132#(< ~counter~0 16)} is VALID [2022-04-28 13:28:08,345 INFO L290 TraceCheckUtils]: 34: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,345 INFO L290 TraceCheckUtils]: 33: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,345 INFO L290 TraceCheckUtils]: 32: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,345 INFO L272 TraceCheckUtils]: 31: Hoare triple {36132#(< ~counter~0 16)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,345 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {35430#true} {36132#(< ~counter~0 16)} #78#return; {36132#(< ~counter~0 16)} is VALID [2022-04-28 13:28:08,345 INFO L290 TraceCheckUtils]: 29: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,345 INFO L290 TraceCheckUtils]: 28: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,345 INFO L290 TraceCheckUtils]: 27: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,345 INFO L272 TraceCheckUtils]: 26: Hoare triple {36132#(< ~counter~0 16)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,346 INFO L290 TraceCheckUtils]: 25: Hoare triple {36132#(< ~counter~0 16)} assume !!(#t~post5 < 20);havoc #t~post5; {36132#(< ~counter~0 16)} is VALID [2022-04-28 13:28:08,346 INFO L290 TraceCheckUtils]: 24: Hoare triple {36187#(< ~counter~0 15)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {36132#(< ~counter~0 16)} is VALID [2022-04-28 13:28:08,347 INFO L290 TraceCheckUtils]: 23: Hoare triple {36187#(< ~counter~0 15)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {36187#(< ~counter~0 15)} is VALID [2022-04-28 13:28:08,347 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {35430#true} {36187#(< ~counter~0 15)} #82#return; {36187#(< ~counter~0 15)} is VALID [2022-04-28 13:28:08,347 INFO L290 TraceCheckUtils]: 21: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,347 INFO L290 TraceCheckUtils]: 20: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,347 INFO L290 TraceCheckUtils]: 19: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,347 INFO L272 TraceCheckUtils]: 18: Hoare triple {36187#(< ~counter~0 15)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,348 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {35430#true} {36187#(< ~counter~0 15)} #80#return; {36187#(< ~counter~0 15)} is VALID [2022-04-28 13:28:08,348 INFO L290 TraceCheckUtils]: 16: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,348 INFO L290 TraceCheckUtils]: 15: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,348 INFO L290 TraceCheckUtils]: 14: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,348 INFO L272 TraceCheckUtils]: 13: Hoare triple {36187#(< ~counter~0 15)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,355 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {35430#true} {36187#(< ~counter~0 15)} #78#return; {36187#(< ~counter~0 15)} is VALID [2022-04-28 13:28:08,355 INFO L290 TraceCheckUtils]: 11: Hoare triple {35430#true} assume true; {35430#true} is VALID [2022-04-28 13:28:08,355 INFO L290 TraceCheckUtils]: 10: Hoare triple {35430#true} assume !(0 == ~cond); {35430#true} is VALID [2022-04-28 13:28:08,355 INFO L290 TraceCheckUtils]: 9: Hoare triple {35430#true} ~cond := #in~cond; {35430#true} is VALID [2022-04-28 13:28:08,355 INFO L272 TraceCheckUtils]: 8: Hoare triple {36187#(< ~counter~0 15)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35430#true} is VALID [2022-04-28 13:28:08,355 INFO L290 TraceCheckUtils]: 7: Hoare triple {36187#(< ~counter~0 15)} assume !!(#t~post5 < 20);havoc #t~post5; {36187#(< ~counter~0 15)} is VALID [2022-04-28 13:28:08,356 INFO L290 TraceCheckUtils]: 6: Hoare triple {36242#(< ~counter~0 14)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {36187#(< ~counter~0 15)} is VALID [2022-04-28 13:28:08,356 INFO L290 TraceCheckUtils]: 5: Hoare triple {36242#(< ~counter~0 14)} 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; {36242#(< ~counter~0 14)} is VALID [2022-04-28 13:28:08,356 INFO L272 TraceCheckUtils]: 4: Hoare triple {36242#(< ~counter~0 14)} call #t~ret7 := main(); {36242#(< ~counter~0 14)} is VALID [2022-04-28 13:28:08,357 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36242#(< ~counter~0 14)} {35430#true} #92#return; {36242#(< ~counter~0 14)} is VALID [2022-04-28 13:28:08,357 INFO L290 TraceCheckUtils]: 2: Hoare triple {36242#(< ~counter~0 14)} assume true; {36242#(< ~counter~0 14)} is VALID [2022-04-28 13:28:08,357 INFO L290 TraceCheckUtils]: 1: Hoare triple {35430#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {36242#(< ~counter~0 14)} is VALID [2022-04-28 13:28:08,357 INFO L272 TraceCheckUtils]: 0: Hoare triple {35430#true} call ULTIMATE.init(); {35430#true} is VALID [2022-04-28 13:28:08,358 INFO L134 CoverageAnalysis]: Checked inductivity of 904 backedges. 40 proven. 102 refuted. 0 times theorem prover too weak. 762 trivial. 0 not checked. [2022-04-28 13:28:08,358 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:28:08,358 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [657270213] [2022-04-28 13:28:08,358 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:28:08,358 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1011613929] [2022-04-28 13:28:08,358 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1011613929] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:28:08,358 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:28:08,358 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2022-04-28 13:28:08,359 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:28:08,359 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1695415660] [2022-04-28 13:28:08,359 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1695415660] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:28:08,359 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:28:08,359 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 13:28:08,359 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1564488971] [2022-04-28 13:28:08,359 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:28:08,359 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.1) internal successors, (51), 9 states have internal predecessors, (51), 9 states have call successors, (23), 9 states have call predecessors, (23), 8 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) Word has length 136 [2022-04-28 13:28:08,359 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:28:08,360 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 5.1) internal successors, (51), 9 states have internal predecessors, (51), 9 states have call successors, (23), 9 states have call predecessors, (23), 8 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-28 13:28:08,425 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-28 13:28:08,425 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 13:28:08,425 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:28:08,425 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 13:28:08,425 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=181, Unknown=0, NotChecked=0, Total=306 [2022-04-28 13:28:08,426 INFO L87 Difference]: Start difference. First operand 389 states and 436 transitions. Second operand has 10 states, 10 states have (on average 5.1) internal successors, (51), 9 states have internal predecessors, (51), 9 states have call successors, (23), 9 states have call predecessors, (23), 8 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-28 13:28:09,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:09,407 INFO L93 Difference]: Finished difference Result 442 states and 498 transitions. [2022-04-28 13:28:09,407 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 13:28:09,407 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.1) internal successors, (51), 9 states have internal predecessors, (51), 9 states have call successors, (23), 9 states have call predecessors, (23), 8 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) Word has length 136 [2022-04-28 13:28:09,407 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:28:09,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.1) internal successors, (51), 9 states have internal predecessors, (51), 9 states have call successors, (23), 9 states have call predecessors, (23), 8 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-28 13:28:09,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 158 transitions. [2022-04-28 13:28:09,409 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.1) internal successors, (51), 9 states have internal predecessors, (51), 9 states have call successors, (23), 9 states have call predecessors, (23), 8 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-28 13:28:09,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 158 transitions. [2022-04-28 13:28:09,410 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 158 transitions. [2022-04-28 13:28:09,527 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:09,534 INFO L225 Difference]: With dead ends: 442 [2022-04-28 13:28:09,534 INFO L226 Difference]: Without dead ends: 387 [2022-04-28 13:28:09,535 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 277 GetRequests, 255 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=227, Invalid=325, Unknown=0, NotChecked=0, Total=552 [2022-04-28 13:28:09,535 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 37 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 105 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 209 SdHoareTripleChecker+Invalid, 122 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 105 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:28:09,535 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [37 Valid, 209 Invalid, 122 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 105 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:28:09,535 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 387 states. [2022-04-28 13:28:10,054 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 387 to 387. [2022-04-28 13:28:10,054 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:28:10,055 INFO L82 GeneralOperation]: Start isEquivalent. First operand 387 states. Second operand has 387 states, 265 states have (on average 1.1056603773584905) internal successors, (293), 271 states have internal predecessors, (293), 71 states have call successors, (71), 51 states have call predecessors, (71), 50 states have return successors, (69), 64 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 13:28:10,055 INFO L74 IsIncluded]: Start isIncluded. First operand 387 states. Second operand has 387 states, 265 states have (on average 1.1056603773584905) internal successors, (293), 271 states have internal predecessors, (293), 71 states have call successors, (71), 51 states have call predecessors, (71), 50 states have return successors, (69), 64 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 13:28:10,056 INFO L87 Difference]: Start difference. First operand 387 states. Second operand has 387 states, 265 states have (on average 1.1056603773584905) internal successors, (293), 271 states have internal predecessors, (293), 71 states have call successors, (71), 51 states have call predecessors, (71), 50 states have return successors, (69), 64 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 13:28:10,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:10,062 INFO L93 Difference]: Finished difference Result 387 states and 433 transitions. [2022-04-28 13:28:10,062 INFO L276 IsEmpty]: Start isEmpty. Operand 387 states and 433 transitions. [2022-04-28 13:28:10,063 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:28:10,063 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:28:10,063 INFO L74 IsIncluded]: Start isIncluded. First operand has 387 states, 265 states have (on average 1.1056603773584905) internal successors, (293), 271 states have internal predecessors, (293), 71 states have call successors, (71), 51 states have call predecessors, (71), 50 states have return successors, (69), 64 states have call predecessors, (69), 69 states have call successors, (69) Second operand 387 states. [2022-04-28 13:28:10,064 INFO L87 Difference]: Start difference. First operand has 387 states, 265 states have (on average 1.1056603773584905) internal successors, (293), 271 states have internal predecessors, (293), 71 states have call successors, (71), 51 states have call predecessors, (71), 50 states have return successors, (69), 64 states have call predecessors, (69), 69 states have call successors, (69) Second operand 387 states. [2022-04-28 13:28:10,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:10,070 INFO L93 Difference]: Finished difference Result 387 states and 433 transitions. [2022-04-28 13:28:10,070 INFO L276 IsEmpty]: Start isEmpty. Operand 387 states and 433 transitions. [2022-04-28 13:28:10,071 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:28:10,071 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:28:10,071 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:28:10,071 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:28:10,071 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 387 states, 265 states have (on average 1.1056603773584905) internal successors, (293), 271 states have internal predecessors, (293), 71 states have call successors, (71), 51 states have call predecessors, (71), 50 states have return successors, (69), 64 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 13:28:10,079 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 387 states to 387 states and 433 transitions. [2022-04-28 13:28:10,080 INFO L78 Accepts]: Start accepts. Automaton has 387 states and 433 transitions. Word has length 136 [2022-04-28 13:28:10,080 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:28:10,081 INFO L495 AbstractCegarLoop]: Abstraction has 387 states and 433 transitions. [2022-04-28 13:28:10,081 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 5.1) internal successors, (51), 9 states have internal predecessors, (51), 9 states have call successors, (23), 9 states have call predecessors, (23), 8 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-28 13:28:10,081 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 387 states and 433 transitions. [2022-04-28 13:28:10,845 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 433 edges. 433 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:10,845 INFO L276 IsEmpty]: Start isEmpty. Operand 387 states and 433 transitions. [2022-04-28 13:28:10,846 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 137 [2022-04-28 13:28:10,846 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:28:10,846 INFO L195 NwaCegarLoop]: trace histogram [20, 19, 19, 6, 5, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:28:10,862 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-28 13:28:11,046 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-04-28 13:28:11,046 INFO L420 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:28:11,047 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:28:11,047 INFO L85 PathProgramCache]: Analyzing trace with hash -1792552182, now seen corresponding path program 11 times [2022-04-28 13:28:11,047 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:28:11,047 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2079471268] [2022-04-28 13:28:13,714 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:28:13,715 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:28:13,715 INFO L85 PathProgramCache]: Analyzing trace with hash -1792552182, now seen corresponding path program 12 times [2022-04-28 13:28:13,715 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:28:13,715 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [646063770] [2022-04-28 13:28:13,715 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:28:13,715 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:28:13,729 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:28:13,729 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1062186447] [2022-04-28 13:28:13,729 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:28:13,729 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:28:13,730 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:28:13,730 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:28:13,731 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-28 13:28:13,822 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 13 check-sat command(s) [2022-04-28 13:28:13,822 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:28:13,823 INFO L263 TraceCheckSpWp]: Trace formula consists of 338 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 13:28:13,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:28:13,860 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:28:14,450 INFO L272 TraceCheckUtils]: 0: Hoare triple {38707#true} call ULTIMATE.init(); {38707#true} is VALID [2022-04-28 13:28:14,451 INFO L290 TraceCheckUtils]: 1: Hoare triple {38707#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {38715#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:14,451 INFO L290 TraceCheckUtils]: 2: Hoare triple {38715#(<= ~counter~0 0)} assume true; {38715#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:14,451 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38715#(<= ~counter~0 0)} {38707#true} #92#return; {38715#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:14,452 INFO L272 TraceCheckUtils]: 4: Hoare triple {38715#(<= ~counter~0 0)} call #t~ret7 := main(); {38715#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:14,452 INFO L290 TraceCheckUtils]: 5: Hoare triple {38715#(<= ~counter~0 0)} 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; {38715#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:14,453 INFO L290 TraceCheckUtils]: 6: Hoare triple {38715#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {38731#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:14,454 INFO L290 TraceCheckUtils]: 7: Hoare triple {38731#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {38731#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:14,455 INFO L272 TraceCheckUtils]: 8: Hoare triple {38731#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38731#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:14,455 INFO L290 TraceCheckUtils]: 9: Hoare triple {38731#(<= ~counter~0 1)} ~cond := #in~cond; {38731#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:14,455 INFO L290 TraceCheckUtils]: 10: Hoare triple {38731#(<= ~counter~0 1)} assume !(0 == ~cond); {38731#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:14,456 INFO L290 TraceCheckUtils]: 11: Hoare triple {38731#(<= ~counter~0 1)} assume true; {38731#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:14,456 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {38731#(<= ~counter~0 1)} {38731#(<= ~counter~0 1)} #78#return; {38731#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:14,456 INFO L272 TraceCheckUtils]: 13: Hoare triple {38731#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {38731#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:14,457 INFO L290 TraceCheckUtils]: 14: Hoare triple {38731#(<= ~counter~0 1)} ~cond := #in~cond; {38731#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:14,457 INFO L290 TraceCheckUtils]: 15: Hoare triple {38731#(<= ~counter~0 1)} assume !(0 == ~cond); {38731#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:14,457 INFO L290 TraceCheckUtils]: 16: Hoare triple {38731#(<= ~counter~0 1)} assume true; {38731#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:14,457 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {38731#(<= ~counter~0 1)} {38731#(<= ~counter~0 1)} #80#return; {38731#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:14,458 INFO L272 TraceCheckUtils]: 18: Hoare triple {38731#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {38731#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:14,458 INFO L290 TraceCheckUtils]: 19: Hoare triple {38731#(<= ~counter~0 1)} ~cond := #in~cond; {38731#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:14,458 INFO L290 TraceCheckUtils]: 20: Hoare triple {38731#(<= ~counter~0 1)} assume !(0 == ~cond); {38731#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:14,459 INFO L290 TraceCheckUtils]: 21: Hoare triple {38731#(<= ~counter~0 1)} assume true; {38731#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:14,459 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {38731#(<= ~counter~0 1)} {38731#(<= ~counter~0 1)} #82#return; {38731#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:14,459 INFO L290 TraceCheckUtils]: 23: Hoare triple {38731#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {38731#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:14,460 INFO L290 TraceCheckUtils]: 24: Hoare triple {38731#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {38786#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:14,460 INFO L290 TraceCheckUtils]: 25: Hoare triple {38786#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {38786#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:14,461 INFO L272 TraceCheckUtils]: 26: Hoare triple {38786#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38786#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:14,461 INFO L290 TraceCheckUtils]: 27: Hoare triple {38786#(<= ~counter~0 2)} ~cond := #in~cond; {38786#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:14,461 INFO L290 TraceCheckUtils]: 28: Hoare triple {38786#(<= ~counter~0 2)} assume !(0 == ~cond); {38786#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:14,462 INFO L290 TraceCheckUtils]: 29: Hoare triple {38786#(<= ~counter~0 2)} assume true; {38786#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:14,462 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {38786#(<= ~counter~0 2)} {38786#(<= ~counter~0 2)} #78#return; {38786#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:14,462 INFO L272 TraceCheckUtils]: 31: Hoare triple {38786#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {38786#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:14,463 INFO L290 TraceCheckUtils]: 32: Hoare triple {38786#(<= ~counter~0 2)} ~cond := #in~cond; {38786#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:14,463 INFO L290 TraceCheckUtils]: 33: Hoare triple {38786#(<= ~counter~0 2)} assume !(0 == ~cond); {38786#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:14,463 INFO L290 TraceCheckUtils]: 34: Hoare triple {38786#(<= ~counter~0 2)} assume true; {38786#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:14,463 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {38786#(<= ~counter~0 2)} {38786#(<= ~counter~0 2)} #80#return; {38786#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:14,464 INFO L272 TraceCheckUtils]: 36: Hoare triple {38786#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {38786#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:14,464 INFO L290 TraceCheckUtils]: 37: Hoare triple {38786#(<= ~counter~0 2)} ~cond := #in~cond; {38786#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:14,464 INFO L290 TraceCheckUtils]: 38: Hoare triple {38786#(<= ~counter~0 2)} assume !(0 == ~cond); {38786#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:14,465 INFO L290 TraceCheckUtils]: 39: Hoare triple {38786#(<= ~counter~0 2)} assume true; {38786#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:14,465 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {38786#(<= ~counter~0 2)} {38786#(<= ~counter~0 2)} #82#return; {38786#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:14,465 INFO L290 TraceCheckUtils]: 41: Hoare triple {38786#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {38786#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:14,466 INFO L290 TraceCheckUtils]: 42: Hoare triple {38786#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {38841#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:14,466 INFO L290 TraceCheckUtils]: 43: Hoare triple {38841#(<= ~counter~0 3)} assume !!(#t~post5 < 20);havoc #t~post5; {38841#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:14,466 INFO L272 TraceCheckUtils]: 44: Hoare triple {38841#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38841#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:14,467 INFO L290 TraceCheckUtils]: 45: Hoare triple {38841#(<= ~counter~0 3)} ~cond := #in~cond; {38841#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:14,467 INFO L290 TraceCheckUtils]: 46: Hoare triple {38841#(<= ~counter~0 3)} assume !(0 == ~cond); {38841#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:14,467 INFO L290 TraceCheckUtils]: 47: Hoare triple {38841#(<= ~counter~0 3)} assume true; {38841#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:14,468 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {38841#(<= ~counter~0 3)} {38841#(<= ~counter~0 3)} #78#return; {38841#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:14,468 INFO L272 TraceCheckUtils]: 49: Hoare triple {38841#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {38841#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:14,468 INFO L290 TraceCheckUtils]: 50: Hoare triple {38841#(<= ~counter~0 3)} ~cond := #in~cond; {38841#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:14,468 INFO L290 TraceCheckUtils]: 51: Hoare triple {38841#(<= ~counter~0 3)} assume !(0 == ~cond); {38841#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:14,469 INFO L290 TraceCheckUtils]: 52: Hoare triple {38841#(<= ~counter~0 3)} assume true; {38841#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:14,469 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {38841#(<= ~counter~0 3)} {38841#(<= ~counter~0 3)} #80#return; {38841#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:14,470 INFO L272 TraceCheckUtils]: 54: Hoare triple {38841#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {38841#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:14,470 INFO L290 TraceCheckUtils]: 55: Hoare triple {38841#(<= ~counter~0 3)} ~cond := #in~cond; {38841#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:14,470 INFO L290 TraceCheckUtils]: 56: Hoare triple {38841#(<= ~counter~0 3)} assume !(0 == ~cond); {38841#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:14,470 INFO L290 TraceCheckUtils]: 57: Hoare triple {38841#(<= ~counter~0 3)} assume true; {38841#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:14,471 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {38841#(<= ~counter~0 3)} {38841#(<= ~counter~0 3)} #82#return; {38841#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:14,471 INFO L290 TraceCheckUtils]: 59: Hoare triple {38841#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {38841#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:14,472 INFO L290 TraceCheckUtils]: 60: Hoare triple {38841#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38896#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:14,472 INFO L290 TraceCheckUtils]: 61: Hoare triple {38896#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {38896#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:14,472 INFO L272 TraceCheckUtils]: 62: Hoare triple {38896#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {38896#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:14,473 INFO L290 TraceCheckUtils]: 63: Hoare triple {38896#(<= ~counter~0 4)} ~cond := #in~cond; {38896#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:14,473 INFO L290 TraceCheckUtils]: 64: Hoare triple {38896#(<= ~counter~0 4)} assume !(0 == ~cond); {38896#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:14,473 INFO L290 TraceCheckUtils]: 65: Hoare triple {38896#(<= ~counter~0 4)} assume true; {38896#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:14,474 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {38896#(<= ~counter~0 4)} {38896#(<= ~counter~0 4)} #84#return; {38896#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:14,474 INFO L272 TraceCheckUtils]: 67: Hoare triple {38896#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {38896#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:14,474 INFO L290 TraceCheckUtils]: 68: Hoare triple {38896#(<= ~counter~0 4)} ~cond := #in~cond; {38896#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:14,475 INFO L290 TraceCheckUtils]: 69: Hoare triple {38896#(<= ~counter~0 4)} assume !(0 == ~cond); {38896#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:14,475 INFO L290 TraceCheckUtils]: 70: Hoare triple {38896#(<= ~counter~0 4)} assume true; {38896#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:14,475 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {38896#(<= ~counter~0 4)} {38896#(<= ~counter~0 4)} #86#return; {38896#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:14,475 INFO L290 TraceCheckUtils]: 72: Hoare triple {38896#(<= ~counter~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); {38896#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:14,476 INFO L290 TraceCheckUtils]: 73: Hoare triple {38896#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {38896#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:14,476 INFO L290 TraceCheckUtils]: 74: Hoare triple {38896#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38939#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:14,477 INFO L290 TraceCheckUtils]: 75: Hoare triple {38939#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {38939#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:14,477 INFO L272 TraceCheckUtils]: 76: Hoare triple {38939#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {38939#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:14,477 INFO L290 TraceCheckUtils]: 77: Hoare triple {38939#(<= ~counter~0 5)} ~cond := #in~cond; {38939#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:14,478 INFO L290 TraceCheckUtils]: 78: Hoare triple {38939#(<= ~counter~0 5)} assume !(0 == ~cond); {38939#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:14,478 INFO L290 TraceCheckUtils]: 79: Hoare triple {38939#(<= ~counter~0 5)} assume true; {38939#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:14,478 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {38939#(<= ~counter~0 5)} {38939#(<= ~counter~0 5)} #84#return; {38939#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:14,479 INFO L272 TraceCheckUtils]: 81: Hoare triple {38939#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {38939#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:14,479 INFO L290 TraceCheckUtils]: 82: Hoare triple {38939#(<= ~counter~0 5)} ~cond := #in~cond; {38939#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:14,479 INFO L290 TraceCheckUtils]: 83: Hoare triple {38939#(<= ~counter~0 5)} assume !(0 == ~cond); {38939#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:14,480 INFO L290 TraceCheckUtils]: 84: Hoare triple {38939#(<= ~counter~0 5)} assume true; {38939#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:14,480 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {38939#(<= ~counter~0 5)} {38939#(<= ~counter~0 5)} #86#return; {38939#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:14,480 INFO L290 TraceCheckUtils]: 86: Hoare triple {38939#(<= ~counter~0 5)} 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); {38939#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:14,480 INFO L290 TraceCheckUtils]: 87: Hoare triple {38939#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {38939#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:14,481 INFO L290 TraceCheckUtils]: 88: Hoare triple {38939#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38982#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:14,481 INFO L290 TraceCheckUtils]: 89: Hoare triple {38982#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {38982#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:14,482 INFO L272 TraceCheckUtils]: 90: Hoare triple {38982#(<= ~counter~0 6)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {38982#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:14,482 INFO L290 TraceCheckUtils]: 91: Hoare triple {38982#(<= ~counter~0 6)} ~cond := #in~cond; {38982#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:14,482 INFO L290 TraceCheckUtils]: 92: Hoare triple {38982#(<= ~counter~0 6)} assume !(0 == ~cond); {38982#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:14,483 INFO L290 TraceCheckUtils]: 93: Hoare triple {38982#(<= ~counter~0 6)} assume true; {38982#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:14,483 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {38982#(<= ~counter~0 6)} {38982#(<= ~counter~0 6)} #84#return; {38982#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:14,483 INFO L272 TraceCheckUtils]: 95: Hoare triple {38982#(<= ~counter~0 6)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {38982#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:14,484 INFO L290 TraceCheckUtils]: 96: Hoare triple {38982#(<= ~counter~0 6)} ~cond := #in~cond; {38982#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:14,484 INFO L290 TraceCheckUtils]: 97: Hoare triple {38982#(<= ~counter~0 6)} assume !(0 == ~cond); {38982#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:14,484 INFO L290 TraceCheckUtils]: 98: Hoare triple {38982#(<= ~counter~0 6)} assume true; {38982#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:14,485 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {38982#(<= ~counter~0 6)} {38982#(<= ~counter~0 6)} #86#return; {38982#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:14,485 INFO L290 TraceCheckUtils]: 100: Hoare triple {38982#(<= ~counter~0 6)} 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); {38982#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:14,485 INFO L290 TraceCheckUtils]: 101: Hoare triple {38982#(<= ~counter~0 6)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {38982#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:14,486 INFO L290 TraceCheckUtils]: 102: Hoare triple {38982#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39025#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:14,486 INFO L290 TraceCheckUtils]: 103: Hoare triple {39025#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {39025#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:14,486 INFO L272 TraceCheckUtils]: 104: Hoare triple {39025#(<= ~counter~0 7)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {39025#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:14,487 INFO L290 TraceCheckUtils]: 105: Hoare triple {39025#(<= ~counter~0 7)} ~cond := #in~cond; {39025#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:14,487 INFO L290 TraceCheckUtils]: 106: Hoare triple {39025#(<= ~counter~0 7)} assume !(0 == ~cond); {39025#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:14,487 INFO L290 TraceCheckUtils]: 107: Hoare triple {39025#(<= ~counter~0 7)} assume true; {39025#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:14,488 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {39025#(<= ~counter~0 7)} {39025#(<= ~counter~0 7)} #84#return; {39025#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:14,488 INFO L272 TraceCheckUtils]: 109: Hoare triple {39025#(<= ~counter~0 7)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {39025#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:14,488 INFO L290 TraceCheckUtils]: 110: Hoare triple {39025#(<= ~counter~0 7)} ~cond := #in~cond; {39025#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:14,489 INFO L290 TraceCheckUtils]: 111: Hoare triple {39025#(<= ~counter~0 7)} assume !(0 == ~cond); {39025#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:14,489 INFO L290 TraceCheckUtils]: 112: Hoare triple {39025#(<= ~counter~0 7)} assume true; {39025#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:14,489 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {39025#(<= ~counter~0 7)} {39025#(<= ~counter~0 7)} #86#return; {39025#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:14,490 INFO L290 TraceCheckUtils]: 114: Hoare triple {39025#(<= ~counter~0 7)} 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); {39025#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:14,490 INFO L290 TraceCheckUtils]: 115: Hoare triple {39025#(<= ~counter~0 7)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {39025#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:14,490 INFO L290 TraceCheckUtils]: 116: Hoare triple {39025#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39068#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:14,491 INFO L290 TraceCheckUtils]: 117: Hoare triple {39068#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {39068#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:14,491 INFO L272 TraceCheckUtils]: 118: Hoare triple {39068#(<= ~counter~0 8)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {39068#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:14,491 INFO L290 TraceCheckUtils]: 119: Hoare triple {39068#(<= ~counter~0 8)} ~cond := #in~cond; {39068#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:14,492 INFO L290 TraceCheckUtils]: 120: Hoare triple {39068#(<= ~counter~0 8)} assume !(0 == ~cond); {39068#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:14,492 INFO L290 TraceCheckUtils]: 121: Hoare triple {39068#(<= ~counter~0 8)} assume true; {39068#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:14,492 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {39068#(<= ~counter~0 8)} {39068#(<= ~counter~0 8)} #84#return; {39068#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:14,493 INFO L272 TraceCheckUtils]: 123: Hoare triple {39068#(<= ~counter~0 8)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {39068#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:14,493 INFO L290 TraceCheckUtils]: 124: Hoare triple {39068#(<= ~counter~0 8)} ~cond := #in~cond; {39068#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:14,493 INFO L290 TraceCheckUtils]: 125: Hoare triple {39068#(<= ~counter~0 8)} assume !(0 == ~cond); {39068#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:14,494 INFO L290 TraceCheckUtils]: 126: Hoare triple {39068#(<= ~counter~0 8)} assume true; {39068#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:14,494 INFO L284 TraceCheckUtils]: 127: Hoare quadruple {39068#(<= ~counter~0 8)} {39068#(<= ~counter~0 8)} #86#return; {39068#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:14,494 INFO L290 TraceCheckUtils]: 128: Hoare triple {39068#(<= ~counter~0 8)} 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); {39068#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:14,494 INFO L290 TraceCheckUtils]: 129: Hoare triple {39068#(<= ~counter~0 8)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {39068#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:14,495 INFO L290 TraceCheckUtils]: 130: Hoare triple {39068#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39111#(<= |main_#t~post6| 8)} is VALID [2022-04-28 13:28:14,495 INFO L290 TraceCheckUtils]: 131: Hoare triple {39111#(<= |main_#t~post6| 8)} assume !(#t~post6 < 20);havoc #t~post6; {38708#false} is VALID [2022-04-28 13:28:14,495 INFO L272 TraceCheckUtils]: 132: Hoare triple {38708#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {38708#false} is VALID [2022-04-28 13:28:14,495 INFO L290 TraceCheckUtils]: 133: Hoare triple {38708#false} ~cond := #in~cond; {38708#false} is VALID [2022-04-28 13:28:14,495 INFO L290 TraceCheckUtils]: 134: Hoare triple {38708#false} assume 0 == ~cond; {38708#false} is VALID [2022-04-28 13:28:14,495 INFO L290 TraceCheckUtils]: 135: Hoare triple {38708#false} assume !false; {38708#false} is VALID [2022-04-28 13:28:14,496 INFO L134 CoverageAnalysis]: Checked inductivity of 810 backedges. 38 proven. 716 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-28 13:28:14,496 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:28:15,090 INFO L290 TraceCheckUtils]: 135: Hoare triple {38708#false} assume !false; {38708#false} is VALID [2022-04-28 13:28:15,091 INFO L290 TraceCheckUtils]: 134: Hoare triple {38708#false} assume 0 == ~cond; {38708#false} is VALID [2022-04-28 13:28:15,091 INFO L290 TraceCheckUtils]: 133: Hoare triple {38708#false} ~cond := #in~cond; {38708#false} is VALID [2022-04-28 13:28:15,091 INFO L272 TraceCheckUtils]: 132: Hoare triple {38708#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {38708#false} is VALID [2022-04-28 13:28:15,091 INFO L290 TraceCheckUtils]: 131: Hoare triple {39139#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {38708#false} is VALID [2022-04-28 13:28:15,091 INFO L290 TraceCheckUtils]: 130: Hoare triple {39143#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39139#(< |main_#t~post6| 20)} is VALID [2022-04-28 13:28:15,092 INFO L290 TraceCheckUtils]: 129: Hoare triple {39143#(< ~counter~0 20)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {39143#(< ~counter~0 20)} is VALID [2022-04-28 13:28:15,092 INFO L290 TraceCheckUtils]: 128: Hoare triple {39143#(< ~counter~0 20)} 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); {39143#(< ~counter~0 20)} is VALID [2022-04-28 13:28:15,092 INFO L284 TraceCheckUtils]: 127: Hoare quadruple {38707#true} {39143#(< ~counter~0 20)} #86#return; {39143#(< ~counter~0 20)} is VALID [2022-04-28 13:28:15,093 INFO L290 TraceCheckUtils]: 126: Hoare triple {38707#true} assume true; {38707#true} is VALID [2022-04-28 13:28:15,093 INFO L290 TraceCheckUtils]: 125: Hoare triple {38707#true} assume !(0 == ~cond); {38707#true} is VALID [2022-04-28 13:28:15,093 INFO L290 TraceCheckUtils]: 124: Hoare triple {38707#true} ~cond := #in~cond; {38707#true} is VALID [2022-04-28 13:28:15,093 INFO L272 TraceCheckUtils]: 123: Hoare triple {39143#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {38707#true} is VALID [2022-04-28 13:28:15,093 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {38707#true} {39143#(< ~counter~0 20)} #84#return; {39143#(< ~counter~0 20)} is VALID [2022-04-28 13:28:15,093 INFO L290 TraceCheckUtils]: 121: Hoare triple {38707#true} assume true; {38707#true} is VALID [2022-04-28 13:28:15,093 INFO L290 TraceCheckUtils]: 120: Hoare triple {38707#true} assume !(0 == ~cond); {38707#true} is VALID [2022-04-28 13:28:15,093 INFO L290 TraceCheckUtils]: 119: Hoare triple {38707#true} ~cond := #in~cond; {38707#true} is VALID [2022-04-28 13:28:15,093 INFO L272 TraceCheckUtils]: 118: Hoare triple {39143#(< ~counter~0 20)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {38707#true} is VALID [2022-04-28 13:28:15,094 INFO L290 TraceCheckUtils]: 117: Hoare triple {39143#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {39143#(< ~counter~0 20)} is VALID [2022-04-28 13:28:15,095 INFO L290 TraceCheckUtils]: 116: Hoare triple {39186#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39143#(< ~counter~0 20)} is VALID [2022-04-28 13:28:15,095 INFO L290 TraceCheckUtils]: 115: Hoare triple {39186#(< ~counter~0 19)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {39186#(< ~counter~0 19)} is VALID [2022-04-28 13:28:15,095 INFO L290 TraceCheckUtils]: 114: Hoare triple {39186#(< ~counter~0 19)} 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); {39186#(< ~counter~0 19)} is VALID [2022-04-28 13:28:15,096 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {38707#true} {39186#(< ~counter~0 19)} #86#return; {39186#(< ~counter~0 19)} is VALID [2022-04-28 13:28:15,096 INFO L290 TraceCheckUtils]: 112: Hoare triple {38707#true} assume true; {38707#true} is VALID [2022-04-28 13:28:15,096 INFO L290 TraceCheckUtils]: 111: Hoare triple {38707#true} assume !(0 == ~cond); {38707#true} is VALID [2022-04-28 13:28:15,096 INFO L290 TraceCheckUtils]: 110: Hoare triple {38707#true} ~cond := #in~cond; {38707#true} is VALID [2022-04-28 13:28:15,096 INFO L272 TraceCheckUtils]: 109: Hoare triple {39186#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {38707#true} is VALID [2022-04-28 13:28:15,107 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {38707#true} {39186#(< ~counter~0 19)} #84#return; {39186#(< ~counter~0 19)} is VALID [2022-04-28 13:28:15,107 INFO L290 TraceCheckUtils]: 107: Hoare triple {38707#true} assume true; {38707#true} is VALID [2022-04-28 13:28:15,108 INFO L290 TraceCheckUtils]: 106: Hoare triple {38707#true} assume !(0 == ~cond); {38707#true} is VALID [2022-04-28 13:28:15,108 INFO L290 TraceCheckUtils]: 105: Hoare triple {38707#true} ~cond := #in~cond; {38707#true} is VALID [2022-04-28 13:28:15,108 INFO L272 TraceCheckUtils]: 104: Hoare triple {39186#(< ~counter~0 19)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {38707#true} is VALID [2022-04-28 13:28:15,108 INFO L290 TraceCheckUtils]: 103: Hoare triple {39186#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {39186#(< ~counter~0 19)} is VALID [2022-04-28 13:28:15,109 INFO L290 TraceCheckUtils]: 102: Hoare triple {39229#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39186#(< ~counter~0 19)} is VALID [2022-04-28 13:28:15,109 INFO L290 TraceCheckUtils]: 101: Hoare triple {39229#(< ~counter~0 18)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {39229#(< ~counter~0 18)} is VALID [2022-04-28 13:28:15,109 INFO L290 TraceCheckUtils]: 100: Hoare triple {39229#(< ~counter~0 18)} 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); {39229#(< ~counter~0 18)} is VALID [2022-04-28 13:28:15,110 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {38707#true} {39229#(< ~counter~0 18)} #86#return; {39229#(< ~counter~0 18)} is VALID [2022-04-28 13:28:15,110 INFO L290 TraceCheckUtils]: 98: Hoare triple {38707#true} assume true; {38707#true} is VALID [2022-04-28 13:28:15,110 INFO L290 TraceCheckUtils]: 97: Hoare triple {38707#true} assume !(0 == ~cond); {38707#true} is VALID [2022-04-28 13:28:15,110 INFO L290 TraceCheckUtils]: 96: Hoare triple {38707#true} ~cond := #in~cond; {38707#true} is VALID [2022-04-28 13:28:15,110 INFO L272 TraceCheckUtils]: 95: Hoare triple {39229#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {38707#true} is VALID [2022-04-28 13:28:15,111 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {38707#true} {39229#(< ~counter~0 18)} #84#return; {39229#(< ~counter~0 18)} is VALID [2022-04-28 13:28:15,111 INFO L290 TraceCheckUtils]: 93: Hoare triple {38707#true} assume true; {38707#true} is VALID [2022-04-28 13:28:15,111 INFO L290 TraceCheckUtils]: 92: Hoare triple {38707#true} assume !(0 == ~cond); {38707#true} is VALID [2022-04-28 13:28:15,111 INFO L290 TraceCheckUtils]: 91: Hoare triple {38707#true} ~cond := #in~cond; {38707#true} is VALID [2022-04-28 13:28:15,111 INFO L272 TraceCheckUtils]: 90: Hoare triple {39229#(< ~counter~0 18)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {38707#true} is VALID [2022-04-28 13:28:15,111 INFO L290 TraceCheckUtils]: 89: Hoare triple {39229#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {39229#(< ~counter~0 18)} is VALID [2022-04-28 13:28:15,112 INFO L290 TraceCheckUtils]: 88: Hoare triple {39272#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39229#(< ~counter~0 18)} is VALID [2022-04-28 13:28:15,112 INFO L290 TraceCheckUtils]: 87: Hoare triple {39272#(< ~counter~0 17)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {39272#(< ~counter~0 17)} is VALID [2022-04-28 13:28:15,112 INFO L290 TraceCheckUtils]: 86: Hoare triple {39272#(< ~counter~0 17)} 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); {39272#(< ~counter~0 17)} is VALID [2022-04-28 13:28:15,113 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {38707#true} {39272#(< ~counter~0 17)} #86#return; {39272#(< ~counter~0 17)} is VALID [2022-04-28 13:28:15,113 INFO L290 TraceCheckUtils]: 84: Hoare triple {38707#true} assume true; {38707#true} is VALID [2022-04-28 13:28:15,113 INFO L290 TraceCheckUtils]: 83: Hoare triple {38707#true} assume !(0 == ~cond); {38707#true} is VALID [2022-04-28 13:28:15,113 INFO L290 TraceCheckUtils]: 82: Hoare triple {38707#true} ~cond := #in~cond; {38707#true} is VALID [2022-04-28 13:28:15,113 INFO L272 TraceCheckUtils]: 81: Hoare triple {39272#(< ~counter~0 17)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {38707#true} is VALID [2022-04-28 13:28:15,114 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {38707#true} {39272#(< ~counter~0 17)} #84#return; {39272#(< ~counter~0 17)} is VALID [2022-04-28 13:28:15,114 INFO L290 TraceCheckUtils]: 79: Hoare triple {38707#true} assume true; {38707#true} is VALID [2022-04-28 13:28:15,114 INFO L290 TraceCheckUtils]: 78: Hoare triple {38707#true} assume !(0 == ~cond); {38707#true} is VALID [2022-04-28 13:28:15,114 INFO L290 TraceCheckUtils]: 77: Hoare triple {38707#true} ~cond := #in~cond; {38707#true} is VALID [2022-04-28 13:28:15,114 INFO L272 TraceCheckUtils]: 76: Hoare triple {39272#(< ~counter~0 17)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {38707#true} is VALID [2022-04-28 13:28:15,114 INFO L290 TraceCheckUtils]: 75: Hoare triple {39272#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {39272#(< ~counter~0 17)} is VALID [2022-04-28 13:28:15,115 INFO L290 TraceCheckUtils]: 74: Hoare triple {39315#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39272#(< ~counter~0 17)} is VALID [2022-04-28 13:28:15,115 INFO L290 TraceCheckUtils]: 73: Hoare triple {39315#(< ~counter~0 16)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {39315#(< ~counter~0 16)} is VALID [2022-04-28 13:28:15,115 INFO L290 TraceCheckUtils]: 72: Hoare triple {39315#(< ~counter~0 16)} 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); {39315#(< ~counter~0 16)} is VALID [2022-04-28 13:28:15,116 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {38707#true} {39315#(< ~counter~0 16)} #86#return; {39315#(< ~counter~0 16)} is VALID [2022-04-28 13:28:15,116 INFO L290 TraceCheckUtils]: 70: Hoare triple {38707#true} assume true; {38707#true} is VALID [2022-04-28 13:28:15,116 INFO L290 TraceCheckUtils]: 69: Hoare triple {38707#true} assume !(0 == ~cond); {38707#true} is VALID [2022-04-28 13:28:15,116 INFO L290 TraceCheckUtils]: 68: Hoare triple {38707#true} ~cond := #in~cond; {38707#true} is VALID [2022-04-28 13:28:15,116 INFO L272 TraceCheckUtils]: 67: Hoare triple {39315#(< ~counter~0 16)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {38707#true} is VALID [2022-04-28 13:28:15,117 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {38707#true} {39315#(< ~counter~0 16)} #84#return; {39315#(< ~counter~0 16)} is VALID [2022-04-28 13:28:15,117 INFO L290 TraceCheckUtils]: 65: Hoare triple {38707#true} assume true; {38707#true} is VALID [2022-04-28 13:28:15,117 INFO L290 TraceCheckUtils]: 64: Hoare triple {38707#true} assume !(0 == ~cond); {38707#true} is VALID [2022-04-28 13:28:15,117 INFO L290 TraceCheckUtils]: 63: Hoare triple {38707#true} ~cond := #in~cond; {38707#true} is VALID [2022-04-28 13:28:15,117 INFO L272 TraceCheckUtils]: 62: Hoare triple {39315#(< ~counter~0 16)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {38707#true} is VALID [2022-04-28 13:28:15,117 INFO L290 TraceCheckUtils]: 61: Hoare triple {39315#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {39315#(< ~counter~0 16)} is VALID [2022-04-28 13:28:15,118 INFO L290 TraceCheckUtils]: 60: Hoare triple {39358#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39315#(< ~counter~0 16)} is VALID [2022-04-28 13:28:15,118 INFO L290 TraceCheckUtils]: 59: Hoare triple {39358#(< ~counter~0 15)} assume !(~r~0 >= ~d~0); {39358#(< ~counter~0 15)} is VALID [2022-04-28 13:28:15,118 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {38707#true} {39358#(< ~counter~0 15)} #82#return; {39358#(< ~counter~0 15)} is VALID [2022-04-28 13:28:15,118 INFO L290 TraceCheckUtils]: 57: Hoare triple {38707#true} assume true; {38707#true} is VALID [2022-04-28 13:28:15,119 INFO L290 TraceCheckUtils]: 56: Hoare triple {38707#true} assume !(0 == ~cond); {38707#true} is VALID [2022-04-28 13:28:15,119 INFO L290 TraceCheckUtils]: 55: Hoare triple {38707#true} ~cond := #in~cond; {38707#true} is VALID [2022-04-28 13:28:15,119 INFO L272 TraceCheckUtils]: 54: Hoare triple {39358#(< ~counter~0 15)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {38707#true} is VALID [2022-04-28 13:28:15,119 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {38707#true} {39358#(< ~counter~0 15)} #80#return; {39358#(< ~counter~0 15)} is VALID [2022-04-28 13:28:15,119 INFO L290 TraceCheckUtils]: 52: Hoare triple {38707#true} assume true; {38707#true} is VALID [2022-04-28 13:28:15,119 INFO L290 TraceCheckUtils]: 51: Hoare triple {38707#true} assume !(0 == ~cond); {38707#true} is VALID [2022-04-28 13:28:15,119 INFO L290 TraceCheckUtils]: 50: Hoare triple {38707#true} ~cond := #in~cond; {38707#true} is VALID [2022-04-28 13:28:15,119 INFO L272 TraceCheckUtils]: 49: Hoare triple {39358#(< ~counter~0 15)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {38707#true} is VALID [2022-04-28 13:28:15,120 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {38707#true} {39358#(< ~counter~0 15)} #78#return; {39358#(< ~counter~0 15)} is VALID [2022-04-28 13:28:15,120 INFO L290 TraceCheckUtils]: 47: Hoare triple {38707#true} assume true; {38707#true} is VALID [2022-04-28 13:28:15,120 INFO L290 TraceCheckUtils]: 46: Hoare triple {38707#true} assume !(0 == ~cond); {38707#true} is VALID [2022-04-28 13:28:15,120 INFO L290 TraceCheckUtils]: 45: Hoare triple {38707#true} ~cond := #in~cond; {38707#true} is VALID [2022-04-28 13:28:15,120 INFO L272 TraceCheckUtils]: 44: Hoare triple {39358#(< ~counter~0 15)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38707#true} is VALID [2022-04-28 13:28:15,120 INFO L290 TraceCheckUtils]: 43: Hoare triple {39358#(< ~counter~0 15)} assume !!(#t~post5 < 20);havoc #t~post5; {39358#(< ~counter~0 15)} is VALID [2022-04-28 13:28:15,121 INFO L290 TraceCheckUtils]: 42: Hoare triple {39413#(< ~counter~0 14)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {39358#(< ~counter~0 15)} is VALID [2022-04-28 13:28:15,121 INFO L290 TraceCheckUtils]: 41: Hoare triple {39413#(< ~counter~0 14)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {39413#(< ~counter~0 14)} is VALID [2022-04-28 13:28:15,122 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {38707#true} {39413#(< ~counter~0 14)} #82#return; {39413#(< ~counter~0 14)} is VALID [2022-04-28 13:28:15,122 INFO L290 TraceCheckUtils]: 39: Hoare triple {38707#true} assume true; {38707#true} is VALID [2022-04-28 13:28:15,122 INFO L290 TraceCheckUtils]: 38: Hoare triple {38707#true} assume !(0 == ~cond); {38707#true} is VALID [2022-04-28 13:28:15,122 INFO L290 TraceCheckUtils]: 37: Hoare triple {38707#true} ~cond := #in~cond; {38707#true} is VALID [2022-04-28 13:28:15,122 INFO L272 TraceCheckUtils]: 36: Hoare triple {39413#(< ~counter~0 14)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {38707#true} is VALID [2022-04-28 13:28:15,122 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {38707#true} {39413#(< ~counter~0 14)} #80#return; {39413#(< ~counter~0 14)} is VALID [2022-04-28 13:28:15,122 INFO L290 TraceCheckUtils]: 34: Hoare triple {38707#true} assume true; {38707#true} is VALID [2022-04-28 13:28:15,122 INFO L290 TraceCheckUtils]: 33: Hoare triple {38707#true} assume !(0 == ~cond); {38707#true} is VALID [2022-04-28 13:28:15,122 INFO L290 TraceCheckUtils]: 32: Hoare triple {38707#true} ~cond := #in~cond; {38707#true} is VALID [2022-04-28 13:28:15,123 INFO L272 TraceCheckUtils]: 31: Hoare triple {39413#(< ~counter~0 14)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {38707#true} is VALID [2022-04-28 13:28:15,123 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {38707#true} {39413#(< ~counter~0 14)} #78#return; {39413#(< ~counter~0 14)} is VALID [2022-04-28 13:28:15,123 INFO L290 TraceCheckUtils]: 29: Hoare triple {38707#true} assume true; {38707#true} is VALID [2022-04-28 13:28:15,123 INFO L290 TraceCheckUtils]: 28: Hoare triple {38707#true} assume !(0 == ~cond); {38707#true} is VALID [2022-04-28 13:28:15,123 INFO L290 TraceCheckUtils]: 27: Hoare triple {38707#true} ~cond := #in~cond; {38707#true} is VALID [2022-04-28 13:28:15,123 INFO L272 TraceCheckUtils]: 26: Hoare triple {39413#(< ~counter~0 14)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38707#true} is VALID [2022-04-28 13:28:15,123 INFO L290 TraceCheckUtils]: 25: Hoare triple {39413#(< ~counter~0 14)} assume !!(#t~post5 < 20);havoc #t~post5; {39413#(< ~counter~0 14)} is VALID [2022-04-28 13:28:15,124 INFO L290 TraceCheckUtils]: 24: Hoare triple {39468#(< ~counter~0 13)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {39413#(< ~counter~0 14)} is VALID [2022-04-28 13:28:15,124 INFO L290 TraceCheckUtils]: 23: Hoare triple {39468#(< ~counter~0 13)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {39468#(< ~counter~0 13)} is VALID [2022-04-28 13:28:15,125 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {38707#true} {39468#(< ~counter~0 13)} #82#return; {39468#(< ~counter~0 13)} is VALID [2022-04-28 13:28:15,125 INFO L290 TraceCheckUtils]: 21: Hoare triple {38707#true} assume true; {38707#true} is VALID [2022-04-28 13:28:15,125 INFO L290 TraceCheckUtils]: 20: Hoare triple {38707#true} assume !(0 == ~cond); {38707#true} is VALID [2022-04-28 13:28:15,125 INFO L290 TraceCheckUtils]: 19: Hoare triple {38707#true} ~cond := #in~cond; {38707#true} is VALID [2022-04-28 13:28:15,125 INFO L272 TraceCheckUtils]: 18: Hoare triple {39468#(< ~counter~0 13)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {38707#true} is VALID [2022-04-28 13:28:15,125 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {38707#true} {39468#(< ~counter~0 13)} #80#return; {39468#(< ~counter~0 13)} is VALID [2022-04-28 13:28:15,125 INFO L290 TraceCheckUtils]: 16: Hoare triple {38707#true} assume true; {38707#true} is VALID [2022-04-28 13:28:15,126 INFO L290 TraceCheckUtils]: 15: Hoare triple {38707#true} assume !(0 == ~cond); {38707#true} is VALID [2022-04-28 13:28:15,126 INFO L290 TraceCheckUtils]: 14: Hoare triple {38707#true} ~cond := #in~cond; {38707#true} is VALID [2022-04-28 13:28:15,126 INFO L272 TraceCheckUtils]: 13: Hoare triple {39468#(< ~counter~0 13)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {38707#true} is VALID [2022-04-28 13:28:15,126 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {38707#true} {39468#(< ~counter~0 13)} #78#return; {39468#(< ~counter~0 13)} is VALID [2022-04-28 13:28:15,126 INFO L290 TraceCheckUtils]: 11: Hoare triple {38707#true} assume true; {38707#true} is VALID [2022-04-28 13:28:15,126 INFO L290 TraceCheckUtils]: 10: Hoare triple {38707#true} assume !(0 == ~cond); {38707#true} is VALID [2022-04-28 13:28:15,126 INFO L290 TraceCheckUtils]: 9: Hoare triple {38707#true} ~cond := #in~cond; {38707#true} is VALID [2022-04-28 13:28:15,126 INFO L272 TraceCheckUtils]: 8: Hoare triple {39468#(< ~counter~0 13)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38707#true} is VALID [2022-04-28 13:28:15,127 INFO L290 TraceCheckUtils]: 7: Hoare triple {39468#(< ~counter~0 13)} assume !!(#t~post5 < 20);havoc #t~post5; {39468#(< ~counter~0 13)} is VALID [2022-04-28 13:28:15,127 INFO L290 TraceCheckUtils]: 6: Hoare triple {39523#(< ~counter~0 12)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {39468#(< ~counter~0 13)} is VALID [2022-04-28 13:28:15,127 INFO L290 TraceCheckUtils]: 5: Hoare triple {39523#(< ~counter~0 12)} 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; {39523#(< ~counter~0 12)} is VALID [2022-04-28 13:28:15,128 INFO L272 TraceCheckUtils]: 4: Hoare triple {39523#(< ~counter~0 12)} call #t~ret7 := main(); {39523#(< ~counter~0 12)} is VALID [2022-04-28 13:28:15,128 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39523#(< ~counter~0 12)} {38707#true} #92#return; {39523#(< ~counter~0 12)} is VALID [2022-04-28 13:28:15,128 INFO L290 TraceCheckUtils]: 2: Hoare triple {39523#(< ~counter~0 12)} assume true; {39523#(< ~counter~0 12)} is VALID [2022-04-28 13:28:15,129 INFO L290 TraceCheckUtils]: 1: Hoare triple {38707#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {39523#(< ~counter~0 12)} is VALID [2022-04-28 13:28:15,129 INFO L272 TraceCheckUtils]: 0: Hoare triple {38707#true} call ULTIMATE.init(); {38707#true} is VALID [2022-04-28 13:28:15,129 INFO L134 CoverageAnalysis]: Checked inductivity of 810 backedges. 38 proven. 88 refuted. 0 times theorem prover too weak. 684 trivial. 0 not checked. [2022-04-28 13:28:15,129 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:28:15,129 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [646063770] [2022-04-28 13:28:15,129 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:28:15,130 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1062186447] [2022-04-28 13:28:15,130 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1062186447] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:28:15,130 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:28:15,130 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 22 [2022-04-28 13:28:15,130 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:28:15,130 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2079471268] [2022-04-28 13:28:15,130 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2079471268] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:28:15,130 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:28:15,130 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 13:28:15,130 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [911432957] [2022-04-28 13:28:15,130 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:28:15,131 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 5.083333333333333) internal successors, (61), 11 states have internal predecessors, (61), 11 states have call successors, (22), 11 states have call predecessors, (22), 9 states have return successors, (20), 9 states have call predecessors, (20), 9 states have call successors, (20) Word has length 136 [2022-04-28 13:28:15,132 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:28:15,132 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 5.083333333333333) internal successors, (61), 11 states have internal predecessors, (61), 11 states have call successors, (22), 11 states have call predecessors, (22), 9 states have return successors, (20), 9 states have call predecessors, (20), 9 states have call successors, (20) [2022-04-28 13:28:15,210 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:15,210 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 13:28:15,210 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:28:15,211 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 13:28:15,211 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=195, Invalid=267, Unknown=0, NotChecked=0, Total=462 [2022-04-28 13:28:15,211 INFO L87 Difference]: Start difference. First operand 387 states and 433 transitions. Second operand has 12 states, 12 states have (on average 5.083333333333333) internal successors, (61), 11 states have internal predecessors, (61), 11 states have call successors, (22), 11 states have call predecessors, (22), 9 states have return successors, (20), 9 states have call predecessors, (20), 9 states have call successors, (20) [2022-04-28 13:28:16,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:16,529 INFO L93 Difference]: Finished difference Result 483 states and 551 transitions. [2022-04-28 13:28:16,529 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 13:28:16,530 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 5.083333333333333) internal successors, (61), 11 states have internal predecessors, (61), 11 states have call successors, (22), 11 states have call predecessors, (22), 9 states have return successors, (20), 9 states have call predecessors, (20), 9 states have call successors, (20) Word has length 136 [2022-04-28 13:28:16,530 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:28:16,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 5.083333333333333) internal successors, (61), 11 states have internal predecessors, (61), 11 states have call successors, (22), 11 states have call predecessors, (22), 9 states have return successors, (20), 9 states have call predecessors, (20), 9 states have call successors, (20) [2022-04-28 13:28:16,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 193 transitions. [2022-04-28 13:28:16,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 5.083333333333333) internal successors, (61), 11 states have internal predecessors, (61), 11 states have call successors, (22), 11 states have call predecessors, (22), 9 states have return successors, (20), 9 states have call predecessors, (20), 9 states have call successors, (20) [2022-04-28 13:28:16,533 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 193 transitions. [2022-04-28 13:28:16,533 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 193 transitions. [2022-04-28 13:28:16,684 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 193 edges. 193 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:16,695 INFO L225 Difference]: With dead ends: 483 [2022-04-28 13:28:16,695 INFO L226 Difference]: Without dead ends: 470 [2022-04-28 13:28:16,696 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 276 GetRequests, 251 SyntacticMatches, 0 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=285, Invalid=417, Unknown=0, NotChecked=0, Total=702 [2022-04-28 13:28:16,696 INFO L413 NwaCegarLoop]: 66 mSDtfsCounter, 72 mSDsluCounter, 179 mSDsCounter, 0 mSdLazyCounter, 119 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 72 SdHoareTripleChecker+Valid, 245 SdHoareTripleChecker+Invalid, 168 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 119 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 13:28:16,696 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [72 Valid, 245 Invalid, 168 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 119 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 13:28:16,696 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 470 states. [2022-04-28 13:28:17,360 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 470 to 469. [2022-04-28 13:28:17,360 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:28:17,366 INFO L82 GeneralOperation]: Start isEquivalent. First operand 470 states. Second operand has 469 states, 321 states have (on average 1.1059190031152648) internal successors, (355), 329 states have internal predecessors, (355), 88 states have call successors, (88), 60 states have call predecessors, (88), 59 states have return successors, (86), 79 states have call predecessors, (86), 86 states have call successors, (86) [2022-04-28 13:28:17,367 INFO L74 IsIncluded]: Start isIncluded. First operand 470 states. Second operand has 469 states, 321 states have (on average 1.1059190031152648) internal successors, (355), 329 states have internal predecessors, (355), 88 states have call successors, (88), 60 states have call predecessors, (88), 59 states have return successors, (86), 79 states have call predecessors, (86), 86 states have call successors, (86) [2022-04-28 13:28:17,367 INFO L87 Difference]: Start difference. First operand 470 states. Second operand has 469 states, 321 states have (on average 1.1059190031152648) internal successors, (355), 329 states have internal predecessors, (355), 88 states have call successors, (88), 60 states have call predecessors, (88), 59 states have return successors, (86), 79 states have call predecessors, (86), 86 states have call successors, (86) [2022-04-28 13:28:17,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:17,375 INFO L93 Difference]: Finished difference Result 470 states and 530 transitions. [2022-04-28 13:28:17,375 INFO L276 IsEmpty]: Start isEmpty. Operand 470 states and 530 transitions. [2022-04-28 13:28:17,376 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:28:17,376 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:28:17,376 INFO L74 IsIncluded]: Start isIncluded. First operand has 469 states, 321 states have (on average 1.1059190031152648) internal successors, (355), 329 states have internal predecessors, (355), 88 states have call successors, (88), 60 states have call predecessors, (88), 59 states have return successors, (86), 79 states have call predecessors, (86), 86 states have call successors, (86) Second operand 470 states. [2022-04-28 13:28:17,377 INFO L87 Difference]: Start difference. First operand has 469 states, 321 states have (on average 1.1059190031152648) internal successors, (355), 329 states have internal predecessors, (355), 88 states have call successors, (88), 60 states have call predecessors, (88), 59 states have return successors, (86), 79 states have call predecessors, (86), 86 states have call successors, (86) Second operand 470 states. [2022-04-28 13:28:17,385 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:17,385 INFO L93 Difference]: Finished difference Result 470 states and 530 transitions. [2022-04-28 13:28:17,385 INFO L276 IsEmpty]: Start isEmpty. Operand 470 states and 530 transitions. [2022-04-28 13:28:17,385 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:28:17,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:28:17,386 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:28:17,386 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:28:17,386 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 469 states, 321 states have (on average 1.1059190031152648) internal successors, (355), 329 states have internal predecessors, (355), 88 states have call successors, (88), 60 states have call predecessors, (88), 59 states have return successors, (86), 79 states have call predecessors, (86), 86 states have call successors, (86) [2022-04-28 13:28:17,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 469 states to 469 states and 529 transitions. [2022-04-28 13:28:17,398 INFO L78 Accepts]: Start accepts. Automaton has 469 states and 529 transitions. Word has length 136 [2022-04-28 13:28:17,398 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:28:17,398 INFO L495 AbstractCegarLoop]: Abstraction has 469 states and 529 transitions. [2022-04-28 13:28:17,398 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 5.083333333333333) internal successors, (61), 11 states have internal predecessors, (61), 11 states have call successors, (22), 11 states have call predecessors, (22), 9 states have return successors, (20), 9 states have call predecessors, (20), 9 states have call successors, (20) [2022-04-28 13:28:17,398 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 469 states and 529 transitions. [2022-04-28 13:28:18,358 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 529 edges. 529 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:18,359 INFO L276 IsEmpty]: Start isEmpty. Operand 469 states and 529 transitions. [2022-04-28 13:28:18,360 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 151 [2022-04-28 13:28:18,360 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:28:18,360 INFO L195 NwaCegarLoop]: trace histogram [22, 21, 21, 7, 6, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:28:18,377 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Forceful destruction successful, exit code 0 [2022-04-28 13:28:18,560 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-04-28 13:28:18,560 INFO L420 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:28:18,560 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:28:18,561 INFO L85 PathProgramCache]: Analyzing trace with hash 1618957110, now seen corresponding path program 13 times [2022-04-28 13:28:18,561 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:28:18,561 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2121227776] [2022-04-28 13:28:22,642 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:28:22,642 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:28:22,642 INFO L85 PathProgramCache]: Analyzing trace with hash 1618957110, now seen corresponding path program 14 times [2022-04-28 13:28:22,642 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:28:22,642 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [116610043] [2022-04-28 13:28:22,643 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:28:22,643 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:28:22,655 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:28:22,655 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [575644620] [2022-04-28 13:28:22,655 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:28:22,655 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:28:22,655 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:28:22,656 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:28:22,657 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-28 13:28:22,724 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:28:22,725 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:28:22,726 INFO L263 TraceCheckSpWp]: Trace formula consists of 380 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 13:28:22,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:28:22,752 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:28:23,430 INFO L272 TraceCheckUtils]: 0: Hoare triple {42398#true} call ULTIMATE.init(); {42398#true} is VALID [2022-04-28 13:28:23,430 INFO L290 TraceCheckUtils]: 1: Hoare triple {42398#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {42406#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:23,430 INFO L290 TraceCheckUtils]: 2: Hoare triple {42406#(<= ~counter~0 0)} assume true; {42406#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:23,431 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42406#(<= ~counter~0 0)} {42398#true} #92#return; {42406#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:23,431 INFO L272 TraceCheckUtils]: 4: Hoare triple {42406#(<= ~counter~0 0)} call #t~ret7 := main(); {42406#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:23,431 INFO L290 TraceCheckUtils]: 5: Hoare triple {42406#(<= ~counter~0 0)} 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; {42406#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:23,432 INFO L290 TraceCheckUtils]: 6: Hoare triple {42406#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {42422#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:23,433 INFO L290 TraceCheckUtils]: 7: Hoare triple {42422#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {42422#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:23,433 INFO L272 TraceCheckUtils]: 8: Hoare triple {42422#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42422#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:23,433 INFO L290 TraceCheckUtils]: 9: Hoare triple {42422#(<= ~counter~0 1)} ~cond := #in~cond; {42422#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:23,433 INFO L290 TraceCheckUtils]: 10: Hoare triple {42422#(<= ~counter~0 1)} assume !(0 == ~cond); {42422#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:23,434 INFO L290 TraceCheckUtils]: 11: Hoare triple {42422#(<= ~counter~0 1)} assume true; {42422#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:23,434 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {42422#(<= ~counter~0 1)} {42422#(<= ~counter~0 1)} #78#return; {42422#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:23,434 INFO L272 TraceCheckUtils]: 13: Hoare triple {42422#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {42422#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:23,435 INFO L290 TraceCheckUtils]: 14: Hoare triple {42422#(<= ~counter~0 1)} ~cond := #in~cond; {42422#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:23,435 INFO L290 TraceCheckUtils]: 15: Hoare triple {42422#(<= ~counter~0 1)} assume !(0 == ~cond); {42422#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:23,435 INFO L290 TraceCheckUtils]: 16: Hoare triple {42422#(<= ~counter~0 1)} assume true; {42422#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:23,436 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {42422#(<= ~counter~0 1)} {42422#(<= ~counter~0 1)} #80#return; {42422#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:23,436 INFO L272 TraceCheckUtils]: 18: Hoare triple {42422#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42422#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:23,436 INFO L290 TraceCheckUtils]: 19: Hoare triple {42422#(<= ~counter~0 1)} ~cond := #in~cond; {42422#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:23,437 INFO L290 TraceCheckUtils]: 20: Hoare triple {42422#(<= ~counter~0 1)} assume !(0 == ~cond); {42422#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:23,437 INFO L290 TraceCheckUtils]: 21: Hoare triple {42422#(<= ~counter~0 1)} assume true; {42422#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:23,437 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {42422#(<= ~counter~0 1)} {42422#(<= ~counter~0 1)} #82#return; {42422#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:23,438 INFO L290 TraceCheckUtils]: 23: Hoare triple {42422#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {42422#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:23,439 INFO L290 TraceCheckUtils]: 24: Hoare triple {42422#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {42477#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:23,439 INFO L290 TraceCheckUtils]: 25: Hoare triple {42477#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {42477#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:23,439 INFO L272 TraceCheckUtils]: 26: Hoare triple {42477#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42477#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:23,439 INFO L290 TraceCheckUtils]: 27: Hoare triple {42477#(<= ~counter~0 2)} ~cond := #in~cond; {42477#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:23,440 INFO L290 TraceCheckUtils]: 28: Hoare triple {42477#(<= ~counter~0 2)} assume !(0 == ~cond); {42477#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:23,440 INFO L290 TraceCheckUtils]: 29: Hoare triple {42477#(<= ~counter~0 2)} assume true; {42477#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:23,440 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {42477#(<= ~counter~0 2)} {42477#(<= ~counter~0 2)} #78#return; {42477#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:23,441 INFO L272 TraceCheckUtils]: 31: Hoare triple {42477#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {42477#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:23,441 INFO L290 TraceCheckUtils]: 32: Hoare triple {42477#(<= ~counter~0 2)} ~cond := #in~cond; {42477#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:23,441 INFO L290 TraceCheckUtils]: 33: Hoare triple {42477#(<= ~counter~0 2)} assume !(0 == ~cond); {42477#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:23,441 INFO L290 TraceCheckUtils]: 34: Hoare triple {42477#(<= ~counter~0 2)} assume true; {42477#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:23,442 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {42477#(<= ~counter~0 2)} {42477#(<= ~counter~0 2)} #80#return; {42477#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:23,442 INFO L272 TraceCheckUtils]: 36: Hoare triple {42477#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42477#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:23,442 INFO L290 TraceCheckUtils]: 37: Hoare triple {42477#(<= ~counter~0 2)} ~cond := #in~cond; {42477#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:23,443 INFO L290 TraceCheckUtils]: 38: Hoare triple {42477#(<= ~counter~0 2)} assume !(0 == ~cond); {42477#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:23,443 INFO L290 TraceCheckUtils]: 39: Hoare triple {42477#(<= ~counter~0 2)} assume true; {42477#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:23,443 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {42477#(<= ~counter~0 2)} {42477#(<= ~counter~0 2)} #82#return; {42477#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:23,444 INFO L290 TraceCheckUtils]: 41: Hoare triple {42477#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {42477#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:23,445 INFO L290 TraceCheckUtils]: 42: Hoare triple {42477#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {42532#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:23,445 INFO L290 TraceCheckUtils]: 43: Hoare triple {42532#(<= ~counter~0 3)} assume !!(#t~post5 < 20);havoc #t~post5; {42532#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:23,445 INFO L272 TraceCheckUtils]: 44: Hoare triple {42532#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42532#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:23,446 INFO L290 TraceCheckUtils]: 45: Hoare triple {42532#(<= ~counter~0 3)} ~cond := #in~cond; {42532#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:23,446 INFO L290 TraceCheckUtils]: 46: Hoare triple {42532#(<= ~counter~0 3)} assume !(0 == ~cond); {42532#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:23,446 INFO L290 TraceCheckUtils]: 47: Hoare triple {42532#(<= ~counter~0 3)} assume true; {42532#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:23,446 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {42532#(<= ~counter~0 3)} {42532#(<= ~counter~0 3)} #78#return; {42532#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:23,447 INFO L272 TraceCheckUtils]: 49: Hoare triple {42532#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {42532#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:23,447 INFO L290 TraceCheckUtils]: 50: Hoare triple {42532#(<= ~counter~0 3)} ~cond := #in~cond; {42532#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:23,447 INFO L290 TraceCheckUtils]: 51: Hoare triple {42532#(<= ~counter~0 3)} assume !(0 == ~cond); {42532#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:23,448 INFO L290 TraceCheckUtils]: 52: Hoare triple {42532#(<= ~counter~0 3)} assume true; {42532#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:23,448 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {42532#(<= ~counter~0 3)} {42532#(<= ~counter~0 3)} #80#return; {42532#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:23,448 INFO L272 TraceCheckUtils]: 54: Hoare triple {42532#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42532#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:23,449 INFO L290 TraceCheckUtils]: 55: Hoare triple {42532#(<= ~counter~0 3)} ~cond := #in~cond; {42532#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:23,449 INFO L290 TraceCheckUtils]: 56: Hoare triple {42532#(<= ~counter~0 3)} assume !(0 == ~cond); {42532#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:23,449 INFO L290 TraceCheckUtils]: 57: Hoare triple {42532#(<= ~counter~0 3)} assume true; {42532#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:23,450 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {42532#(<= ~counter~0 3)} {42532#(<= ~counter~0 3)} #82#return; {42532#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:23,450 INFO L290 TraceCheckUtils]: 59: Hoare triple {42532#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {42532#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:23,451 INFO L290 TraceCheckUtils]: 60: Hoare triple {42532#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42587#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:23,451 INFO L290 TraceCheckUtils]: 61: Hoare triple {42587#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {42587#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:23,452 INFO L272 TraceCheckUtils]: 62: Hoare triple {42587#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {42587#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:23,452 INFO L290 TraceCheckUtils]: 63: Hoare triple {42587#(<= ~counter~0 4)} ~cond := #in~cond; {42587#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:23,452 INFO L290 TraceCheckUtils]: 64: Hoare triple {42587#(<= ~counter~0 4)} assume !(0 == ~cond); {42587#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:23,452 INFO L290 TraceCheckUtils]: 65: Hoare triple {42587#(<= ~counter~0 4)} assume true; {42587#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:23,453 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {42587#(<= ~counter~0 4)} {42587#(<= ~counter~0 4)} #84#return; {42587#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:23,453 INFO L272 TraceCheckUtils]: 67: Hoare triple {42587#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42587#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:23,453 INFO L290 TraceCheckUtils]: 68: Hoare triple {42587#(<= ~counter~0 4)} ~cond := #in~cond; {42587#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:23,454 INFO L290 TraceCheckUtils]: 69: Hoare triple {42587#(<= ~counter~0 4)} assume !(0 == ~cond); {42587#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:23,454 INFO L290 TraceCheckUtils]: 70: Hoare triple {42587#(<= ~counter~0 4)} assume true; {42587#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:23,454 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {42587#(<= ~counter~0 4)} {42587#(<= ~counter~0 4)} #86#return; {42587#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:23,455 INFO L290 TraceCheckUtils]: 72: Hoare triple {42587#(<= ~counter~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); {42587#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:23,455 INFO L290 TraceCheckUtils]: 73: Hoare triple {42587#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42587#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:23,456 INFO L290 TraceCheckUtils]: 74: Hoare triple {42587#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42630#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:23,456 INFO L290 TraceCheckUtils]: 75: Hoare triple {42630#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {42630#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:23,457 INFO L272 TraceCheckUtils]: 76: Hoare triple {42630#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {42630#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:23,457 INFO L290 TraceCheckUtils]: 77: Hoare triple {42630#(<= ~counter~0 5)} ~cond := #in~cond; {42630#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:23,457 INFO L290 TraceCheckUtils]: 78: Hoare triple {42630#(<= ~counter~0 5)} assume !(0 == ~cond); {42630#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:23,457 INFO L290 TraceCheckUtils]: 79: Hoare triple {42630#(<= ~counter~0 5)} assume true; {42630#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:23,458 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {42630#(<= ~counter~0 5)} {42630#(<= ~counter~0 5)} #84#return; {42630#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:23,458 INFO L272 TraceCheckUtils]: 81: Hoare triple {42630#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42630#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:23,458 INFO L290 TraceCheckUtils]: 82: Hoare triple {42630#(<= ~counter~0 5)} ~cond := #in~cond; {42630#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:23,459 INFO L290 TraceCheckUtils]: 83: Hoare triple {42630#(<= ~counter~0 5)} assume !(0 == ~cond); {42630#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:23,459 INFO L290 TraceCheckUtils]: 84: Hoare triple {42630#(<= ~counter~0 5)} assume true; {42630#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:23,459 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {42630#(<= ~counter~0 5)} {42630#(<= ~counter~0 5)} #86#return; {42630#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:23,460 INFO L290 TraceCheckUtils]: 86: Hoare triple {42630#(<= ~counter~0 5)} 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); {42630#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:23,460 INFO L290 TraceCheckUtils]: 87: Hoare triple {42630#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42630#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:23,461 INFO L290 TraceCheckUtils]: 88: Hoare triple {42630#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42673#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:23,461 INFO L290 TraceCheckUtils]: 89: Hoare triple {42673#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {42673#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:23,461 INFO L272 TraceCheckUtils]: 90: Hoare triple {42673#(<= ~counter~0 6)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {42673#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:23,462 INFO L290 TraceCheckUtils]: 91: Hoare triple {42673#(<= ~counter~0 6)} ~cond := #in~cond; {42673#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:23,462 INFO L290 TraceCheckUtils]: 92: Hoare triple {42673#(<= ~counter~0 6)} assume !(0 == ~cond); {42673#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:23,462 INFO L290 TraceCheckUtils]: 93: Hoare triple {42673#(<= ~counter~0 6)} assume true; {42673#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:23,463 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {42673#(<= ~counter~0 6)} {42673#(<= ~counter~0 6)} #84#return; {42673#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:23,463 INFO L272 TraceCheckUtils]: 95: Hoare triple {42673#(<= ~counter~0 6)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42673#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:23,463 INFO L290 TraceCheckUtils]: 96: Hoare triple {42673#(<= ~counter~0 6)} ~cond := #in~cond; {42673#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:23,464 INFO L290 TraceCheckUtils]: 97: Hoare triple {42673#(<= ~counter~0 6)} assume !(0 == ~cond); {42673#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:23,464 INFO L290 TraceCheckUtils]: 98: Hoare triple {42673#(<= ~counter~0 6)} assume true; {42673#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:23,464 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {42673#(<= ~counter~0 6)} {42673#(<= ~counter~0 6)} #86#return; {42673#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:23,465 INFO L290 TraceCheckUtils]: 100: Hoare triple {42673#(<= ~counter~0 6)} 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); {42673#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:23,465 INFO L290 TraceCheckUtils]: 101: Hoare triple {42673#(<= ~counter~0 6)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42673#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:23,466 INFO L290 TraceCheckUtils]: 102: Hoare triple {42673#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42716#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:23,466 INFO L290 TraceCheckUtils]: 103: Hoare triple {42716#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {42716#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:23,467 INFO L272 TraceCheckUtils]: 104: Hoare triple {42716#(<= ~counter~0 7)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {42716#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:23,467 INFO L290 TraceCheckUtils]: 105: Hoare triple {42716#(<= ~counter~0 7)} ~cond := #in~cond; {42716#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:23,467 INFO L290 TraceCheckUtils]: 106: Hoare triple {42716#(<= ~counter~0 7)} assume !(0 == ~cond); {42716#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:23,467 INFO L290 TraceCheckUtils]: 107: Hoare triple {42716#(<= ~counter~0 7)} assume true; {42716#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:23,468 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {42716#(<= ~counter~0 7)} {42716#(<= ~counter~0 7)} #84#return; {42716#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:23,468 INFO L272 TraceCheckUtils]: 109: Hoare triple {42716#(<= ~counter~0 7)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42716#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:23,468 INFO L290 TraceCheckUtils]: 110: Hoare triple {42716#(<= ~counter~0 7)} ~cond := #in~cond; {42716#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:23,469 INFO L290 TraceCheckUtils]: 111: Hoare triple {42716#(<= ~counter~0 7)} assume !(0 == ~cond); {42716#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:23,469 INFO L290 TraceCheckUtils]: 112: Hoare triple {42716#(<= ~counter~0 7)} assume true; {42716#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:23,469 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {42716#(<= ~counter~0 7)} {42716#(<= ~counter~0 7)} #86#return; {42716#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:23,470 INFO L290 TraceCheckUtils]: 114: Hoare triple {42716#(<= ~counter~0 7)} 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); {42716#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:23,470 INFO L290 TraceCheckUtils]: 115: Hoare triple {42716#(<= ~counter~0 7)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42716#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:23,471 INFO L290 TraceCheckUtils]: 116: Hoare triple {42716#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42759#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:23,471 INFO L290 TraceCheckUtils]: 117: Hoare triple {42759#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {42759#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:23,471 INFO L272 TraceCheckUtils]: 118: Hoare triple {42759#(<= ~counter~0 8)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {42759#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:23,472 INFO L290 TraceCheckUtils]: 119: Hoare triple {42759#(<= ~counter~0 8)} ~cond := #in~cond; {42759#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:23,472 INFO L290 TraceCheckUtils]: 120: Hoare triple {42759#(<= ~counter~0 8)} assume !(0 == ~cond); {42759#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:23,472 INFO L290 TraceCheckUtils]: 121: Hoare triple {42759#(<= ~counter~0 8)} assume true; {42759#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:23,473 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {42759#(<= ~counter~0 8)} {42759#(<= ~counter~0 8)} #84#return; {42759#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:23,473 INFO L272 TraceCheckUtils]: 123: Hoare triple {42759#(<= ~counter~0 8)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42759#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:23,473 INFO L290 TraceCheckUtils]: 124: Hoare triple {42759#(<= ~counter~0 8)} ~cond := #in~cond; {42759#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:23,474 INFO L290 TraceCheckUtils]: 125: Hoare triple {42759#(<= ~counter~0 8)} assume !(0 == ~cond); {42759#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:23,474 INFO L290 TraceCheckUtils]: 126: Hoare triple {42759#(<= ~counter~0 8)} assume true; {42759#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:23,474 INFO L284 TraceCheckUtils]: 127: Hoare quadruple {42759#(<= ~counter~0 8)} {42759#(<= ~counter~0 8)} #86#return; {42759#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:23,475 INFO L290 TraceCheckUtils]: 128: Hoare triple {42759#(<= ~counter~0 8)} 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); {42759#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:23,475 INFO L290 TraceCheckUtils]: 129: Hoare triple {42759#(<= ~counter~0 8)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42759#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:23,476 INFO L290 TraceCheckUtils]: 130: Hoare triple {42759#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42802#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:23,476 INFO L290 TraceCheckUtils]: 131: Hoare triple {42802#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {42802#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:23,476 INFO L272 TraceCheckUtils]: 132: Hoare triple {42802#(<= ~counter~0 9)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {42802#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:23,477 INFO L290 TraceCheckUtils]: 133: Hoare triple {42802#(<= ~counter~0 9)} ~cond := #in~cond; {42802#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:23,477 INFO L290 TraceCheckUtils]: 134: Hoare triple {42802#(<= ~counter~0 9)} assume !(0 == ~cond); {42802#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:23,477 INFO L290 TraceCheckUtils]: 135: Hoare triple {42802#(<= ~counter~0 9)} assume true; {42802#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:23,478 INFO L284 TraceCheckUtils]: 136: Hoare quadruple {42802#(<= ~counter~0 9)} {42802#(<= ~counter~0 9)} #84#return; {42802#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:23,478 INFO L272 TraceCheckUtils]: 137: Hoare triple {42802#(<= ~counter~0 9)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42802#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:23,478 INFO L290 TraceCheckUtils]: 138: Hoare triple {42802#(<= ~counter~0 9)} ~cond := #in~cond; {42802#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:23,479 INFO L290 TraceCheckUtils]: 139: Hoare triple {42802#(<= ~counter~0 9)} assume !(0 == ~cond); {42802#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:23,479 INFO L290 TraceCheckUtils]: 140: Hoare triple {42802#(<= ~counter~0 9)} assume true; {42802#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:23,479 INFO L284 TraceCheckUtils]: 141: Hoare quadruple {42802#(<= ~counter~0 9)} {42802#(<= ~counter~0 9)} #86#return; {42802#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:23,480 INFO L290 TraceCheckUtils]: 142: Hoare triple {42802#(<= ~counter~0 9)} 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); {42802#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:23,480 INFO L290 TraceCheckUtils]: 143: Hoare triple {42802#(<= ~counter~0 9)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42802#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:23,480 INFO L290 TraceCheckUtils]: 144: Hoare triple {42802#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42845#(<= |main_#t~post6| 9)} is VALID [2022-04-28 13:28:23,481 INFO L290 TraceCheckUtils]: 145: Hoare triple {42845#(<= |main_#t~post6| 9)} assume !(#t~post6 < 20);havoc #t~post6; {42399#false} is VALID [2022-04-28 13:28:23,481 INFO L272 TraceCheckUtils]: 146: Hoare triple {42399#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {42399#false} is VALID [2022-04-28 13:28:23,481 INFO L290 TraceCheckUtils]: 147: Hoare triple {42399#false} ~cond := #in~cond; {42399#false} is VALID [2022-04-28 13:28:23,481 INFO L290 TraceCheckUtils]: 148: Hoare triple {42399#false} assume 0 == ~cond; {42399#false} is VALID [2022-04-28 13:28:23,481 INFO L290 TraceCheckUtils]: 149: Hoare triple {42399#false} assume !false; {42399#false} is VALID [2022-04-28 13:28:23,481 INFO L134 CoverageAnalysis]: Checked inductivity of 1002 backedges. 42 proven. 900 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-28 13:28:23,482 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:28:24,175 INFO L290 TraceCheckUtils]: 149: Hoare triple {42399#false} assume !false; {42399#false} is VALID [2022-04-28 13:28:24,176 INFO L290 TraceCheckUtils]: 148: Hoare triple {42399#false} assume 0 == ~cond; {42399#false} is VALID [2022-04-28 13:28:24,176 INFO L290 TraceCheckUtils]: 147: Hoare triple {42399#false} ~cond := #in~cond; {42399#false} is VALID [2022-04-28 13:28:24,176 INFO L272 TraceCheckUtils]: 146: Hoare triple {42399#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {42399#false} is VALID [2022-04-28 13:28:24,176 INFO L290 TraceCheckUtils]: 145: Hoare triple {42873#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {42399#false} is VALID [2022-04-28 13:28:24,176 INFO L290 TraceCheckUtils]: 144: Hoare triple {42877#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42873#(< |main_#t~post6| 20)} is VALID [2022-04-28 13:28:24,177 INFO L290 TraceCheckUtils]: 143: Hoare triple {42877#(< ~counter~0 20)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42877#(< ~counter~0 20)} is VALID [2022-04-28 13:28:24,177 INFO L290 TraceCheckUtils]: 142: Hoare triple {42877#(< ~counter~0 20)} 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); {42877#(< ~counter~0 20)} is VALID [2022-04-28 13:28:24,177 INFO L284 TraceCheckUtils]: 141: Hoare quadruple {42398#true} {42877#(< ~counter~0 20)} #86#return; {42877#(< ~counter~0 20)} is VALID [2022-04-28 13:28:24,177 INFO L290 TraceCheckUtils]: 140: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,178 INFO L290 TraceCheckUtils]: 139: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,178 INFO L290 TraceCheckUtils]: 138: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,178 INFO L272 TraceCheckUtils]: 137: Hoare triple {42877#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,178 INFO L284 TraceCheckUtils]: 136: Hoare quadruple {42398#true} {42877#(< ~counter~0 20)} #84#return; {42877#(< ~counter~0 20)} is VALID [2022-04-28 13:28:24,178 INFO L290 TraceCheckUtils]: 135: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,178 INFO L290 TraceCheckUtils]: 134: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,178 INFO L290 TraceCheckUtils]: 133: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,178 INFO L272 TraceCheckUtils]: 132: Hoare triple {42877#(< ~counter~0 20)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,179 INFO L290 TraceCheckUtils]: 131: Hoare triple {42877#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {42877#(< ~counter~0 20)} is VALID [2022-04-28 13:28:24,180 INFO L290 TraceCheckUtils]: 130: Hoare triple {42920#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42877#(< ~counter~0 20)} is VALID [2022-04-28 13:28:24,180 INFO L290 TraceCheckUtils]: 129: Hoare triple {42920#(< ~counter~0 19)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42920#(< ~counter~0 19)} is VALID [2022-04-28 13:28:24,180 INFO L290 TraceCheckUtils]: 128: Hoare triple {42920#(< ~counter~0 19)} 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); {42920#(< ~counter~0 19)} is VALID [2022-04-28 13:28:24,181 INFO L284 TraceCheckUtils]: 127: Hoare quadruple {42398#true} {42920#(< ~counter~0 19)} #86#return; {42920#(< ~counter~0 19)} is VALID [2022-04-28 13:28:24,181 INFO L290 TraceCheckUtils]: 126: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,181 INFO L290 TraceCheckUtils]: 125: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,181 INFO L290 TraceCheckUtils]: 124: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,181 INFO L272 TraceCheckUtils]: 123: Hoare triple {42920#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,181 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {42398#true} {42920#(< ~counter~0 19)} #84#return; {42920#(< ~counter~0 19)} is VALID [2022-04-28 13:28:24,181 INFO L290 TraceCheckUtils]: 121: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,182 INFO L290 TraceCheckUtils]: 120: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,182 INFO L290 TraceCheckUtils]: 119: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,182 INFO L272 TraceCheckUtils]: 118: Hoare triple {42920#(< ~counter~0 19)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,182 INFO L290 TraceCheckUtils]: 117: Hoare triple {42920#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {42920#(< ~counter~0 19)} is VALID [2022-04-28 13:28:24,182 INFO L290 TraceCheckUtils]: 116: Hoare triple {42963#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42920#(< ~counter~0 19)} is VALID [2022-04-28 13:28:24,183 INFO L290 TraceCheckUtils]: 115: Hoare triple {42963#(< ~counter~0 18)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42963#(< ~counter~0 18)} is VALID [2022-04-28 13:28:24,183 INFO L290 TraceCheckUtils]: 114: Hoare triple {42963#(< ~counter~0 18)} 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); {42963#(< ~counter~0 18)} is VALID [2022-04-28 13:28:24,183 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {42398#true} {42963#(< ~counter~0 18)} #86#return; {42963#(< ~counter~0 18)} is VALID [2022-04-28 13:28:24,184 INFO L290 TraceCheckUtils]: 112: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,184 INFO L290 TraceCheckUtils]: 111: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,184 INFO L290 TraceCheckUtils]: 110: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,184 INFO L272 TraceCheckUtils]: 109: Hoare triple {42963#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,184 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {42398#true} {42963#(< ~counter~0 18)} #84#return; {42963#(< ~counter~0 18)} is VALID [2022-04-28 13:28:24,184 INFO L290 TraceCheckUtils]: 107: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,184 INFO L290 TraceCheckUtils]: 106: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,184 INFO L290 TraceCheckUtils]: 105: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,184 INFO L272 TraceCheckUtils]: 104: Hoare triple {42963#(< ~counter~0 18)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,185 INFO L290 TraceCheckUtils]: 103: Hoare triple {42963#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {42963#(< ~counter~0 18)} is VALID [2022-04-28 13:28:24,185 INFO L290 TraceCheckUtils]: 102: Hoare triple {43006#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42963#(< ~counter~0 18)} is VALID [2022-04-28 13:28:24,186 INFO L290 TraceCheckUtils]: 101: Hoare triple {43006#(< ~counter~0 17)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {43006#(< ~counter~0 17)} is VALID [2022-04-28 13:28:24,186 INFO L290 TraceCheckUtils]: 100: Hoare triple {43006#(< ~counter~0 17)} 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); {43006#(< ~counter~0 17)} is VALID [2022-04-28 13:28:24,186 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {42398#true} {43006#(< ~counter~0 17)} #86#return; {43006#(< ~counter~0 17)} is VALID [2022-04-28 13:28:24,186 INFO L290 TraceCheckUtils]: 98: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,186 INFO L290 TraceCheckUtils]: 97: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,186 INFO L290 TraceCheckUtils]: 96: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,186 INFO L272 TraceCheckUtils]: 95: Hoare triple {43006#(< ~counter~0 17)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,187 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {42398#true} {43006#(< ~counter~0 17)} #84#return; {43006#(< ~counter~0 17)} is VALID [2022-04-28 13:28:24,187 INFO L290 TraceCheckUtils]: 93: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,187 INFO L290 TraceCheckUtils]: 92: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,187 INFO L290 TraceCheckUtils]: 91: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,187 INFO L272 TraceCheckUtils]: 90: Hoare triple {43006#(< ~counter~0 17)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,187 INFO L290 TraceCheckUtils]: 89: Hoare triple {43006#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {43006#(< ~counter~0 17)} is VALID [2022-04-28 13:28:24,188 INFO L290 TraceCheckUtils]: 88: Hoare triple {43049#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {43006#(< ~counter~0 17)} is VALID [2022-04-28 13:28:24,188 INFO L290 TraceCheckUtils]: 87: Hoare triple {43049#(< ~counter~0 16)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {43049#(< ~counter~0 16)} is VALID [2022-04-28 13:28:24,189 INFO L290 TraceCheckUtils]: 86: Hoare triple {43049#(< ~counter~0 16)} 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); {43049#(< ~counter~0 16)} is VALID [2022-04-28 13:28:24,189 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {42398#true} {43049#(< ~counter~0 16)} #86#return; {43049#(< ~counter~0 16)} is VALID [2022-04-28 13:28:24,189 INFO L290 TraceCheckUtils]: 84: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,189 INFO L290 TraceCheckUtils]: 83: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,189 INFO L290 TraceCheckUtils]: 82: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,189 INFO L272 TraceCheckUtils]: 81: Hoare triple {43049#(< ~counter~0 16)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,190 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {42398#true} {43049#(< ~counter~0 16)} #84#return; {43049#(< ~counter~0 16)} is VALID [2022-04-28 13:28:24,190 INFO L290 TraceCheckUtils]: 79: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,190 INFO L290 TraceCheckUtils]: 78: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,190 INFO L290 TraceCheckUtils]: 77: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,190 INFO L272 TraceCheckUtils]: 76: Hoare triple {43049#(< ~counter~0 16)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,190 INFO L290 TraceCheckUtils]: 75: Hoare triple {43049#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {43049#(< ~counter~0 16)} is VALID [2022-04-28 13:28:24,191 INFO L290 TraceCheckUtils]: 74: Hoare triple {43092#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {43049#(< ~counter~0 16)} is VALID [2022-04-28 13:28:24,191 INFO L290 TraceCheckUtils]: 73: Hoare triple {43092#(< ~counter~0 15)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {43092#(< ~counter~0 15)} is VALID [2022-04-28 13:28:24,191 INFO L290 TraceCheckUtils]: 72: Hoare triple {43092#(< ~counter~0 15)} 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); {43092#(< ~counter~0 15)} is VALID [2022-04-28 13:28:24,192 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {42398#true} {43092#(< ~counter~0 15)} #86#return; {43092#(< ~counter~0 15)} is VALID [2022-04-28 13:28:24,192 INFO L290 TraceCheckUtils]: 70: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,192 INFO L290 TraceCheckUtils]: 69: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,192 INFO L290 TraceCheckUtils]: 68: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,192 INFO L272 TraceCheckUtils]: 67: Hoare triple {43092#(< ~counter~0 15)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,193 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {42398#true} {43092#(< ~counter~0 15)} #84#return; {43092#(< ~counter~0 15)} is VALID [2022-04-28 13:28:24,193 INFO L290 TraceCheckUtils]: 65: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,193 INFO L290 TraceCheckUtils]: 64: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,193 INFO L290 TraceCheckUtils]: 63: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,193 INFO L272 TraceCheckUtils]: 62: Hoare triple {43092#(< ~counter~0 15)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,193 INFO L290 TraceCheckUtils]: 61: Hoare triple {43092#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {43092#(< ~counter~0 15)} is VALID [2022-04-28 13:28:24,194 INFO L290 TraceCheckUtils]: 60: Hoare triple {43135#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {43092#(< ~counter~0 15)} is VALID [2022-04-28 13:28:24,194 INFO L290 TraceCheckUtils]: 59: Hoare triple {43135#(< ~counter~0 14)} assume !(~r~0 >= ~d~0); {43135#(< ~counter~0 14)} is VALID [2022-04-28 13:28:24,194 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {42398#true} {43135#(< ~counter~0 14)} #82#return; {43135#(< ~counter~0 14)} is VALID [2022-04-28 13:28:24,194 INFO L290 TraceCheckUtils]: 57: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,194 INFO L290 TraceCheckUtils]: 56: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,195 INFO L290 TraceCheckUtils]: 55: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,195 INFO L272 TraceCheckUtils]: 54: Hoare triple {43135#(< ~counter~0 14)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,195 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {42398#true} {43135#(< ~counter~0 14)} #80#return; {43135#(< ~counter~0 14)} is VALID [2022-04-28 13:28:24,195 INFO L290 TraceCheckUtils]: 52: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,195 INFO L290 TraceCheckUtils]: 51: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,195 INFO L290 TraceCheckUtils]: 50: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,195 INFO L272 TraceCheckUtils]: 49: Hoare triple {43135#(< ~counter~0 14)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,196 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {42398#true} {43135#(< ~counter~0 14)} #78#return; {43135#(< ~counter~0 14)} is VALID [2022-04-28 13:28:24,196 INFO L290 TraceCheckUtils]: 47: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,196 INFO L290 TraceCheckUtils]: 46: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,196 INFO L290 TraceCheckUtils]: 45: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,196 INFO L272 TraceCheckUtils]: 44: Hoare triple {43135#(< ~counter~0 14)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,196 INFO L290 TraceCheckUtils]: 43: Hoare triple {43135#(< ~counter~0 14)} assume !!(#t~post5 < 20);havoc #t~post5; {43135#(< ~counter~0 14)} is VALID [2022-04-28 13:28:24,197 INFO L290 TraceCheckUtils]: 42: Hoare triple {43190#(< ~counter~0 13)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {43135#(< ~counter~0 14)} is VALID [2022-04-28 13:28:24,197 INFO L290 TraceCheckUtils]: 41: Hoare triple {43190#(< ~counter~0 13)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {43190#(< ~counter~0 13)} is VALID [2022-04-28 13:28:24,197 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {42398#true} {43190#(< ~counter~0 13)} #82#return; {43190#(< ~counter~0 13)} is VALID [2022-04-28 13:28:24,197 INFO L290 TraceCheckUtils]: 39: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,198 INFO L290 TraceCheckUtils]: 38: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,198 INFO L290 TraceCheckUtils]: 37: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,198 INFO L272 TraceCheckUtils]: 36: Hoare triple {43190#(< ~counter~0 13)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,198 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {42398#true} {43190#(< ~counter~0 13)} #80#return; {43190#(< ~counter~0 13)} is VALID [2022-04-28 13:28:24,198 INFO L290 TraceCheckUtils]: 34: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,198 INFO L290 TraceCheckUtils]: 33: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,198 INFO L290 TraceCheckUtils]: 32: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,198 INFO L272 TraceCheckUtils]: 31: Hoare triple {43190#(< ~counter~0 13)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,199 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {42398#true} {43190#(< ~counter~0 13)} #78#return; {43190#(< ~counter~0 13)} is VALID [2022-04-28 13:28:24,199 INFO L290 TraceCheckUtils]: 29: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,199 INFO L290 TraceCheckUtils]: 28: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,199 INFO L290 TraceCheckUtils]: 27: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,199 INFO L272 TraceCheckUtils]: 26: Hoare triple {43190#(< ~counter~0 13)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,199 INFO L290 TraceCheckUtils]: 25: Hoare triple {43190#(< ~counter~0 13)} assume !!(#t~post5 < 20);havoc #t~post5; {43190#(< ~counter~0 13)} is VALID [2022-04-28 13:28:24,200 INFO L290 TraceCheckUtils]: 24: Hoare triple {43245#(< ~counter~0 12)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {43190#(< ~counter~0 13)} is VALID [2022-04-28 13:28:24,200 INFO L290 TraceCheckUtils]: 23: Hoare triple {43245#(< ~counter~0 12)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {43245#(< ~counter~0 12)} is VALID [2022-04-28 13:28:24,200 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {42398#true} {43245#(< ~counter~0 12)} #82#return; {43245#(< ~counter~0 12)} is VALID [2022-04-28 13:28:24,201 INFO L290 TraceCheckUtils]: 21: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,201 INFO L290 TraceCheckUtils]: 20: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,201 INFO L290 TraceCheckUtils]: 19: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,201 INFO L272 TraceCheckUtils]: 18: Hoare triple {43245#(< ~counter~0 12)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,201 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {42398#true} {43245#(< ~counter~0 12)} #80#return; {43245#(< ~counter~0 12)} is VALID [2022-04-28 13:28:24,201 INFO L290 TraceCheckUtils]: 16: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,201 INFO L290 TraceCheckUtils]: 15: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,201 INFO L290 TraceCheckUtils]: 14: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,201 INFO L272 TraceCheckUtils]: 13: Hoare triple {43245#(< ~counter~0 12)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,202 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {42398#true} {43245#(< ~counter~0 12)} #78#return; {43245#(< ~counter~0 12)} is VALID [2022-04-28 13:28:24,202 INFO L290 TraceCheckUtils]: 11: Hoare triple {42398#true} assume true; {42398#true} is VALID [2022-04-28 13:28:24,202 INFO L290 TraceCheckUtils]: 10: Hoare triple {42398#true} assume !(0 == ~cond); {42398#true} is VALID [2022-04-28 13:28:24,202 INFO L290 TraceCheckUtils]: 9: Hoare triple {42398#true} ~cond := #in~cond; {42398#true} is VALID [2022-04-28 13:28:24,202 INFO L272 TraceCheckUtils]: 8: Hoare triple {43245#(< ~counter~0 12)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42398#true} is VALID [2022-04-28 13:28:24,202 INFO L290 TraceCheckUtils]: 7: Hoare triple {43245#(< ~counter~0 12)} assume !!(#t~post5 < 20);havoc #t~post5; {43245#(< ~counter~0 12)} is VALID [2022-04-28 13:28:24,203 INFO L290 TraceCheckUtils]: 6: Hoare triple {43300#(< ~counter~0 11)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {43245#(< ~counter~0 12)} is VALID [2022-04-28 13:28:24,203 INFO L290 TraceCheckUtils]: 5: Hoare triple {43300#(< ~counter~0 11)} 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; {43300#(< ~counter~0 11)} is VALID [2022-04-28 13:28:24,203 INFO L272 TraceCheckUtils]: 4: Hoare triple {43300#(< ~counter~0 11)} call #t~ret7 := main(); {43300#(< ~counter~0 11)} is VALID [2022-04-28 13:28:24,204 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43300#(< ~counter~0 11)} {42398#true} #92#return; {43300#(< ~counter~0 11)} is VALID [2022-04-28 13:28:24,204 INFO L290 TraceCheckUtils]: 2: Hoare triple {43300#(< ~counter~0 11)} assume true; {43300#(< ~counter~0 11)} is VALID [2022-04-28 13:28:24,204 INFO L290 TraceCheckUtils]: 1: Hoare triple {42398#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {43300#(< ~counter~0 11)} is VALID [2022-04-28 13:28:24,204 INFO L272 TraceCheckUtils]: 0: Hoare triple {42398#true} call ULTIMATE.init(); {42398#true} is VALID [2022-04-28 13:28:24,205 INFO L134 CoverageAnalysis]: Checked inductivity of 1002 backedges. 42 proven. 120 refuted. 0 times theorem prover too weak. 840 trivial. 0 not checked. [2022-04-28 13:28:24,205 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:28:24,205 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [116610043] [2022-04-28 13:28:24,205 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:28:24,205 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [575644620] [2022-04-28 13:28:24,205 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [575644620] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:28:24,205 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:28:24,205 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 24 [2022-04-28 13:28:24,206 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:28:24,206 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2121227776] [2022-04-28 13:28:24,206 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2121227776] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:28:24,206 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:28:24,206 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 13:28:24,206 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1638966465] [2022-04-28 13:28:24,206 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:28:24,206 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 5.230769230769231) internal successors, (68), 12 states have internal predecessors, (68), 12 states have call successors, (24), 12 states have call predecessors, (24), 10 states have return successors, (22), 10 states have call predecessors, (22), 10 states have call successors, (22) Word has length 150 [2022-04-28 13:28:24,207 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:28:24,207 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 5.230769230769231) internal successors, (68), 12 states have internal predecessors, (68), 12 states have call successors, (24), 12 states have call predecessors, (24), 10 states have return successors, (22), 10 states have call predecessors, (22), 10 states have call successors, (22) [2022-04-28 13:28:24,305 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:24,305 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 13:28:24,305 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:28:24,306 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 13:28:24,306 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 13:28:24,306 INFO L87 Difference]: Start difference. First operand 469 states and 529 transitions. Second operand has 13 states, 13 states have (on average 5.230769230769231) internal successors, (68), 12 states have internal predecessors, (68), 12 states have call successors, (24), 12 states have call predecessors, (24), 10 states have return successors, (22), 10 states have call predecessors, (22), 10 states have call successors, (22) [2022-04-28 13:28:26,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:26,064 INFO L93 Difference]: Finished difference Result 571 states and 657 transitions. [2022-04-28 13:28:26,064 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 13:28:26,067 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 5.230769230769231) internal successors, (68), 12 states have internal predecessors, (68), 12 states have call successors, (24), 12 states have call predecessors, (24), 10 states have return successors, (22), 10 states have call predecessors, (22), 10 states have call successors, (22) Word has length 150 [2022-04-28 13:28:26,067 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:28:26,067 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 5.230769230769231) internal successors, (68), 12 states have internal predecessors, (68), 12 states have call successors, (24), 12 states have call predecessors, (24), 10 states have return successors, (22), 10 states have call predecessors, (22), 10 states have call successors, (22) [2022-04-28 13:28:26,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 216 transitions. [2022-04-28 13:28:26,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 5.230769230769231) internal successors, (68), 12 states have internal predecessors, (68), 12 states have call successors, (24), 12 states have call predecessors, (24), 10 states have return successors, (22), 10 states have call predecessors, (22), 10 states have call successors, (22) [2022-04-28 13:28:26,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 216 transitions. [2022-04-28 13:28:26,070 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 216 transitions. [2022-04-28 13:28:26,236 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 216 edges. 216 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:26,249 INFO L225 Difference]: With dead ends: 571 [2022-04-28 13:28:26,250 INFO L226 Difference]: Without dead ends: 558 [2022-04-28 13:28:26,250 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 305 GetRequests, 277 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=356, Invalid=514, Unknown=0, NotChecked=0, Total=870 [2022-04-28 13:28:26,250 INFO L413 NwaCegarLoop]: 71 mSDtfsCounter, 109 mSDsluCounter, 192 mSDsCounter, 0 mSdLazyCounter, 200 mSolverCounterSat, 117 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 109 SdHoareTripleChecker+Valid, 263 SdHoareTripleChecker+Invalid, 317 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 117 IncrementalHoareTripleChecker+Valid, 200 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 13:28:26,250 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [109 Valid, 263 Invalid, 317 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [117 Valid, 200 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 13:28:26,252 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 558 states. [2022-04-28 13:28:27,034 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 558 to 557. [2022-04-28 13:28:27,035 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:28:27,035 INFO L82 GeneralOperation]: Start isEquivalent. First operand 558 states. Second operand has 557 states, 381 states have (on average 1.1076115485564304) internal successors, (422), 391 states have internal predecessors, (422), 107 states have call successors, (107), 69 states have call predecessors, (107), 68 states have return successors, (105), 96 states have call predecessors, (105), 105 states have call successors, (105) [2022-04-28 13:28:27,036 INFO L74 IsIncluded]: Start isIncluded. First operand 558 states. Second operand has 557 states, 381 states have (on average 1.1076115485564304) internal successors, (422), 391 states have internal predecessors, (422), 107 states have call successors, (107), 69 states have call predecessors, (107), 68 states have return successors, (105), 96 states have call predecessors, (105), 105 states have call successors, (105) [2022-04-28 13:28:27,036 INFO L87 Difference]: Start difference. First operand 558 states. Second operand has 557 states, 381 states have (on average 1.1076115485564304) internal successors, (422), 391 states have internal predecessors, (422), 107 states have call successors, (107), 69 states have call predecessors, (107), 68 states have return successors, (105), 96 states have call predecessors, (105), 105 states have call successors, (105) [2022-04-28 13:28:27,047 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:27,047 INFO L93 Difference]: Finished difference Result 558 states and 635 transitions. [2022-04-28 13:28:27,047 INFO L276 IsEmpty]: Start isEmpty. Operand 558 states and 635 transitions. [2022-04-28 13:28:27,048 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:28:27,048 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:28:27,048 INFO L74 IsIncluded]: Start isIncluded. First operand has 557 states, 381 states have (on average 1.1076115485564304) internal successors, (422), 391 states have internal predecessors, (422), 107 states have call successors, (107), 69 states have call predecessors, (107), 68 states have return successors, (105), 96 states have call predecessors, (105), 105 states have call successors, (105) Second operand 558 states. [2022-04-28 13:28:27,049 INFO L87 Difference]: Start difference. First operand has 557 states, 381 states have (on average 1.1076115485564304) internal successors, (422), 391 states have internal predecessors, (422), 107 states have call successors, (107), 69 states have call predecessors, (107), 68 states have return successors, (105), 96 states have call predecessors, (105), 105 states have call successors, (105) Second operand 558 states. [2022-04-28 13:28:27,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:27,060 INFO L93 Difference]: Finished difference Result 558 states and 635 transitions. [2022-04-28 13:28:27,060 INFO L276 IsEmpty]: Start isEmpty. Operand 558 states and 635 transitions. [2022-04-28 13:28:27,060 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:28:27,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:28:27,060 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:28:27,061 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:28:27,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 557 states, 381 states have (on average 1.1076115485564304) internal successors, (422), 391 states have internal predecessors, (422), 107 states have call successors, (107), 69 states have call predecessors, (107), 68 states have return successors, (105), 96 states have call predecessors, (105), 105 states have call successors, (105) [2022-04-28 13:28:27,077 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 557 states to 557 states and 634 transitions. [2022-04-28 13:28:27,077 INFO L78 Accepts]: Start accepts. Automaton has 557 states and 634 transitions. Word has length 150 [2022-04-28 13:28:27,077 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:28:27,077 INFO L495 AbstractCegarLoop]: Abstraction has 557 states and 634 transitions. [2022-04-28 13:28:27,077 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 5.230769230769231) internal successors, (68), 12 states have internal predecessors, (68), 12 states have call successors, (24), 12 states have call predecessors, (24), 10 states have return successors, (22), 10 states have call predecessors, (22), 10 states have call successors, (22) [2022-04-28 13:28:27,077 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 557 states and 634 transitions. [2022-04-28 13:28:28,248 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 634 edges. 634 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:28,249 INFO L276 IsEmpty]: Start isEmpty. Operand 557 states and 634 transitions. [2022-04-28 13:28:28,250 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 165 [2022-04-28 13:28:28,250 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:28:28,250 INFO L195 NwaCegarLoop]: trace histogram [24, 23, 23, 8, 7, 7, 7, 7, 7, 7, 7, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:28:28,266 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2022-04-28 13:28:28,450 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29,27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:28:28,450 INFO L420 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:28:28,451 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:28:28,451 INFO L85 PathProgramCache]: Analyzing trace with hash 778901090, now seen corresponding path program 15 times [2022-04-28 13:28:28,451 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:28:28,451 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1433379755] [2022-04-28 13:28:29,863 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:28:29,863 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:28:29,863 INFO L85 PathProgramCache]: Analyzing trace with hash 778901090, now seen corresponding path program 16 times [2022-04-28 13:28:29,864 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:28:29,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1141308378] [2022-04-28 13:28:29,864 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:28:29,864 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:28:29,877 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:28:29,877 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [522761658] [2022-04-28 13:28:29,877 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:28:29,877 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:28:29,877 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:28:29,878 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:28:29,879 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-04-28 13:28:36,558 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:28:36,558 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:28:36,563 INFO L263 TraceCheckSpWp]: Trace formula consists of 413 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 13:28:36,587 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:28:36,598 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:28:37,271 INFO L272 TraceCheckUtils]: 0: Hoare triple {46705#true} call ULTIMATE.init(); {46705#true} is VALID [2022-04-28 13:28:37,272 INFO L290 TraceCheckUtils]: 1: Hoare triple {46705#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {46713#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:37,272 INFO L290 TraceCheckUtils]: 2: Hoare triple {46713#(<= ~counter~0 0)} assume true; {46713#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:37,273 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {46713#(<= ~counter~0 0)} {46705#true} #92#return; {46713#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:37,273 INFO L272 TraceCheckUtils]: 4: Hoare triple {46713#(<= ~counter~0 0)} call #t~ret7 := main(); {46713#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:37,273 INFO L290 TraceCheckUtils]: 5: Hoare triple {46713#(<= ~counter~0 0)} 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; {46713#(<= ~counter~0 0)} is VALID [2022-04-28 13:28:37,274 INFO L290 TraceCheckUtils]: 6: Hoare triple {46713#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {46729#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:37,274 INFO L290 TraceCheckUtils]: 7: Hoare triple {46729#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {46729#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:37,275 INFO L272 TraceCheckUtils]: 8: Hoare triple {46729#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {46729#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:37,275 INFO L290 TraceCheckUtils]: 9: Hoare triple {46729#(<= ~counter~0 1)} ~cond := #in~cond; {46729#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:37,275 INFO L290 TraceCheckUtils]: 10: Hoare triple {46729#(<= ~counter~0 1)} assume !(0 == ~cond); {46729#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:37,276 INFO L290 TraceCheckUtils]: 11: Hoare triple {46729#(<= ~counter~0 1)} assume true; {46729#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:37,276 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {46729#(<= ~counter~0 1)} {46729#(<= ~counter~0 1)} #78#return; {46729#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:37,276 INFO L272 TraceCheckUtils]: 13: Hoare triple {46729#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {46729#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:37,277 INFO L290 TraceCheckUtils]: 14: Hoare triple {46729#(<= ~counter~0 1)} ~cond := #in~cond; {46729#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:37,277 INFO L290 TraceCheckUtils]: 15: Hoare triple {46729#(<= ~counter~0 1)} assume !(0 == ~cond); {46729#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:37,277 INFO L290 TraceCheckUtils]: 16: Hoare triple {46729#(<= ~counter~0 1)} assume true; {46729#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:37,277 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {46729#(<= ~counter~0 1)} {46729#(<= ~counter~0 1)} #80#return; {46729#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:37,278 INFO L272 TraceCheckUtils]: 18: Hoare triple {46729#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {46729#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:37,278 INFO L290 TraceCheckUtils]: 19: Hoare triple {46729#(<= ~counter~0 1)} ~cond := #in~cond; {46729#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:37,278 INFO L290 TraceCheckUtils]: 20: Hoare triple {46729#(<= ~counter~0 1)} assume !(0 == ~cond); {46729#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:37,279 INFO L290 TraceCheckUtils]: 21: Hoare triple {46729#(<= ~counter~0 1)} assume true; {46729#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:37,279 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {46729#(<= ~counter~0 1)} {46729#(<= ~counter~0 1)} #82#return; {46729#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:37,279 INFO L290 TraceCheckUtils]: 23: Hoare triple {46729#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {46729#(<= ~counter~0 1)} is VALID [2022-04-28 13:28:37,280 INFO L290 TraceCheckUtils]: 24: Hoare triple {46729#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {46784#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:37,280 INFO L290 TraceCheckUtils]: 25: Hoare triple {46784#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {46784#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:37,280 INFO L272 TraceCheckUtils]: 26: Hoare triple {46784#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {46784#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:37,281 INFO L290 TraceCheckUtils]: 27: Hoare triple {46784#(<= ~counter~0 2)} ~cond := #in~cond; {46784#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:37,281 INFO L290 TraceCheckUtils]: 28: Hoare triple {46784#(<= ~counter~0 2)} assume !(0 == ~cond); {46784#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:37,281 INFO L290 TraceCheckUtils]: 29: Hoare triple {46784#(<= ~counter~0 2)} assume true; {46784#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:37,282 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {46784#(<= ~counter~0 2)} {46784#(<= ~counter~0 2)} #78#return; {46784#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:37,282 INFO L272 TraceCheckUtils]: 31: Hoare triple {46784#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {46784#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:37,282 INFO L290 TraceCheckUtils]: 32: Hoare triple {46784#(<= ~counter~0 2)} ~cond := #in~cond; {46784#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:37,282 INFO L290 TraceCheckUtils]: 33: Hoare triple {46784#(<= ~counter~0 2)} assume !(0 == ~cond); {46784#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:37,283 INFO L290 TraceCheckUtils]: 34: Hoare triple {46784#(<= ~counter~0 2)} assume true; {46784#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:37,283 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {46784#(<= ~counter~0 2)} {46784#(<= ~counter~0 2)} #80#return; {46784#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:37,284 INFO L272 TraceCheckUtils]: 36: Hoare triple {46784#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {46784#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:37,284 INFO L290 TraceCheckUtils]: 37: Hoare triple {46784#(<= ~counter~0 2)} ~cond := #in~cond; {46784#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:37,284 INFO L290 TraceCheckUtils]: 38: Hoare triple {46784#(<= ~counter~0 2)} assume !(0 == ~cond); {46784#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:37,284 INFO L290 TraceCheckUtils]: 39: Hoare triple {46784#(<= ~counter~0 2)} assume true; {46784#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:37,285 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {46784#(<= ~counter~0 2)} {46784#(<= ~counter~0 2)} #82#return; {46784#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:37,285 INFO L290 TraceCheckUtils]: 41: Hoare triple {46784#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {46784#(<= ~counter~0 2)} is VALID [2022-04-28 13:28:37,286 INFO L290 TraceCheckUtils]: 42: Hoare triple {46784#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {46839#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:37,286 INFO L290 TraceCheckUtils]: 43: Hoare triple {46839#(<= ~counter~0 3)} assume !!(#t~post5 < 20);havoc #t~post5; {46839#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:37,286 INFO L272 TraceCheckUtils]: 44: Hoare triple {46839#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {46839#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:37,286 INFO L290 TraceCheckUtils]: 45: Hoare triple {46839#(<= ~counter~0 3)} ~cond := #in~cond; {46839#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:37,287 INFO L290 TraceCheckUtils]: 46: Hoare triple {46839#(<= ~counter~0 3)} assume !(0 == ~cond); {46839#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:37,287 INFO L290 TraceCheckUtils]: 47: Hoare triple {46839#(<= ~counter~0 3)} assume true; {46839#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:37,287 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {46839#(<= ~counter~0 3)} {46839#(<= ~counter~0 3)} #78#return; {46839#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:37,288 INFO L272 TraceCheckUtils]: 49: Hoare triple {46839#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {46839#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:37,288 INFO L290 TraceCheckUtils]: 50: Hoare triple {46839#(<= ~counter~0 3)} ~cond := #in~cond; {46839#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:37,288 INFO L290 TraceCheckUtils]: 51: Hoare triple {46839#(<= ~counter~0 3)} assume !(0 == ~cond); {46839#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:37,288 INFO L290 TraceCheckUtils]: 52: Hoare triple {46839#(<= ~counter~0 3)} assume true; {46839#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:37,289 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {46839#(<= ~counter~0 3)} {46839#(<= ~counter~0 3)} #80#return; {46839#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:37,289 INFO L272 TraceCheckUtils]: 54: Hoare triple {46839#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {46839#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:37,289 INFO L290 TraceCheckUtils]: 55: Hoare triple {46839#(<= ~counter~0 3)} ~cond := #in~cond; {46839#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:37,290 INFO L290 TraceCheckUtils]: 56: Hoare triple {46839#(<= ~counter~0 3)} assume !(0 == ~cond); {46839#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:37,290 INFO L290 TraceCheckUtils]: 57: Hoare triple {46839#(<= ~counter~0 3)} assume true; {46839#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:37,290 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {46839#(<= ~counter~0 3)} {46839#(<= ~counter~0 3)} #82#return; {46839#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:37,291 INFO L290 TraceCheckUtils]: 59: Hoare triple {46839#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {46839#(<= ~counter~0 3)} is VALID [2022-04-28 13:28:37,291 INFO L290 TraceCheckUtils]: 60: Hoare triple {46839#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {46894#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:37,291 INFO L290 TraceCheckUtils]: 61: Hoare triple {46894#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {46894#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:37,292 INFO L272 TraceCheckUtils]: 62: Hoare triple {46894#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {46894#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:37,292 INFO L290 TraceCheckUtils]: 63: Hoare triple {46894#(<= ~counter~0 4)} ~cond := #in~cond; {46894#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:37,292 INFO L290 TraceCheckUtils]: 64: Hoare triple {46894#(<= ~counter~0 4)} assume !(0 == ~cond); {46894#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:37,293 INFO L290 TraceCheckUtils]: 65: Hoare triple {46894#(<= ~counter~0 4)} assume true; {46894#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:37,293 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {46894#(<= ~counter~0 4)} {46894#(<= ~counter~0 4)} #84#return; {46894#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:37,294 INFO L272 TraceCheckUtils]: 67: Hoare triple {46894#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {46894#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:37,294 INFO L290 TraceCheckUtils]: 68: Hoare triple {46894#(<= ~counter~0 4)} ~cond := #in~cond; {46894#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:37,294 INFO L290 TraceCheckUtils]: 69: Hoare triple {46894#(<= ~counter~0 4)} assume !(0 == ~cond); {46894#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:37,294 INFO L290 TraceCheckUtils]: 70: Hoare triple {46894#(<= ~counter~0 4)} assume true; {46894#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:37,295 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {46894#(<= ~counter~0 4)} {46894#(<= ~counter~0 4)} #86#return; {46894#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:37,295 INFO L290 TraceCheckUtils]: 72: Hoare triple {46894#(<= ~counter~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); {46894#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:37,295 INFO L290 TraceCheckUtils]: 73: Hoare triple {46894#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {46894#(<= ~counter~0 4)} is VALID [2022-04-28 13:28:37,296 INFO L290 TraceCheckUtils]: 74: Hoare triple {46894#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {46937#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:37,296 INFO L290 TraceCheckUtils]: 75: Hoare triple {46937#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {46937#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:37,297 INFO L272 TraceCheckUtils]: 76: Hoare triple {46937#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {46937#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:37,297 INFO L290 TraceCheckUtils]: 77: Hoare triple {46937#(<= ~counter~0 5)} ~cond := #in~cond; {46937#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:37,297 INFO L290 TraceCheckUtils]: 78: Hoare triple {46937#(<= ~counter~0 5)} assume !(0 == ~cond); {46937#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:37,297 INFO L290 TraceCheckUtils]: 79: Hoare triple {46937#(<= ~counter~0 5)} assume true; {46937#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:37,298 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {46937#(<= ~counter~0 5)} {46937#(<= ~counter~0 5)} #84#return; {46937#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:37,298 INFO L272 TraceCheckUtils]: 81: Hoare triple {46937#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {46937#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:37,298 INFO L290 TraceCheckUtils]: 82: Hoare triple {46937#(<= ~counter~0 5)} ~cond := #in~cond; {46937#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:37,299 INFO L290 TraceCheckUtils]: 83: Hoare triple {46937#(<= ~counter~0 5)} assume !(0 == ~cond); {46937#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:37,299 INFO L290 TraceCheckUtils]: 84: Hoare triple {46937#(<= ~counter~0 5)} assume true; {46937#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:37,299 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {46937#(<= ~counter~0 5)} {46937#(<= ~counter~0 5)} #86#return; {46937#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:37,300 INFO L290 TraceCheckUtils]: 86: Hoare triple {46937#(<= ~counter~0 5)} 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); {46937#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:37,300 INFO L290 TraceCheckUtils]: 87: Hoare triple {46937#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {46937#(<= ~counter~0 5)} is VALID [2022-04-28 13:28:37,300 INFO L290 TraceCheckUtils]: 88: Hoare triple {46937#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {46980#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:37,301 INFO L290 TraceCheckUtils]: 89: Hoare triple {46980#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {46980#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:37,301 INFO L272 TraceCheckUtils]: 90: Hoare triple {46980#(<= ~counter~0 6)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {46980#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:37,301 INFO L290 TraceCheckUtils]: 91: Hoare triple {46980#(<= ~counter~0 6)} ~cond := #in~cond; {46980#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:37,302 INFO L290 TraceCheckUtils]: 92: Hoare triple {46980#(<= ~counter~0 6)} assume !(0 == ~cond); {46980#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:37,302 INFO L290 TraceCheckUtils]: 93: Hoare triple {46980#(<= ~counter~0 6)} assume true; {46980#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:37,302 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {46980#(<= ~counter~0 6)} {46980#(<= ~counter~0 6)} #84#return; {46980#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:37,303 INFO L272 TraceCheckUtils]: 95: Hoare triple {46980#(<= ~counter~0 6)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {46980#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:37,303 INFO L290 TraceCheckUtils]: 96: Hoare triple {46980#(<= ~counter~0 6)} ~cond := #in~cond; {46980#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:37,303 INFO L290 TraceCheckUtils]: 97: Hoare triple {46980#(<= ~counter~0 6)} assume !(0 == ~cond); {46980#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:37,304 INFO L290 TraceCheckUtils]: 98: Hoare triple {46980#(<= ~counter~0 6)} assume true; {46980#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:37,304 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {46980#(<= ~counter~0 6)} {46980#(<= ~counter~0 6)} #86#return; {46980#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:37,304 INFO L290 TraceCheckUtils]: 100: Hoare triple {46980#(<= ~counter~0 6)} 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); {46980#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:37,304 INFO L290 TraceCheckUtils]: 101: Hoare triple {46980#(<= ~counter~0 6)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {46980#(<= ~counter~0 6)} is VALID [2022-04-28 13:28:37,305 INFO L290 TraceCheckUtils]: 102: Hoare triple {46980#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {47023#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:37,305 INFO L290 TraceCheckUtils]: 103: Hoare triple {47023#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {47023#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:37,306 INFO L272 TraceCheckUtils]: 104: Hoare triple {47023#(<= ~counter~0 7)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {47023#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:37,306 INFO L290 TraceCheckUtils]: 105: Hoare triple {47023#(<= ~counter~0 7)} ~cond := #in~cond; {47023#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:37,306 INFO L290 TraceCheckUtils]: 106: Hoare triple {47023#(<= ~counter~0 7)} assume !(0 == ~cond); {47023#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:37,306 INFO L290 TraceCheckUtils]: 107: Hoare triple {47023#(<= ~counter~0 7)} assume true; {47023#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:37,307 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {47023#(<= ~counter~0 7)} {47023#(<= ~counter~0 7)} #84#return; {47023#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:37,307 INFO L272 TraceCheckUtils]: 109: Hoare triple {47023#(<= ~counter~0 7)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {47023#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:37,308 INFO L290 TraceCheckUtils]: 110: Hoare triple {47023#(<= ~counter~0 7)} ~cond := #in~cond; {47023#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:37,308 INFO L290 TraceCheckUtils]: 111: Hoare triple {47023#(<= ~counter~0 7)} assume !(0 == ~cond); {47023#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:37,308 INFO L290 TraceCheckUtils]: 112: Hoare triple {47023#(<= ~counter~0 7)} assume true; {47023#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:37,309 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {47023#(<= ~counter~0 7)} {47023#(<= ~counter~0 7)} #86#return; {47023#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:37,309 INFO L290 TraceCheckUtils]: 114: Hoare triple {47023#(<= ~counter~0 7)} 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); {47023#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:37,309 INFO L290 TraceCheckUtils]: 115: Hoare triple {47023#(<= ~counter~0 7)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {47023#(<= ~counter~0 7)} is VALID [2022-04-28 13:28:37,310 INFO L290 TraceCheckUtils]: 116: Hoare triple {47023#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {47066#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:37,310 INFO L290 TraceCheckUtils]: 117: Hoare triple {47066#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {47066#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:37,310 INFO L272 TraceCheckUtils]: 118: Hoare triple {47066#(<= ~counter~0 8)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {47066#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:37,311 INFO L290 TraceCheckUtils]: 119: Hoare triple {47066#(<= ~counter~0 8)} ~cond := #in~cond; {47066#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:37,311 INFO L290 TraceCheckUtils]: 120: Hoare triple {47066#(<= ~counter~0 8)} assume !(0 == ~cond); {47066#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:37,311 INFO L290 TraceCheckUtils]: 121: Hoare triple {47066#(<= ~counter~0 8)} assume true; {47066#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:37,312 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {47066#(<= ~counter~0 8)} {47066#(<= ~counter~0 8)} #84#return; {47066#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:37,312 INFO L272 TraceCheckUtils]: 123: Hoare triple {47066#(<= ~counter~0 8)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {47066#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:37,312 INFO L290 TraceCheckUtils]: 124: Hoare triple {47066#(<= ~counter~0 8)} ~cond := #in~cond; {47066#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:37,312 INFO L290 TraceCheckUtils]: 125: Hoare triple {47066#(<= ~counter~0 8)} assume !(0 == ~cond); {47066#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:37,313 INFO L290 TraceCheckUtils]: 126: Hoare triple {47066#(<= ~counter~0 8)} assume true; {47066#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:37,313 INFO L284 TraceCheckUtils]: 127: Hoare quadruple {47066#(<= ~counter~0 8)} {47066#(<= ~counter~0 8)} #86#return; {47066#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:37,313 INFO L290 TraceCheckUtils]: 128: Hoare triple {47066#(<= ~counter~0 8)} 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); {47066#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:37,314 INFO L290 TraceCheckUtils]: 129: Hoare triple {47066#(<= ~counter~0 8)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {47066#(<= ~counter~0 8)} is VALID [2022-04-28 13:28:37,314 INFO L290 TraceCheckUtils]: 130: Hoare triple {47066#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {47109#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:37,314 INFO L290 TraceCheckUtils]: 131: Hoare triple {47109#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {47109#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:37,315 INFO L272 TraceCheckUtils]: 132: Hoare triple {47109#(<= ~counter~0 9)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {47109#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:37,315 INFO L290 TraceCheckUtils]: 133: Hoare triple {47109#(<= ~counter~0 9)} ~cond := #in~cond; {47109#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:37,315 INFO L290 TraceCheckUtils]: 134: Hoare triple {47109#(<= ~counter~0 9)} assume !(0 == ~cond); {47109#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:37,316 INFO L290 TraceCheckUtils]: 135: Hoare triple {47109#(<= ~counter~0 9)} assume true; {47109#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:37,316 INFO L284 TraceCheckUtils]: 136: Hoare quadruple {47109#(<= ~counter~0 9)} {47109#(<= ~counter~0 9)} #84#return; {47109#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:37,317 INFO L272 TraceCheckUtils]: 137: Hoare triple {47109#(<= ~counter~0 9)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {47109#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:37,317 INFO L290 TraceCheckUtils]: 138: Hoare triple {47109#(<= ~counter~0 9)} ~cond := #in~cond; {47109#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:37,317 INFO L290 TraceCheckUtils]: 139: Hoare triple {47109#(<= ~counter~0 9)} assume !(0 == ~cond); {47109#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:37,317 INFO L290 TraceCheckUtils]: 140: Hoare triple {47109#(<= ~counter~0 9)} assume true; {47109#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:37,318 INFO L284 TraceCheckUtils]: 141: Hoare quadruple {47109#(<= ~counter~0 9)} {47109#(<= ~counter~0 9)} #86#return; {47109#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:37,318 INFO L290 TraceCheckUtils]: 142: Hoare triple {47109#(<= ~counter~0 9)} 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); {47109#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:37,318 INFO L290 TraceCheckUtils]: 143: Hoare triple {47109#(<= ~counter~0 9)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {47109#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:37,319 INFO L290 TraceCheckUtils]: 144: Hoare triple {47109#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:37,319 INFO L290 TraceCheckUtils]: 145: Hoare triple {47152#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:37,320 INFO L272 TraceCheckUtils]: 146: Hoare triple {47152#(<= ~counter~0 10)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:37,320 INFO L290 TraceCheckUtils]: 147: Hoare triple {47152#(<= ~counter~0 10)} ~cond := #in~cond; {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:37,320 INFO L290 TraceCheckUtils]: 148: Hoare triple {47152#(<= ~counter~0 10)} assume !(0 == ~cond); {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:37,320 INFO L290 TraceCheckUtils]: 149: Hoare triple {47152#(<= ~counter~0 10)} assume true; {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:37,321 INFO L284 TraceCheckUtils]: 150: Hoare quadruple {47152#(<= ~counter~0 10)} {47152#(<= ~counter~0 10)} #84#return; {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:37,321 INFO L272 TraceCheckUtils]: 151: Hoare triple {47152#(<= ~counter~0 10)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:37,321 INFO L290 TraceCheckUtils]: 152: Hoare triple {47152#(<= ~counter~0 10)} ~cond := #in~cond; {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:37,322 INFO L290 TraceCheckUtils]: 153: Hoare triple {47152#(<= ~counter~0 10)} assume !(0 == ~cond); {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:37,322 INFO L290 TraceCheckUtils]: 154: Hoare triple {47152#(<= ~counter~0 10)} assume true; {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:37,322 INFO L284 TraceCheckUtils]: 155: Hoare quadruple {47152#(<= ~counter~0 10)} {47152#(<= ~counter~0 10)} #86#return; {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:37,323 INFO L290 TraceCheckUtils]: 156: Hoare triple {47152#(<= ~counter~0 10)} 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); {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:37,323 INFO L290 TraceCheckUtils]: 157: Hoare triple {47152#(<= ~counter~0 10)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:37,323 INFO L290 TraceCheckUtils]: 158: Hoare triple {47152#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {47195#(<= |main_#t~post6| 10)} is VALID [2022-04-28 13:28:37,324 INFO L290 TraceCheckUtils]: 159: Hoare triple {47195#(<= |main_#t~post6| 10)} assume !(#t~post6 < 20);havoc #t~post6; {46706#false} is VALID [2022-04-28 13:28:37,324 INFO L272 TraceCheckUtils]: 160: Hoare triple {46706#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {46706#false} is VALID [2022-04-28 13:28:37,324 INFO L290 TraceCheckUtils]: 161: Hoare triple {46706#false} ~cond := #in~cond; {46706#false} is VALID [2022-04-28 13:28:37,324 INFO L290 TraceCheckUtils]: 162: Hoare triple {46706#false} assume 0 == ~cond; {46706#false} is VALID [2022-04-28 13:28:37,324 INFO L290 TraceCheckUtils]: 163: Hoare triple {46706#false} assume !false; {46706#false} is VALID [2022-04-28 13:28:37,324 INFO L134 CoverageAnalysis]: Checked inductivity of 1216 backedges. 46 proven. 1106 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 13:28:37,325 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:28:38,055 INFO L290 TraceCheckUtils]: 163: Hoare triple {46706#false} assume !false; {46706#false} is VALID [2022-04-28 13:28:38,056 INFO L290 TraceCheckUtils]: 162: Hoare triple {46706#false} assume 0 == ~cond; {46706#false} is VALID [2022-04-28 13:28:38,056 INFO L290 TraceCheckUtils]: 161: Hoare triple {46706#false} ~cond := #in~cond; {46706#false} is VALID [2022-04-28 13:28:38,056 INFO L272 TraceCheckUtils]: 160: Hoare triple {46706#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {46706#false} is VALID [2022-04-28 13:28:38,056 INFO L290 TraceCheckUtils]: 159: Hoare triple {47223#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {46706#false} is VALID [2022-04-28 13:28:38,056 INFO L290 TraceCheckUtils]: 158: Hoare triple {47227#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {47223#(< |main_#t~post6| 20)} is VALID [2022-04-28 13:28:38,057 INFO L290 TraceCheckUtils]: 157: Hoare triple {47227#(< ~counter~0 20)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {47227#(< ~counter~0 20)} is VALID [2022-04-28 13:28:38,057 INFO L290 TraceCheckUtils]: 156: Hoare triple {47227#(< ~counter~0 20)} 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); {47227#(< ~counter~0 20)} is VALID [2022-04-28 13:28:38,057 INFO L284 TraceCheckUtils]: 155: Hoare quadruple {46705#true} {47227#(< ~counter~0 20)} #86#return; {47227#(< ~counter~0 20)} is VALID [2022-04-28 13:28:38,057 INFO L290 TraceCheckUtils]: 154: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,058 INFO L290 TraceCheckUtils]: 153: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,058 INFO L290 TraceCheckUtils]: 152: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,058 INFO L272 TraceCheckUtils]: 151: Hoare triple {47227#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,058 INFO L284 TraceCheckUtils]: 150: Hoare quadruple {46705#true} {47227#(< ~counter~0 20)} #84#return; {47227#(< ~counter~0 20)} is VALID [2022-04-28 13:28:38,058 INFO L290 TraceCheckUtils]: 149: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,058 INFO L290 TraceCheckUtils]: 148: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,058 INFO L290 TraceCheckUtils]: 147: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,058 INFO L272 TraceCheckUtils]: 146: Hoare triple {47227#(< ~counter~0 20)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,059 INFO L290 TraceCheckUtils]: 145: Hoare triple {47227#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {47227#(< ~counter~0 20)} is VALID [2022-04-28 13:28:38,060 INFO L290 TraceCheckUtils]: 144: Hoare triple {47270#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {47227#(< ~counter~0 20)} is VALID [2022-04-28 13:28:38,060 INFO L290 TraceCheckUtils]: 143: Hoare triple {47270#(< ~counter~0 19)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {47270#(< ~counter~0 19)} is VALID [2022-04-28 13:28:38,060 INFO L290 TraceCheckUtils]: 142: Hoare triple {47270#(< ~counter~0 19)} 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); {47270#(< ~counter~0 19)} is VALID [2022-04-28 13:28:38,061 INFO L284 TraceCheckUtils]: 141: Hoare quadruple {46705#true} {47270#(< ~counter~0 19)} #86#return; {47270#(< ~counter~0 19)} is VALID [2022-04-28 13:28:38,061 INFO L290 TraceCheckUtils]: 140: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,061 INFO L290 TraceCheckUtils]: 139: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,061 INFO L290 TraceCheckUtils]: 138: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,061 INFO L272 TraceCheckUtils]: 137: Hoare triple {47270#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,062 INFO L284 TraceCheckUtils]: 136: Hoare quadruple {46705#true} {47270#(< ~counter~0 19)} #84#return; {47270#(< ~counter~0 19)} is VALID [2022-04-28 13:28:38,062 INFO L290 TraceCheckUtils]: 135: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,062 INFO L290 TraceCheckUtils]: 134: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,062 INFO L290 TraceCheckUtils]: 133: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,062 INFO L272 TraceCheckUtils]: 132: Hoare triple {47270#(< ~counter~0 19)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,062 INFO L290 TraceCheckUtils]: 131: Hoare triple {47270#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {47270#(< ~counter~0 19)} is VALID [2022-04-28 13:28:38,063 INFO L290 TraceCheckUtils]: 130: Hoare triple {47313#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {47270#(< ~counter~0 19)} is VALID [2022-04-28 13:28:38,063 INFO L290 TraceCheckUtils]: 129: Hoare triple {47313#(< ~counter~0 18)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {47313#(< ~counter~0 18)} is VALID [2022-04-28 13:28:38,063 INFO L290 TraceCheckUtils]: 128: Hoare triple {47313#(< ~counter~0 18)} 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); {47313#(< ~counter~0 18)} is VALID [2022-04-28 13:28:38,064 INFO L284 TraceCheckUtils]: 127: Hoare quadruple {46705#true} {47313#(< ~counter~0 18)} #86#return; {47313#(< ~counter~0 18)} is VALID [2022-04-28 13:28:38,064 INFO L290 TraceCheckUtils]: 126: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,064 INFO L290 TraceCheckUtils]: 125: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,064 INFO L290 TraceCheckUtils]: 124: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,064 INFO L272 TraceCheckUtils]: 123: Hoare triple {47313#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,065 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {46705#true} {47313#(< ~counter~0 18)} #84#return; {47313#(< ~counter~0 18)} is VALID [2022-04-28 13:28:38,065 INFO L290 TraceCheckUtils]: 121: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,065 INFO L290 TraceCheckUtils]: 120: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,065 INFO L290 TraceCheckUtils]: 119: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,065 INFO L272 TraceCheckUtils]: 118: Hoare triple {47313#(< ~counter~0 18)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,065 INFO L290 TraceCheckUtils]: 117: Hoare triple {47313#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {47313#(< ~counter~0 18)} is VALID [2022-04-28 13:28:38,066 INFO L290 TraceCheckUtils]: 116: Hoare triple {47356#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {47313#(< ~counter~0 18)} is VALID [2022-04-28 13:28:38,066 INFO L290 TraceCheckUtils]: 115: Hoare triple {47356#(< ~counter~0 17)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {47356#(< ~counter~0 17)} is VALID [2022-04-28 13:28:38,067 INFO L290 TraceCheckUtils]: 114: Hoare triple {47356#(< ~counter~0 17)} 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); {47356#(< ~counter~0 17)} is VALID [2022-04-28 13:28:38,067 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {46705#true} {47356#(< ~counter~0 17)} #86#return; {47356#(< ~counter~0 17)} is VALID [2022-04-28 13:28:38,067 INFO L290 TraceCheckUtils]: 112: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,067 INFO L290 TraceCheckUtils]: 111: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,067 INFO L290 TraceCheckUtils]: 110: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,067 INFO L272 TraceCheckUtils]: 109: Hoare triple {47356#(< ~counter~0 17)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,068 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {46705#true} {47356#(< ~counter~0 17)} #84#return; {47356#(< ~counter~0 17)} is VALID [2022-04-28 13:28:38,068 INFO L290 TraceCheckUtils]: 107: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,068 INFO L290 TraceCheckUtils]: 106: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,068 INFO L290 TraceCheckUtils]: 105: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,068 INFO L272 TraceCheckUtils]: 104: Hoare triple {47356#(< ~counter~0 17)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,068 INFO L290 TraceCheckUtils]: 103: Hoare triple {47356#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {47356#(< ~counter~0 17)} is VALID [2022-04-28 13:28:38,069 INFO L290 TraceCheckUtils]: 102: Hoare triple {47399#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {47356#(< ~counter~0 17)} is VALID [2022-04-28 13:28:38,069 INFO L290 TraceCheckUtils]: 101: Hoare triple {47399#(< ~counter~0 16)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {47399#(< ~counter~0 16)} is VALID [2022-04-28 13:28:38,069 INFO L290 TraceCheckUtils]: 100: Hoare triple {47399#(< ~counter~0 16)} 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); {47399#(< ~counter~0 16)} is VALID [2022-04-28 13:28:38,070 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {46705#true} {47399#(< ~counter~0 16)} #86#return; {47399#(< ~counter~0 16)} is VALID [2022-04-28 13:28:38,070 INFO L290 TraceCheckUtils]: 98: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,070 INFO L290 TraceCheckUtils]: 97: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,070 INFO L290 TraceCheckUtils]: 96: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,070 INFO L272 TraceCheckUtils]: 95: Hoare triple {47399#(< ~counter~0 16)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,071 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {46705#true} {47399#(< ~counter~0 16)} #84#return; {47399#(< ~counter~0 16)} is VALID [2022-04-28 13:28:38,071 INFO L290 TraceCheckUtils]: 93: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,071 INFO L290 TraceCheckUtils]: 92: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,071 INFO L290 TraceCheckUtils]: 91: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,071 INFO L272 TraceCheckUtils]: 90: Hoare triple {47399#(< ~counter~0 16)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,071 INFO L290 TraceCheckUtils]: 89: Hoare triple {47399#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {47399#(< ~counter~0 16)} is VALID [2022-04-28 13:28:38,072 INFO L290 TraceCheckUtils]: 88: Hoare triple {47442#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {47399#(< ~counter~0 16)} is VALID [2022-04-28 13:28:38,072 INFO L290 TraceCheckUtils]: 87: Hoare triple {47442#(< ~counter~0 15)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {47442#(< ~counter~0 15)} is VALID [2022-04-28 13:28:38,072 INFO L290 TraceCheckUtils]: 86: Hoare triple {47442#(< ~counter~0 15)} 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); {47442#(< ~counter~0 15)} is VALID [2022-04-28 13:28:38,073 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {46705#true} {47442#(< ~counter~0 15)} #86#return; {47442#(< ~counter~0 15)} is VALID [2022-04-28 13:28:38,073 INFO L290 TraceCheckUtils]: 84: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,073 INFO L290 TraceCheckUtils]: 83: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,073 INFO L290 TraceCheckUtils]: 82: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,073 INFO L272 TraceCheckUtils]: 81: Hoare triple {47442#(< ~counter~0 15)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,074 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {46705#true} {47442#(< ~counter~0 15)} #84#return; {47442#(< ~counter~0 15)} is VALID [2022-04-28 13:28:38,074 INFO L290 TraceCheckUtils]: 79: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,074 INFO L290 TraceCheckUtils]: 78: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,074 INFO L290 TraceCheckUtils]: 77: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,074 INFO L272 TraceCheckUtils]: 76: Hoare triple {47442#(< ~counter~0 15)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,074 INFO L290 TraceCheckUtils]: 75: Hoare triple {47442#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {47442#(< ~counter~0 15)} is VALID [2022-04-28 13:28:38,075 INFO L290 TraceCheckUtils]: 74: Hoare triple {47485#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {47442#(< ~counter~0 15)} is VALID [2022-04-28 13:28:38,075 INFO L290 TraceCheckUtils]: 73: Hoare triple {47485#(< ~counter~0 14)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {47485#(< ~counter~0 14)} is VALID [2022-04-28 13:28:38,075 INFO L290 TraceCheckUtils]: 72: Hoare triple {47485#(< ~counter~0 14)} 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); {47485#(< ~counter~0 14)} is VALID [2022-04-28 13:28:38,076 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {46705#true} {47485#(< ~counter~0 14)} #86#return; {47485#(< ~counter~0 14)} is VALID [2022-04-28 13:28:38,076 INFO L290 TraceCheckUtils]: 70: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,076 INFO L290 TraceCheckUtils]: 69: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,076 INFO L290 TraceCheckUtils]: 68: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,076 INFO L272 TraceCheckUtils]: 67: Hoare triple {47485#(< ~counter~0 14)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,076 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {46705#true} {47485#(< ~counter~0 14)} #84#return; {47485#(< ~counter~0 14)} is VALID [2022-04-28 13:28:38,077 INFO L290 TraceCheckUtils]: 65: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,077 INFO L290 TraceCheckUtils]: 64: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,077 INFO L290 TraceCheckUtils]: 63: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,077 INFO L272 TraceCheckUtils]: 62: Hoare triple {47485#(< ~counter~0 14)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,077 INFO L290 TraceCheckUtils]: 61: Hoare triple {47485#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {47485#(< ~counter~0 14)} is VALID [2022-04-28 13:28:38,078 INFO L290 TraceCheckUtils]: 60: Hoare triple {47528#(< ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {47485#(< ~counter~0 14)} is VALID [2022-04-28 13:28:38,078 INFO L290 TraceCheckUtils]: 59: Hoare triple {47528#(< ~counter~0 13)} assume !(~r~0 >= ~d~0); {47528#(< ~counter~0 13)} is VALID [2022-04-28 13:28:38,078 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {46705#true} {47528#(< ~counter~0 13)} #82#return; {47528#(< ~counter~0 13)} is VALID [2022-04-28 13:28:38,078 INFO L290 TraceCheckUtils]: 57: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,078 INFO L290 TraceCheckUtils]: 56: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,078 INFO L290 TraceCheckUtils]: 55: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,079 INFO L272 TraceCheckUtils]: 54: Hoare triple {47528#(< ~counter~0 13)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,079 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {46705#true} {47528#(< ~counter~0 13)} #80#return; {47528#(< ~counter~0 13)} is VALID [2022-04-28 13:28:38,079 INFO L290 TraceCheckUtils]: 52: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,079 INFO L290 TraceCheckUtils]: 51: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,079 INFO L290 TraceCheckUtils]: 50: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,079 INFO L272 TraceCheckUtils]: 49: Hoare triple {47528#(< ~counter~0 13)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,080 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {46705#true} {47528#(< ~counter~0 13)} #78#return; {47528#(< ~counter~0 13)} is VALID [2022-04-28 13:28:38,080 INFO L290 TraceCheckUtils]: 47: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,080 INFO L290 TraceCheckUtils]: 46: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,080 INFO L290 TraceCheckUtils]: 45: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,080 INFO L272 TraceCheckUtils]: 44: Hoare triple {47528#(< ~counter~0 13)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,080 INFO L290 TraceCheckUtils]: 43: Hoare triple {47528#(< ~counter~0 13)} assume !!(#t~post5 < 20);havoc #t~post5; {47528#(< ~counter~0 13)} is VALID [2022-04-28 13:28:38,081 INFO L290 TraceCheckUtils]: 42: Hoare triple {47583#(< ~counter~0 12)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {47528#(< ~counter~0 13)} is VALID [2022-04-28 13:28:38,081 INFO L290 TraceCheckUtils]: 41: Hoare triple {47583#(< ~counter~0 12)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {47583#(< ~counter~0 12)} is VALID [2022-04-28 13:28:38,081 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {46705#true} {47583#(< ~counter~0 12)} #82#return; {47583#(< ~counter~0 12)} is VALID [2022-04-28 13:28:38,081 INFO L290 TraceCheckUtils]: 39: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,082 INFO L290 TraceCheckUtils]: 38: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,082 INFO L290 TraceCheckUtils]: 37: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,082 INFO L272 TraceCheckUtils]: 36: Hoare triple {47583#(< ~counter~0 12)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,082 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {46705#true} {47583#(< ~counter~0 12)} #80#return; {47583#(< ~counter~0 12)} is VALID [2022-04-28 13:28:38,082 INFO L290 TraceCheckUtils]: 34: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,082 INFO L290 TraceCheckUtils]: 33: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,082 INFO L290 TraceCheckUtils]: 32: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,082 INFO L272 TraceCheckUtils]: 31: Hoare triple {47583#(< ~counter~0 12)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,083 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {46705#true} {47583#(< ~counter~0 12)} #78#return; {47583#(< ~counter~0 12)} is VALID [2022-04-28 13:28:38,083 INFO L290 TraceCheckUtils]: 29: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,083 INFO L290 TraceCheckUtils]: 28: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,083 INFO L290 TraceCheckUtils]: 27: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,083 INFO L272 TraceCheckUtils]: 26: Hoare triple {47583#(< ~counter~0 12)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,083 INFO L290 TraceCheckUtils]: 25: Hoare triple {47583#(< ~counter~0 12)} assume !!(#t~post5 < 20);havoc #t~post5; {47583#(< ~counter~0 12)} is VALID [2022-04-28 13:28:38,084 INFO L290 TraceCheckUtils]: 24: Hoare triple {47152#(<= ~counter~0 10)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {47583#(< ~counter~0 12)} is VALID [2022-04-28 13:28:38,084 INFO L290 TraceCheckUtils]: 23: Hoare triple {47152#(<= ~counter~0 10)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:38,085 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {46705#true} {47152#(<= ~counter~0 10)} #82#return; {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:38,085 INFO L290 TraceCheckUtils]: 21: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,085 INFO L290 TraceCheckUtils]: 20: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,085 INFO L290 TraceCheckUtils]: 19: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,085 INFO L272 TraceCheckUtils]: 18: Hoare triple {47152#(<= ~counter~0 10)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,085 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {46705#true} {47152#(<= ~counter~0 10)} #80#return; {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:38,085 INFO L290 TraceCheckUtils]: 16: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,086 INFO L290 TraceCheckUtils]: 15: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,086 INFO L290 TraceCheckUtils]: 14: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,086 INFO L272 TraceCheckUtils]: 13: Hoare triple {47152#(<= ~counter~0 10)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,086 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {46705#true} {47152#(<= ~counter~0 10)} #78#return; {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:38,086 INFO L290 TraceCheckUtils]: 11: Hoare triple {46705#true} assume true; {46705#true} is VALID [2022-04-28 13:28:38,086 INFO L290 TraceCheckUtils]: 10: Hoare triple {46705#true} assume !(0 == ~cond); {46705#true} is VALID [2022-04-28 13:28:38,086 INFO L290 TraceCheckUtils]: 9: Hoare triple {46705#true} ~cond := #in~cond; {46705#true} is VALID [2022-04-28 13:28:38,086 INFO L272 TraceCheckUtils]: 8: Hoare triple {47152#(<= ~counter~0 10)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {46705#true} is VALID [2022-04-28 13:28:38,087 INFO L290 TraceCheckUtils]: 7: Hoare triple {47152#(<= ~counter~0 10)} assume !!(#t~post5 < 20);havoc #t~post5; {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:38,087 INFO L290 TraceCheckUtils]: 6: Hoare triple {47109#(<= ~counter~0 9)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {47152#(<= ~counter~0 10)} is VALID [2022-04-28 13:28:38,087 INFO L290 TraceCheckUtils]: 5: Hoare triple {47109#(<= ~counter~0 9)} 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; {47109#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:38,088 INFO L272 TraceCheckUtils]: 4: Hoare triple {47109#(<= ~counter~0 9)} call #t~ret7 := main(); {47109#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:38,088 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47109#(<= ~counter~0 9)} {46705#true} #92#return; {47109#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:38,088 INFO L290 TraceCheckUtils]: 2: Hoare triple {47109#(<= ~counter~0 9)} assume true; {47109#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:38,089 INFO L290 TraceCheckUtils]: 1: Hoare triple {46705#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {47109#(<= ~counter~0 9)} is VALID [2022-04-28 13:28:38,089 INFO L272 TraceCheckUtils]: 0: Hoare triple {46705#true} call ULTIMATE.init(); {46705#true} is VALID [2022-04-28 13:28:38,089 INFO L134 CoverageAnalysis]: Checked inductivity of 1216 backedges. 46 proven. 158 refuted. 0 times theorem prover too weak. 1012 trivial. 0 not checked. [2022-04-28 13:28:38,089 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:28:38,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1141308378] [2022-04-28 13:28:38,090 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:28:38,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [522761658] [2022-04-28 13:28:38,090 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [522761658] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:28:38,090 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:28:38,090 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 24 [2022-04-28 13:28:38,090 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:28:38,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1433379755] [2022-04-28 13:28:38,090 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1433379755] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:28:38,090 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:28:38,090 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 13:28:38,090 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1737498003] [2022-04-28 13:28:38,090 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:28:38,091 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.357142857142857) internal successors, (75), 13 states have internal predecessors, (75), 13 states have call successors, (26), 13 states have call predecessors, (26), 11 states have return successors, (24), 11 states have call predecessors, (24), 11 states have call successors, (24) Word has length 164 [2022-04-28 13:28:38,091 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:28:38,091 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 5.357142857142857) internal successors, (75), 13 states have internal predecessors, (75), 13 states have call successors, (26), 13 states have call predecessors, (26), 11 states have return successors, (24), 11 states have call predecessors, (24), 11 states have call successors, (24) [2022-04-28 13:28:38,191 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:38,191 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 13:28:38,191 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:28:38,191 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 13:28:38,191 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 13:28:38,192 INFO L87 Difference]: Start difference. First operand 557 states and 634 transitions. Second operand has 14 states, 14 states have (on average 5.357142857142857) internal successors, (75), 13 states have internal predecessors, (75), 13 states have call successors, (26), 13 states have call predecessors, (26), 11 states have return successors, (24), 11 states have call predecessors, (24), 11 states have call successors, (24) [2022-04-28 13:28:40,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:40,008 INFO L93 Difference]: Finished difference Result 665 states and 769 transitions. [2022-04-28 13:28:40,008 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-28 13:28:40,008 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.357142857142857) internal successors, (75), 13 states have internal predecessors, (75), 13 states have call successors, (26), 13 states have call predecessors, (26), 11 states have return successors, (24), 11 states have call predecessors, (24), 11 states have call successors, (24) Word has length 164 [2022-04-28 13:28:40,009 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:28:40,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.357142857142857) internal successors, (75), 13 states have internal predecessors, (75), 13 states have call successors, (26), 13 states have call predecessors, (26), 11 states have return successors, (24), 11 states have call predecessors, (24), 11 states have call successors, (24) [2022-04-28 13:28:40,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 239 transitions. [2022-04-28 13:28:40,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.357142857142857) internal successors, (75), 13 states have internal predecessors, (75), 13 states have call successors, (26), 13 states have call predecessors, (26), 11 states have return successors, (24), 11 states have call predecessors, (24), 11 states have call successors, (24) [2022-04-28 13:28:40,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 239 transitions. [2022-04-28 13:28:40,012 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 239 transitions. [2022-04-28 13:28:40,191 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 239 edges. 239 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:40,208 INFO L225 Difference]: With dead ends: 665 [2022-04-28 13:28:40,208 INFO L226 Difference]: Without dead ends: 652 [2022-04-28 13:28:40,209 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 334 GetRequests, 304 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=376, Invalid=554, Unknown=0, NotChecked=0, Total=930 [2022-04-28 13:28:40,209 INFO L413 NwaCegarLoop]: 76 mSDtfsCounter, 108 mSDsluCounter, 220 mSDsCounter, 0 mSdLazyCounter, 155 mSolverCounterSat, 82 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 108 SdHoareTripleChecker+Valid, 296 SdHoareTripleChecker+Invalid, 237 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 82 IncrementalHoareTripleChecker+Valid, 155 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 13:28:40,209 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [108 Valid, 296 Invalid, 237 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [82 Valid, 155 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 13:28:40,209 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 652 states. [2022-04-28 13:28:41,230 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 652 to 651. [2022-04-28 13:28:41,230 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:28:41,231 INFO L82 GeneralOperation]: Start isEquivalent. First operand 652 states. Second operand has 651 states, 444 states have (on average 1.1081081081081081) internal successors, (492), 457 states have internal predecessors, (492), 128 states have call successors, (128), 79 states have call predecessors, (128), 78 states have return successors, (126), 114 states have call predecessors, (126), 126 states have call successors, (126) [2022-04-28 13:28:41,231 INFO L74 IsIncluded]: Start isIncluded. First operand 652 states. Second operand has 651 states, 444 states have (on average 1.1081081081081081) internal successors, (492), 457 states have internal predecessors, (492), 128 states have call successors, (128), 79 states have call predecessors, (128), 78 states have return successors, (126), 114 states have call predecessors, (126), 126 states have call successors, (126) [2022-04-28 13:28:41,232 INFO L87 Difference]: Start difference. First operand 652 states. Second operand has 651 states, 444 states have (on average 1.1081081081081081) internal successors, (492), 457 states have internal predecessors, (492), 128 states have call successors, (128), 79 states have call predecessors, (128), 78 states have return successors, (126), 114 states have call predecessors, (126), 126 states have call successors, (126) [2022-04-28 13:28:41,250 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:41,250 INFO L93 Difference]: Finished difference Result 652 states and 747 transitions. [2022-04-28 13:28:41,250 INFO L276 IsEmpty]: Start isEmpty. Operand 652 states and 747 transitions. [2022-04-28 13:28:41,251 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:28:41,251 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:28:41,252 INFO L74 IsIncluded]: Start isIncluded. First operand has 651 states, 444 states have (on average 1.1081081081081081) internal successors, (492), 457 states have internal predecessors, (492), 128 states have call successors, (128), 79 states have call predecessors, (128), 78 states have return successors, (126), 114 states have call predecessors, (126), 126 states have call successors, (126) Second operand 652 states. [2022-04-28 13:28:41,252 INFO L87 Difference]: Start difference. First operand has 651 states, 444 states have (on average 1.1081081081081081) internal successors, (492), 457 states have internal predecessors, (492), 128 states have call successors, (128), 79 states have call predecessors, (128), 78 states have return successors, (126), 114 states have call predecessors, (126), 126 states have call successors, (126) Second operand 652 states. [2022-04-28 13:28:41,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:41,277 INFO L93 Difference]: Finished difference Result 652 states and 747 transitions. [2022-04-28 13:28:41,277 INFO L276 IsEmpty]: Start isEmpty. Operand 652 states and 747 transitions. [2022-04-28 13:28:41,277 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:28:41,278 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:28:41,278 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:28:41,278 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:28:41,279 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 651 states, 444 states have (on average 1.1081081081081081) internal successors, (492), 457 states have internal predecessors, (492), 128 states have call successors, (128), 79 states have call predecessors, (128), 78 states have return successors, (126), 114 states have call predecessors, (126), 126 states have call successors, (126) [2022-04-28 13:28:41,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 651 states to 651 states and 746 transitions. [2022-04-28 13:28:41,300 INFO L78 Accepts]: Start accepts. Automaton has 651 states and 746 transitions. Word has length 164 [2022-04-28 13:28:41,300 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:28:41,300 INFO L495 AbstractCegarLoop]: Abstraction has 651 states and 746 transitions. [2022-04-28 13:28:41,300 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 5.357142857142857) internal successors, (75), 13 states have internal predecessors, (75), 13 states have call successors, (26), 13 states have call predecessors, (26), 11 states have return successors, (24), 11 states have call predecessors, (24), 11 states have call successors, (24) [2022-04-28 13:28:41,300 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 651 states and 746 transitions. [2022-04-28 13:28:42,686 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 746 edges. 746 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:42,687 INFO L276 IsEmpty]: Start isEmpty. Operand 651 states and 746 transitions. [2022-04-28 13:28:42,688 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 179 [2022-04-28 13:28:42,688 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:28:42,688 INFO L195 NwaCegarLoop]: trace histogram [26, 25, 25, 9, 8, 8, 8, 8, 8, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:28:42,697 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Forceful destruction successful, exit code 0 [2022-04-28 13:28:42,891 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable30,28 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:28:42,891 INFO L420 AbstractCegarLoop]: === Iteration 32 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:28:42,891 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:28:42,891 INFO L85 PathProgramCache]: Analyzing trace with hash 759159950, now seen corresponding path program 17 times [2022-04-28 13:28:42,891 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:28:42,892 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1501101019] [2022-04-28 13:28:46,970 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:28:46,970 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:28:46,970 INFO L85 PathProgramCache]: Analyzing trace with hash 759159950, now seen corresponding path program 18 times [2022-04-28 13:28:46,970 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:28:46,970 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1733505164] [2022-04-28 13:28:46,970 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:28:46,971 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:28:46,984 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:28:46,985 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1719825777] [2022-04-28 13:28:46,985 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:28:46,985 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:28:46,985 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:28:46,986 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:28:46,986 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Waiting until timeout for monitored process [2022-04-28 13:28:47,110 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2022-04-28 13:28:47,110 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:28:47,111 INFO L263 TraceCheckSpWp]: Trace formula consists of 305 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 13:28:47,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:28:47,135 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:28:47,466 INFO L272 TraceCheckUtils]: 0: Hoare triple {51662#true} call ULTIMATE.init(); {51662#true} is VALID [2022-04-28 13:28:47,466 INFO L290 TraceCheckUtils]: 1: Hoare triple {51662#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {51662#true} is VALID [2022-04-28 13:28:47,466 INFO L290 TraceCheckUtils]: 2: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:47,466 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51662#true} {51662#true} #92#return; {51662#true} is VALID [2022-04-28 13:28:47,466 INFO L272 TraceCheckUtils]: 4: Hoare triple {51662#true} call #t~ret7 := main(); {51662#true} is VALID [2022-04-28 13:28:47,467 INFO L290 TraceCheckUtils]: 5: Hoare triple {51662#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; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:47,467 INFO L290 TraceCheckUtils]: 6: Hoare triple {51682#(= main_~p~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:47,467 INFO L290 TraceCheckUtils]: 7: Hoare triple {51682#(= main_~p~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:47,467 INFO L272 TraceCheckUtils]: 8: Hoare triple {51682#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:47,467 INFO L290 TraceCheckUtils]: 9: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:47,467 INFO L290 TraceCheckUtils]: 10: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:47,467 INFO L290 TraceCheckUtils]: 11: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:47,468 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {51662#true} {51682#(= main_~p~0 1)} #78#return; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:47,468 INFO L272 TraceCheckUtils]: 13: Hoare triple {51682#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:47,468 INFO L290 TraceCheckUtils]: 14: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:47,468 INFO L290 TraceCheckUtils]: 15: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:47,468 INFO L290 TraceCheckUtils]: 16: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:47,468 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {51662#true} {51682#(= main_~p~0 1)} #80#return; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:47,469 INFO L272 TraceCheckUtils]: 18: Hoare triple {51682#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:47,469 INFO L290 TraceCheckUtils]: 19: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:47,469 INFO L290 TraceCheckUtils]: 20: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:47,469 INFO L290 TraceCheckUtils]: 21: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:47,469 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {51662#true} {51682#(= main_~p~0 1)} #82#return; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:47,470 INFO L290 TraceCheckUtils]: 23: Hoare triple {51682#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {51737#(= main_~p~0 2)} is VALID [2022-04-28 13:28:47,470 INFO L290 TraceCheckUtils]: 24: Hoare triple {51737#(= main_~p~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {51737#(= main_~p~0 2)} is VALID [2022-04-28 13:28:47,470 INFO L290 TraceCheckUtils]: 25: Hoare triple {51737#(= main_~p~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {51737#(= main_~p~0 2)} is VALID [2022-04-28 13:28:47,470 INFO L272 TraceCheckUtils]: 26: Hoare triple {51737#(= main_~p~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:47,470 INFO L290 TraceCheckUtils]: 27: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:47,470 INFO L290 TraceCheckUtils]: 28: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:47,470 INFO L290 TraceCheckUtils]: 29: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:47,471 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {51662#true} {51737#(= main_~p~0 2)} #78#return; {51737#(= main_~p~0 2)} is VALID [2022-04-28 13:28:47,471 INFO L272 TraceCheckUtils]: 31: Hoare triple {51737#(= main_~p~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:47,471 INFO L290 TraceCheckUtils]: 32: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:47,471 INFO L290 TraceCheckUtils]: 33: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:47,471 INFO L290 TraceCheckUtils]: 34: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:47,471 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {51662#true} {51737#(= main_~p~0 2)} #80#return; {51737#(= main_~p~0 2)} is VALID [2022-04-28 13:28:47,471 INFO L272 TraceCheckUtils]: 36: Hoare triple {51737#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:47,472 INFO L290 TraceCheckUtils]: 37: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:47,472 INFO L290 TraceCheckUtils]: 38: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:47,472 INFO L290 TraceCheckUtils]: 39: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:47,472 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {51662#true} {51737#(= main_~p~0 2)} #82#return; {51737#(= main_~p~0 2)} is VALID [2022-04-28 13:28:47,472 INFO L290 TraceCheckUtils]: 41: Hoare triple {51737#(= main_~p~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {51792#(= main_~p~0 4)} is VALID [2022-04-28 13:28:47,473 INFO L290 TraceCheckUtils]: 42: Hoare triple {51792#(= main_~p~0 4)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {51792#(= main_~p~0 4)} is VALID [2022-04-28 13:28:47,473 INFO L290 TraceCheckUtils]: 43: Hoare triple {51792#(= main_~p~0 4)} assume !!(#t~post5 < 20);havoc #t~post5; {51792#(= main_~p~0 4)} is VALID [2022-04-28 13:28:47,473 INFO L272 TraceCheckUtils]: 44: Hoare triple {51792#(= main_~p~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:47,473 INFO L290 TraceCheckUtils]: 45: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:47,473 INFO L290 TraceCheckUtils]: 46: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:47,473 INFO L290 TraceCheckUtils]: 47: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:47,474 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {51662#true} {51792#(= main_~p~0 4)} #78#return; {51792#(= main_~p~0 4)} is VALID [2022-04-28 13:28:47,474 INFO L272 TraceCheckUtils]: 49: Hoare triple {51792#(= main_~p~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:47,474 INFO L290 TraceCheckUtils]: 50: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:47,474 INFO L290 TraceCheckUtils]: 51: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:47,474 INFO L290 TraceCheckUtils]: 52: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:47,475 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {51662#true} {51792#(= main_~p~0 4)} #80#return; {51792#(= main_~p~0 4)} is VALID [2022-04-28 13:28:47,475 INFO L272 TraceCheckUtils]: 54: Hoare triple {51792#(= main_~p~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:47,475 INFO L290 TraceCheckUtils]: 55: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:47,475 INFO L290 TraceCheckUtils]: 56: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:47,475 INFO L290 TraceCheckUtils]: 57: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:47,475 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {51662#true} {51792#(= main_~p~0 4)} #82#return; {51792#(= main_~p~0 4)} is VALID [2022-04-28 13:28:47,476 INFO L290 TraceCheckUtils]: 59: Hoare triple {51792#(= main_~p~0 4)} assume !(~r~0 >= ~d~0); {51792#(= main_~p~0 4)} is VALID [2022-04-28 13:28:47,476 INFO L290 TraceCheckUtils]: 60: Hoare triple {51792#(= main_~p~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51792#(= main_~p~0 4)} is VALID [2022-04-28 13:28:47,476 INFO L290 TraceCheckUtils]: 61: Hoare triple {51792#(= main_~p~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {51792#(= main_~p~0 4)} is VALID [2022-04-28 13:28:47,476 INFO L272 TraceCheckUtils]: 62: Hoare triple {51792#(= main_~p~0 4)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:47,476 INFO L290 TraceCheckUtils]: 63: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:47,476 INFO L290 TraceCheckUtils]: 64: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:47,476 INFO L290 TraceCheckUtils]: 65: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:47,477 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {51662#true} {51792#(= main_~p~0 4)} #84#return; {51792#(= main_~p~0 4)} is VALID [2022-04-28 13:28:47,477 INFO L272 TraceCheckUtils]: 67: Hoare triple {51792#(= main_~p~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:47,477 INFO L290 TraceCheckUtils]: 68: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:47,477 INFO L290 TraceCheckUtils]: 69: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:47,477 INFO L290 TraceCheckUtils]: 70: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:47,478 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {51662#true} {51792#(= main_~p~0 4)} #86#return; {51792#(= main_~p~0 4)} is VALID [2022-04-28 13:28:47,478 INFO L290 TraceCheckUtils]: 72: Hoare triple {51792#(= 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); {51737#(= main_~p~0 2)} is VALID [2022-04-28 13:28:47,478 INFO L290 TraceCheckUtils]: 73: Hoare triple {51737#(= main_~p~0 2)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51737#(= main_~p~0 2)} is VALID [2022-04-28 13:28:47,479 INFO L290 TraceCheckUtils]: 74: Hoare triple {51737#(= main_~p~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51737#(= main_~p~0 2)} is VALID [2022-04-28 13:28:47,479 INFO L290 TraceCheckUtils]: 75: Hoare triple {51737#(= main_~p~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {51737#(= main_~p~0 2)} is VALID [2022-04-28 13:28:47,479 INFO L272 TraceCheckUtils]: 76: Hoare triple {51737#(= main_~p~0 2)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:47,479 INFO L290 TraceCheckUtils]: 77: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:47,479 INFO L290 TraceCheckUtils]: 78: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:47,479 INFO L290 TraceCheckUtils]: 79: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:47,480 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {51662#true} {51737#(= main_~p~0 2)} #84#return; {51737#(= main_~p~0 2)} is VALID [2022-04-28 13:28:47,480 INFO L272 TraceCheckUtils]: 81: Hoare triple {51737#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:47,480 INFO L290 TraceCheckUtils]: 82: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:47,480 INFO L290 TraceCheckUtils]: 83: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:47,480 INFO L290 TraceCheckUtils]: 84: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:47,480 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {51662#true} {51737#(= main_~p~0 2)} #86#return; {51737#(= main_~p~0 2)} is VALID [2022-04-28 13:28:47,481 INFO L290 TraceCheckUtils]: 86: Hoare triple {51737#(= 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); {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:47,481 INFO L290 TraceCheckUtils]: 87: Hoare triple {51682#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:47,481 INFO L290 TraceCheckUtils]: 88: Hoare triple {51682#(= main_~p~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:47,482 INFO L290 TraceCheckUtils]: 89: Hoare triple {51682#(= main_~p~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:47,482 INFO L272 TraceCheckUtils]: 90: Hoare triple {51682#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:47,482 INFO L290 TraceCheckUtils]: 91: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:47,482 INFO L290 TraceCheckUtils]: 92: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:47,482 INFO L290 TraceCheckUtils]: 93: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:47,482 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {51662#true} {51682#(= main_~p~0 1)} #84#return; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:47,482 INFO L272 TraceCheckUtils]: 95: Hoare triple {51682#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:47,482 INFO L290 TraceCheckUtils]: 96: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:47,482 INFO L290 TraceCheckUtils]: 97: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:47,483 INFO L290 TraceCheckUtils]: 98: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:47,483 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {51662#true} {51682#(= main_~p~0 1)} #86#return; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:47,483 INFO L290 TraceCheckUtils]: 100: Hoare triple {51682#(= 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); {51663#false} is VALID [2022-04-28 13:28:47,483 INFO L290 TraceCheckUtils]: 101: Hoare triple {51663#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51663#false} is VALID [2022-04-28 13:28:47,483 INFO L290 TraceCheckUtils]: 102: Hoare triple {51663#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51663#false} is VALID [2022-04-28 13:28:47,483 INFO L290 TraceCheckUtils]: 103: Hoare triple {51663#false} assume !!(#t~post6 < 20);havoc #t~post6; {51663#false} is VALID [2022-04-28 13:28:47,483 INFO L272 TraceCheckUtils]: 104: Hoare triple {51663#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {51663#false} is VALID [2022-04-28 13:28:47,484 INFO L290 TraceCheckUtils]: 105: Hoare triple {51663#false} ~cond := #in~cond; {51663#false} is VALID [2022-04-28 13:28:47,484 INFO L290 TraceCheckUtils]: 106: Hoare triple {51663#false} assume !(0 == ~cond); {51663#false} is VALID [2022-04-28 13:28:47,484 INFO L290 TraceCheckUtils]: 107: Hoare triple {51663#false} assume true; {51663#false} is VALID [2022-04-28 13:28:47,484 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {51663#false} {51663#false} #84#return; {51663#false} is VALID [2022-04-28 13:28:47,484 INFO L272 TraceCheckUtils]: 109: Hoare triple {51663#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51663#false} is VALID [2022-04-28 13:28:47,484 INFO L290 TraceCheckUtils]: 110: Hoare triple {51663#false} ~cond := #in~cond; {51663#false} is VALID [2022-04-28 13:28:47,484 INFO L290 TraceCheckUtils]: 111: Hoare triple {51663#false} assume !(0 == ~cond); {51663#false} is VALID [2022-04-28 13:28:47,484 INFO L290 TraceCheckUtils]: 112: Hoare triple {51663#false} assume true; {51663#false} is VALID [2022-04-28 13:28:47,484 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {51663#false} {51663#false} #86#return; {51663#false} is VALID [2022-04-28 13:28:47,484 INFO L290 TraceCheckUtils]: 114: Hoare triple {51663#false} 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); {51663#false} is VALID [2022-04-28 13:28:47,484 INFO L290 TraceCheckUtils]: 115: Hoare triple {51663#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51663#false} is VALID [2022-04-28 13:28:47,484 INFO L290 TraceCheckUtils]: 116: Hoare triple {51663#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51663#false} is VALID [2022-04-28 13:28:47,484 INFO L290 TraceCheckUtils]: 117: Hoare triple {51663#false} assume !!(#t~post6 < 20);havoc #t~post6; {51663#false} is VALID [2022-04-28 13:28:47,484 INFO L272 TraceCheckUtils]: 118: Hoare triple {51663#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {51663#false} is VALID [2022-04-28 13:28:47,484 INFO L290 TraceCheckUtils]: 119: Hoare triple {51663#false} ~cond := #in~cond; {51663#false} is VALID [2022-04-28 13:28:47,485 INFO L290 TraceCheckUtils]: 120: Hoare triple {51663#false} assume !(0 == ~cond); {51663#false} is VALID [2022-04-28 13:28:47,485 INFO L290 TraceCheckUtils]: 121: Hoare triple {51663#false} assume true; {51663#false} is VALID [2022-04-28 13:28:47,485 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {51663#false} {51663#false} #84#return; {51663#false} is VALID [2022-04-28 13:28:47,485 INFO L272 TraceCheckUtils]: 123: Hoare triple {51663#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51663#false} is VALID [2022-04-28 13:28:47,485 INFO L290 TraceCheckUtils]: 124: Hoare triple {51663#false} ~cond := #in~cond; {51663#false} is VALID [2022-04-28 13:28:47,485 INFO L290 TraceCheckUtils]: 125: Hoare triple {51663#false} assume !(0 == ~cond); {51663#false} is VALID [2022-04-28 13:28:47,485 INFO L290 TraceCheckUtils]: 126: Hoare triple {51663#false} assume true; {51663#false} is VALID [2022-04-28 13:28:47,485 INFO L284 TraceCheckUtils]: 127: Hoare quadruple {51663#false} {51663#false} #86#return; {51663#false} is VALID [2022-04-28 13:28:47,485 INFO L290 TraceCheckUtils]: 128: Hoare triple {51663#false} 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); {51663#false} is VALID [2022-04-28 13:28:47,485 INFO L290 TraceCheckUtils]: 129: Hoare triple {51663#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51663#false} is VALID [2022-04-28 13:28:47,485 INFO L290 TraceCheckUtils]: 130: Hoare triple {51663#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51663#false} is VALID [2022-04-28 13:28:47,485 INFO L290 TraceCheckUtils]: 131: Hoare triple {51663#false} assume !!(#t~post6 < 20);havoc #t~post6; {51663#false} is VALID [2022-04-28 13:28:47,485 INFO L272 TraceCheckUtils]: 132: Hoare triple {51663#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {51663#false} is VALID [2022-04-28 13:28:47,485 INFO L290 TraceCheckUtils]: 133: Hoare triple {51663#false} ~cond := #in~cond; {51663#false} is VALID [2022-04-28 13:28:47,485 INFO L290 TraceCheckUtils]: 134: Hoare triple {51663#false} assume !(0 == ~cond); {51663#false} is VALID [2022-04-28 13:28:47,486 INFO L290 TraceCheckUtils]: 135: Hoare triple {51663#false} assume true; {51663#false} is VALID [2022-04-28 13:28:47,486 INFO L284 TraceCheckUtils]: 136: Hoare quadruple {51663#false} {51663#false} #84#return; {51663#false} is VALID [2022-04-28 13:28:47,486 INFO L272 TraceCheckUtils]: 137: Hoare triple {51663#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51663#false} is VALID [2022-04-28 13:28:47,486 INFO L290 TraceCheckUtils]: 138: Hoare triple {51663#false} ~cond := #in~cond; {51663#false} is VALID [2022-04-28 13:28:47,486 INFO L290 TraceCheckUtils]: 139: Hoare triple {51663#false} assume !(0 == ~cond); {51663#false} is VALID [2022-04-28 13:28:47,486 INFO L290 TraceCheckUtils]: 140: Hoare triple {51663#false} assume true; {51663#false} is VALID [2022-04-28 13:28:47,486 INFO L284 TraceCheckUtils]: 141: Hoare quadruple {51663#false} {51663#false} #86#return; {51663#false} is VALID [2022-04-28 13:28:47,486 INFO L290 TraceCheckUtils]: 142: Hoare triple {51663#false} 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); {51663#false} is VALID [2022-04-28 13:28:47,486 INFO L290 TraceCheckUtils]: 143: Hoare triple {51663#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51663#false} is VALID [2022-04-28 13:28:47,486 INFO L290 TraceCheckUtils]: 144: Hoare triple {51663#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51663#false} is VALID [2022-04-28 13:28:47,486 INFO L290 TraceCheckUtils]: 145: Hoare triple {51663#false} assume !!(#t~post6 < 20);havoc #t~post6; {51663#false} is VALID [2022-04-28 13:28:47,486 INFO L272 TraceCheckUtils]: 146: Hoare triple {51663#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {51663#false} is VALID [2022-04-28 13:28:47,486 INFO L290 TraceCheckUtils]: 147: Hoare triple {51663#false} ~cond := #in~cond; {51663#false} is VALID [2022-04-28 13:28:47,486 INFO L290 TraceCheckUtils]: 148: Hoare triple {51663#false} assume !(0 == ~cond); {51663#false} is VALID [2022-04-28 13:28:47,486 INFO L290 TraceCheckUtils]: 149: Hoare triple {51663#false} assume true; {51663#false} is VALID [2022-04-28 13:28:47,487 INFO L284 TraceCheckUtils]: 150: Hoare quadruple {51663#false} {51663#false} #84#return; {51663#false} is VALID [2022-04-28 13:28:47,487 INFO L272 TraceCheckUtils]: 151: Hoare triple {51663#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51663#false} is VALID [2022-04-28 13:28:47,487 INFO L290 TraceCheckUtils]: 152: Hoare triple {51663#false} ~cond := #in~cond; {51663#false} is VALID [2022-04-28 13:28:47,487 INFO L290 TraceCheckUtils]: 153: Hoare triple {51663#false} assume !(0 == ~cond); {51663#false} is VALID [2022-04-28 13:28:47,487 INFO L290 TraceCheckUtils]: 154: Hoare triple {51663#false} assume true; {51663#false} is VALID [2022-04-28 13:28:47,487 INFO L284 TraceCheckUtils]: 155: Hoare quadruple {51663#false} {51663#false} #86#return; {51663#false} is VALID [2022-04-28 13:28:47,487 INFO L290 TraceCheckUtils]: 156: Hoare triple {51663#false} 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); {51663#false} is VALID [2022-04-28 13:28:47,487 INFO L290 TraceCheckUtils]: 157: Hoare triple {51663#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51663#false} is VALID [2022-04-28 13:28:47,487 INFO L290 TraceCheckUtils]: 158: Hoare triple {51663#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51663#false} is VALID [2022-04-28 13:28:47,487 INFO L290 TraceCheckUtils]: 159: Hoare triple {51663#false} assume !!(#t~post6 < 20);havoc #t~post6; {51663#false} is VALID [2022-04-28 13:28:47,487 INFO L272 TraceCheckUtils]: 160: Hoare triple {51663#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {51663#false} is VALID [2022-04-28 13:28:47,487 INFO L290 TraceCheckUtils]: 161: Hoare triple {51663#false} ~cond := #in~cond; {51663#false} is VALID [2022-04-28 13:28:47,487 INFO L290 TraceCheckUtils]: 162: Hoare triple {51663#false} assume !(0 == ~cond); {51663#false} is VALID [2022-04-28 13:28:47,487 INFO L290 TraceCheckUtils]: 163: Hoare triple {51663#false} assume true; {51663#false} is VALID [2022-04-28 13:28:47,488 INFO L284 TraceCheckUtils]: 164: Hoare quadruple {51663#false} {51663#false} #84#return; {51663#false} is VALID [2022-04-28 13:28:47,488 INFO L272 TraceCheckUtils]: 165: Hoare triple {51663#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51663#false} is VALID [2022-04-28 13:28:47,488 INFO L290 TraceCheckUtils]: 166: Hoare triple {51663#false} ~cond := #in~cond; {51663#false} is VALID [2022-04-28 13:28:47,488 INFO L290 TraceCheckUtils]: 167: Hoare triple {51663#false} assume !(0 == ~cond); {51663#false} is VALID [2022-04-28 13:28:47,488 INFO L290 TraceCheckUtils]: 168: Hoare triple {51663#false} assume true; {51663#false} is VALID [2022-04-28 13:28:47,488 INFO L284 TraceCheckUtils]: 169: Hoare quadruple {51663#false} {51663#false} #86#return; {51663#false} is VALID [2022-04-28 13:28:47,488 INFO L290 TraceCheckUtils]: 170: Hoare triple {51663#false} 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); {51663#false} is VALID [2022-04-28 13:28:47,488 INFO L290 TraceCheckUtils]: 171: Hoare triple {51663#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51663#false} is VALID [2022-04-28 13:28:47,488 INFO L290 TraceCheckUtils]: 172: Hoare triple {51663#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51663#false} is VALID [2022-04-28 13:28:47,488 INFO L290 TraceCheckUtils]: 173: Hoare triple {51663#false} assume !(#t~post6 < 20);havoc #t~post6; {51663#false} is VALID [2022-04-28 13:28:47,488 INFO L272 TraceCheckUtils]: 174: Hoare triple {51663#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {51663#false} is VALID [2022-04-28 13:28:47,488 INFO L290 TraceCheckUtils]: 175: Hoare triple {51663#false} ~cond := #in~cond; {51663#false} is VALID [2022-04-28 13:28:47,488 INFO L290 TraceCheckUtils]: 176: Hoare triple {51663#false} assume 0 == ~cond; {51663#false} is VALID [2022-04-28 13:28:47,488 INFO L290 TraceCheckUtils]: 177: Hoare triple {51663#false} assume !false; {51663#false} is VALID [2022-04-28 13:28:47,489 INFO L134 CoverageAnalysis]: Checked inductivity of 1452 backedges. 723 proven. 34 refuted. 0 times theorem prover too weak. 695 trivial. 0 not checked. [2022-04-28 13:28:47,489 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:28:48,325 INFO L290 TraceCheckUtils]: 177: Hoare triple {51663#false} assume !false; {51663#false} is VALID [2022-04-28 13:28:48,325 INFO L290 TraceCheckUtils]: 176: Hoare triple {51663#false} assume 0 == ~cond; {51663#false} is VALID [2022-04-28 13:28:48,325 INFO L290 TraceCheckUtils]: 175: Hoare triple {51663#false} ~cond := #in~cond; {51663#false} is VALID [2022-04-28 13:28:48,325 INFO L272 TraceCheckUtils]: 174: Hoare triple {51663#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {51663#false} is VALID [2022-04-28 13:28:48,325 INFO L290 TraceCheckUtils]: 173: Hoare triple {51663#false} assume !(#t~post6 < 20);havoc #t~post6; {51663#false} is VALID [2022-04-28 13:28:48,325 INFO L290 TraceCheckUtils]: 172: Hoare triple {51663#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51663#false} is VALID [2022-04-28 13:28:48,325 INFO L290 TraceCheckUtils]: 171: Hoare triple {51663#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51663#false} is VALID [2022-04-28 13:28:48,325 INFO L290 TraceCheckUtils]: 170: Hoare triple {51663#false} 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); {51663#false} is VALID [2022-04-28 13:28:48,325 INFO L284 TraceCheckUtils]: 169: Hoare quadruple {51662#true} {51663#false} #86#return; {51663#false} is VALID [2022-04-28 13:28:48,325 INFO L290 TraceCheckUtils]: 168: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,325 INFO L290 TraceCheckUtils]: 167: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,326 INFO L290 TraceCheckUtils]: 166: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,326 INFO L272 TraceCheckUtils]: 165: Hoare triple {51663#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,326 INFO L284 TraceCheckUtils]: 164: Hoare quadruple {51662#true} {51663#false} #84#return; {51663#false} is VALID [2022-04-28 13:28:48,326 INFO L290 TraceCheckUtils]: 163: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,326 INFO L290 TraceCheckUtils]: 162: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,326 INFO L290 TraceCheckUtils]: 161: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,326 INFO L272 TraceCheckUtils]: 160: Hoare triple {51663#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,326 INFO L290 TraceCheckUtils]: 159: Hoare triple {51663#false} assume !!(#t~post6 < 20);havoc #t~post6; {51663#false} is VALID [2022-04-28 13:28:48,326 INFO L290 TraceCheckUtils]: 158: Hoare triple {51663#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51663#false} is VALID [2022-04-28 13:28:48,326 INFO L290 TraceCheckUtils]: 157: Hoare triple {51663#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51663#false} is VALID [2022-04-28 13:28:48,326 INFO L290 TraceCheckUtils]: 156: Hoare triple {51663#false} 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); {51663#false} is VALID [2022-04-28 13:28:48,326 INFO L284 TraceCheckUtils]: 155: Hoare quadruple {51662#true} {51663#false} #86#return; {51663#false} is VALID [2022-04-28 13:28:48,326 INFO L290 TraceCheckUtils]: 154: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,326 INFO L290 TraceCheckUtils]: 153: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,326 INFO L290 TraceCheckUtils]: 152: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,327 INFO L272 TraceCheckUtils]: 151: Hoare triple {51663#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,327 INFO L284 TraceCheckUtils]: 150: Hoare quadruple {51662#true} {51663#false} #84#return; {51663#false} is VALID [2022-04-28 13:28:48,327 INFO L290 TraceCheckUtils]: 149: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,327 INFO L290 TraceCheckUtils]: 148: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,327 INFO L290 TraceCheckUtils]: 147: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,327 INFO L272 TraceCheckUtils]: 146: Hoare triple {51663#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,327 INFO L290 TraceCheckUtils]: 145: Hoare triple {51663#false} assume !!(#t~post6 < 20);havoc #t~post6; {51663#false} is VALID [2022-04-28 13:28:48,327 INFO L290 TraceCheckUtils]: 144: Hoare triple {51663#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51663#false} is VALID [2022-04-28 13:28:48,327 INFO L290 TraceCheckUtils]: 143: Hoare triple {51663#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51663#false} is VALID [2022-04-28 13:28:48,327 INFO L290 TraceCheckUtils]: 142: Hoare triple {51663#false} 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); {51663#false} is VALID [2022-04-28 13:28:48,327 INFO L284 TraceCheckUtils]: 141: Hoare quadruple {51662#true} {51663#false} #86#return; {51663#false} is VALID [2022-04-28 13:28:48,327 INFO L290 TraceCheckUtils]: 140: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,327 INFO L290 TraceCheckUtils]: 139: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,327 INFO L290 TraceCheckUtils]: 138: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,327 INFO L272 TraceCheckUtils]: 137: Hoare triple {51663#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,328 INFO L284 TraceCheckUtils]: 136: Hoare quadruple {51662#true} {51663#false} #84#return; {51663#false} is VALID [2022-04-28 13:28:48,328 INFO L290 TraceCheckUtils]: 135: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,328 INFO L290 TraceCheckUtils]: 134: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,328 INFO L290 TraceCheckUtils]: 133: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,328 INFO L272 TraceCheckUtils]: 132: Hoare triple {51663#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,328 INFO L290 TraceCheckUtils]: 131: Hoare triple {51663#false} assume !!(#t~post6 < 20);havoc #t~post6; {51663#false} is VALID [2022-04-28 13:28:48,328 INFO L290 TraceCheckUtils]: 130: Hoare triple {51663#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51663#false} is VALID [2022-04-28 13:28:48,328 INFO L290 TraceCheckUtils]: 129: Hoare triple {51663#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51663#false} is VALID [2022-04-28 13:28:48,328 INFO L290 TraceCheckUtils]: 128: Hoare triple {51663#false} 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); {51663#false} is VALID [2022-04-28 13:28:48,328 INFO L284 TraceCheckUtils]: 127: Hoare quadruple {51662#true} {51663#false} #86#return; {51663#false} is VALID [2022-04-28 13:28:48,328 INFO L290 TraceCheckUtils]: 126: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,328 INFO L290 TraceCheckUtils]: 125: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,328 INFO L290 TraceCheckUtils]: 124: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,328 INFO L272 TraceCheckUtils]: 123: Hoare triple {51663#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,328 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {51662#true} {51663#false} #84#return; {51663#false} is VALID [2022-04-28 13:28:48,329 INFO L290 TraceCheckUtils]: 121: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,329 INFO L290 TraceCheckUtils]: 120: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,329 INFO L290 TraceCheckUtils]: 119: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,329 INFO L272 TraceCheckUtils]: 118: Hoare triple {51663#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,329 INFO L290 TraceCheckUtils]: 117: Hoare triple {51663#false} assume !!(#t~post6 < 20);havoc #t~post6; {51663#false} is VALID [2022-04-28 13:28:48,329 INFO L290 TraceCheckUtils]: 116: Hoare triple {51663#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51663#false} is VALID [2022-04-28 13:28:48,329 INFO L290 TraceCheckUtils]: 115: Hoare triple {51663#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51663#false} is VALID [2022-04-28 13:28:48,329 INFO L290 TraceCheckUtils]: 114: Hoare triple {51663#false} 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); {51663#false} is VALID [2022-04-28 13:28:48,329 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {51662#true} {51663#false} #86#return; {51663#false} is VALID [2022-04-28 13:28:48,329 INFO L290 TraceCheckUtils]: 112: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,329 INFO L290 TraceCheckUtils]: 111: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,329 INFO L290 TraceCheckUtils]: 110: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,329 INFO L272 TraceCheckUtils]: 109: Hoare triple {51663#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,329 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {51662#true} {51663#false} #84#return; {51663#false} is VALID [2022-04-28 13:28:48,329 INFO L290 TraceCheckUtils]: 107: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,330 INFO L290 TraceCheckUtils]: 106: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,330 INFO L290 TraceCheckUtils]: 105: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,330 INFO L272 TraceCheckUtils]: 104: Hoare triple {51663#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,330 INFO L290 TraceCheckUtils]: 103: Hoare triple {51663#false} assume !!(#t~post6 < 20);havoc #t~post6; {51663#false} is VALID [2022-04-28 13:28:48,330 INFO L290 TraceCheckUtils]: 102: Hoare triple {51663#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51663#false} is VALID [2022-04-28 13:28:48,330 INFO L290 TraceCheckUtils]: 101: Hoare triple {51663#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51663#false} is VALID [2022-04-28 13:28:48,330 INFO L290 TraceCheckUtils]: 100: Hoare triple {51682#(= 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); {51663#false} is VALID [2022-04-28 13:28:48,331 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {51662#true} {51682#(= main_~p~0 1)} #86#return; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:48,331 INFO L290 TraceCheckUtils]: 98: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,331 INFO L290 TraceCheckUtils]: 97: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,331 INFO L290 TraceCheckUtils]: 96: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,331 INFO L272 TraceCheckUtils]: 95: Hoare triple {51682#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,331 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {51662#true} {51682#(= main_~p~0 1)} #84#return; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:48,331 INFO L290 TraceCheckUtils]: 93: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,331 INFO L290 TraceCheckUtils]: 92: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,332 INFO L290 TraceCheckUtils]: 91: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,332 INFO L272 TraceCheckUtils]: 90: Hoare triple {51682#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,332 INFO L290 TraceCheckUtils]: 89: Hoare triple {51682#(= main_~p~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:48,332 INFO L290 TraceCheckUtils]: 88: Hoare triple {51682#(= main_~p~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:48,332 INFO L290 TraceCheckUtils]: 87: Hoare triple {51682#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:48,333 INFO L290 TraceCheckUtils]: 86: Hoare triple {52474#(or (= (div main_~p~0 2) 1) (= 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); {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:48,334 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {51662#true} {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} #86#return; {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} is VALID [2022-04-28 13:28:48,334 INFO L290 TraceCheckUtils]: 84: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,334 INFO L290 TraceCheckUtils]: 83: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,334 INFO L290 TraceCheckUtils]: 82: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,334 INFO L272 TraceCheckUtils]: 81: Hoare triple {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,334 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {51662#true} {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} #84#return; {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} is VALID [2022-04-28 13:28:48,334 INFO L290 TraceCheckUtils]: 79: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,335 INFO L290 TraceCheckUtils]: 78: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,335 INFO L290 TraceCheckUtils]: 77: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,335 INFO L272 TraceCheckUtils]: 76: Hoare triple {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,335 INFO L290 TraceCheckUtils]: 75: Hoare triple {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} is VALID [2022-04-28 13:28:48,335 INFO L290 TraceCheckUtils]: 74: Hoare triple {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} is VALID [2022-04-28 13:28:48,336 INFO L290 TraceCheckUtils]: 73: Hoare triple {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} is VALID [2022-04-28 13:28:48,337 INFO L290 TraceCheckUtils]: 72: Hoare triple {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 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); {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} is VALID [2022-04-28 13:28:48,338 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {51662#true} {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} #86#return; {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} is VALID [2022-04-28 13:28:48,338 INFO L290 TraceCheckUtils]: 70: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,338 INFO L290 TraceCheckUtils]: 69: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,338 INFO L290 TraceCheckUtils]: 68: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,338 INFO L272 TraceCheckUtils]: 67: Hoare triple {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,338 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {51662#true} {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} #84#return; {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} is VALID [2022-04-28 13:28:48,338 INFO L290 TraceCheckUtils]: 65: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,338 INFO L290 TraceCheckUtils]: 64: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,338 INFO L290 TraceCheckUtils]: 63: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,339 INFO L272 TraceCheckUtils]: 62: Hoare triple {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,339 INFO L290 TraceCheckUtils]: 61: Hoare triple {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} assume !!(#t~post6 < 20);havoc #t~post6; {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} is VALID [2022-04-28 13:28:48,339 INFO L290 TraceCheckUtils]: 60: Hoare triple {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} is VALID [2022-04-28 13:28:48,340 INFO L290 TraceCheckUtils]: 59: Hoare triple {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} assume !(~r~0 >= ~d~0); {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} is VALID [2022-04-28 13:28:48,340 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {51662#true} {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} #82#return; {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} is VALID [2022-04-28 13:28:48,340 INFO L290 TraceCheckUtils]: 57: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,340 INFO L290 TraceCheckUtils]: 56: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,340 INFO L290 TraceCheckUtils]: 55: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,340 INFO L272 TraceCheckUtils]: 54: Hoare triple {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,341 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {51662#true} {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} #80#return; {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} is VALID [2022-04-28 13:28:48,341 INFO L290 TraceCheckUtils]: 52: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,341 INFO L290 TraceCheckUtils]: 51: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,341 INFO L290 TraceCheckUtils]: 50: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,341 INFO L272 TraceCheckUtils]: 49: Hoare triple {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,341 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {51662#true} {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} #78#return; {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} is VALID [2022-04-28 13:28:48,341 INFO L290 TraceCheckUtils]: 47: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,341 INFO L290 TraceCheckUtils]: 46: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,342 INFO L290 TraceCheckUtils]: 45: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,342 INFO L272 TraceCheckUtils]: 44: Hoare triple {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,342 INFO L290 TraceCheckUtils]: 43: Hoare triple {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} assume !!(#t~post5 < 20);havoc #t~post5; {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} is VALID [2022-04-28 13:28:48,342 INFO L290 TraceCheckUtils]: 42: Hoare triple {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} is VALID [2022-04-28 13:28:48,344 INFO L290 TraceCheckUtils]: 41: Hoare triple {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {52517#(or (= (div main_~p~0 2) 1) (and (<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 2) (<= 0 (div (+ (- 2) (div main_~p~0 2)) 2))))} is VALID [2022-04-28 13:28:48,344 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {51662#true} {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} #82#return; {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} is VALID [2022-04-28 13:28:48,344 INFO L290 TraceCheckUtils]: 39: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,344 INFO L290 TraceCheckUtils]: 38: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,344 INFO L290 TraceCheckUtils]: 37: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,344 INFO L272 TraceCheckUtils]: 36: Hoare triple {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,345 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {51662#true} {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} #80#return; {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} is VALID [2022-04-28 13:28:48,345 INFO L290 TraceCheckUtils]: 34: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,345 INFO L290 TraceCheckUtils]: 33: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,345 INFO L290 TraceCheckUtils]: 32: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,345 INFO L272 TraceCheckUtils]: 31: Hoare triple {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,345 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {51662#true} {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} #78#return; {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} is VALID [2022-04-28 13:28:48,345 INFO L290 TraceCheckUtils]: 29: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,346 INFO L290 TraceCheckUtils]: 28: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,346 INFO L290 TraceCheckUtils]: 27: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,346 INFO L272 TraceCheckUtils]: 26: Hoare triple {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,346 INFO L290 TraceCheckUtils]: 25: Hoare triple {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} assume !!(#t~post5 < 20);havoc #t~post5; {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} is VALID [2022-04-28 13:28:48,346 INFO L290 TraceCheckUtils]: 24: Hoare triple {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} is VALID [2022-04-28 13:28:48,347 INFO L290 TraceCheckUtils]: 23: Hoare triple {51682#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {52474#(or (= (div main_~p~0 2) 1) (= main_~p~0 1))} is VALID [2022-04-28 13:28:48,347 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {51662#true} {51682#(= main_~p~0 1)} #82#return; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:48,347 INFO L290 TraceCheckUtils]: 21: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,347 INFO L290 TraceCheckUtils]: 20: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,347 INFO L290 TraceCheckUtils]: 19: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,347 INFO L272 TraceCheckUtils]: 18: Hoare triple {51682#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,348 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {51662#true} {51682#(= main_~p~0 1)} #80#return; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:48,348 INFO L290 TraceCheckUtils]: 16: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,348 INFO L290 TraceCheckUtils]: 15: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,348 INFO L290 TraceCheckUtils]: 14: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,348 INFO L272 TraceCheckUtils]: 13: Hoare triple {51682#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,348 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {51662#true} {51682#(= main_~p~0 1)} #78#return; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:48,348 INFO L290 TraceCheckUtils]: 11: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,348 INFO L290 TraceCheckUtils]: 10: Hoare triple {51662#true} assume !(0 == ~cond); {51662#true} is VALID [2022-04-28 13:28:48,349 INFO L290 TraceCheckUtils]: 9: Hoare triple {51662#true} ~cond := #in~cond; {51662#true} is VALID [2022-04-28 13:28:48,349 INFO L272 TraceCheckUtils]: 8: Hoare triple {51682#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {51662#true} is VALID [2022-04-28 13:28:48,349 INFO L290 TraceCheckUtils]: 7: Hoare triple {51682#(= main_~p~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:48,349 INFO L290 TraceCheckUtils]: 6: Hoare triple {51682#(= main_~p~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:48,349 INFO L290 TraceCheckUtils]: 5: Hoare triple {51662#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; {51682#(= main_~p~0 1)} is VALID [2022-04-28 13:28:48,349 INFO L272 TraceCheckUtils]: 4: Hoare triple {51662#true} call #t~ret7 := main(); {51662#true} is VALID [2022-04-28 13:28:48,349 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51662#true} {51662#true} #92#return; {51662#true} is VALID [2022-04-28 13:28:48,350 INFO L290 TraceCheckUtils]: 2: Hoare triple {51662#true} assume true; {51662#true} is VALID [2022-04-28 13:28:48,350 INFO L290 TraceCheckUtils]: 1: Hoare triple {51662#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {51662#true} is VALID [2022-04-28 13:28:48,350 INFO L272 TraceCheckUtils]: 0: Hoare triple {51662#true} call ULTIMATE.init(); {51662#true} is VALID [2022-04-28 13:28:48,350 INFO L134 CoverageAnalysis]: Checked inductivity of 1452 backedges. 149 proven. 28 refuted. 0 times theorem prover too weak. 1275 trivial. 0 not checked. [2022-04-28 13:28:48,350 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:28:48,350 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1733505164] [2022-04-28 13:28:48,351 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:28:48,351 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1719825777] [2022-04-28 13:28:48,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1719825777] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:28:48,351 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:28:48,351 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 7 [2022-04-28 13:28:48,351 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:28:48,351 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1501101019] [2022-04-28 13:28:48,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1501101019] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:28:48,351 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:28:48,351 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 13:28:48,351 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1042467169] [2022-04-28 13:28:48,351 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:28:48,352 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) Word has length 178 [2022-04-28 13:28:48,355 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:28:48,355 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-28 13:28:48,423 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:48,423 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 13:28:48,423 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:28:48,424 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 13:28:48,424 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-04-28 13:28:48,424 INFO L87 Difference]: Start difference. First operand 651 states and 746 transitions. Second operand has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-28 13:28:49,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:49,667 INFO L93 Difference]: Finished difference Result 707 states and 811 transitions. [2022-04-28 13:28:49,667 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 13:28:49,667 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) Word has length 178 [2022-04-28 13:28:49,668 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:28:49,668 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-28 13:28:49,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 104 transitions. [2022-04-28 13:28:49,668 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-28 13:28:49,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 104 transitions. [2022-04-28 13:28:49,669 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 104 transitions. [2022-04-28 13:28:49,759 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:49,774 INFO L225 Difference]: With dead ends: 707 [2022-04-28 13:28:49,774 INFO L226 Difference]: Without dead ends: 553 [2022-04-28 13:28:49,775 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 355 GetRequests, 349 SyntacticMatches, 1 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-04-28 13:28:49,775 INFO L413 NwaCegarLoop]: 65 mSDtfsCounter, 0 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 72 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 182 SdHoareTripleChecker+Invalid, 72 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 72 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:28:49,775 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 182 Invalid, 72 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 72 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:28:49,776 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 553 states. [2022-04-28 13:28:50,625 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 553 to 553. [2022-04-28 13:28:50,626 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:28:50,626 INFO L82 GeneralOperation]: Start isEquivalent. First operand 553 states. Second operand has 553 states, 375 states have (on average 1.1066666666666667) internal successors, (415), 387 states have internal predecessors, (415), 110 states have call successors, (110), 68 states have call predecessors, (110), 67 states have return successors, (108), 97 states have call predecessors, (108), 108 states have call successors, (108) [2022-04-28 13:28:50,627 INFO L74 IsIncluded]: Start isIncluded. First operand 553 states. Second operand has 553 states, 375 states have (on average 1.1066666666666667) internal successors, (415), 387 states have internal predecessors, (415), 110 states have call successors, (110), 68 states have call predecessors, (110), 67 states have return successors, (108), 97 states have call predecessors, (108), 108 states have call successors, (108) [2022-04-28 13:28:50,627 INFO L87 Difference]: Start difference. First operand 553 states. Second operand has 553 states, 375 states have (on average 1.1066666666666667) internal successors, (415), 387 states have internal predecessors, (415), 110 states have call successors, (110), 68 states have call predecessors, (110), 67 states have return successors, (108), 97 states have call predecessors, (108), 108 states have call successors, (108) [2022-04-28 13:28:50,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:50,638 INFO L93 Difference]: Finished difference Result 553 states and 633 transitions. [2022-04-28 13:28:50,638 INFO L276 IsEmpty]: Start isEmpty. Operand 553 states and 633 transitions. [2022-04-28 13:28:50,639 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:28:50,639 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:28:50,639 INFO L74 IsIncluded]: Start isIncluded. First operand has 553 states, 375 states have (on average 1.1066666666666667) internal successors, (415), 387 states have internal predecessors, (415), 110 states have call successors, (110), 68 states have call predecessors, (110), 67 states have return successors, (108), 97 states have call predecessors, (108), 108 states have call successors, (108) Second operand 553 states. [2022-04-28 13:28:50,640 INFO L87 Difference]: Start difference. First operand has 553 states, 375 states have (on average 1.1066666666666667) internal successors, (415), 387 states have internal predecessors, (415), 110 states have call successors, (110), 68 states have call predecessors, (110), 67 states have return successors, (108), 97 states have call predecessors, (108), 108 states have call successors, (108) Second operand 553 states. [2022-04-28 13:28:50,650 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:50,650 INFO L93 Difference]: Finished difference Result 553 states and 633 transitions. [2022-04-28 13:28:50,650 INFO L276 IsEmpty]: Start isEmpty. Operand 553 states and 633 transitions. [2022-04-28 13:28:50,651 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:28:50,651 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:28:50,651 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:28:50,651 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:28:50,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 553 states, 375 states have (on average 1.1066666666666667) internal successors, (415), 387 states have internal predecessors, (415), 110 states have call successors, (110), 68 states have call predecessors, (110), 67 states have return successors, (108), 97 states have call predecessors, (108), 108 states have call successors, (108) [2022-04-28 13:28:50,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 553 states to 553 states and 633 transitions. [2022-04-28 13:28:50,667 INFO L78 Accepts]: Start accepts. Automaton has 553 states and 633 transitions. Word has length 178 [2022-04-28 13:28:50,667 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:28:50,667 INFO L495 AbstractCegarLoop]: Abstraction has 553 states and 633 transitions. [2022-04-28 13:28:50,667 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-28 13:28:50,668 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 553 states and 633 transitions. [2022-04-28 13:28:51,890 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 633 edges. 633 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:51,890 INFO L276 IsEmpty]: Start isEmpty. Operand 553 states and 633 transitions. [2022-04-28 13:28:51,891 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 183 [2022-04-28 13:28:51,891 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:28:51,891 INFO L195 NwaCegarLoop]: trace histogram [28, 27, 27, 8, 7, 7, 7, 7, 7, 7, 7, 7, 4, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:28:51,910 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Forceful destruction successful, exit code 0 [2022-04-28 13:28:52,091 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable31,29 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:28:52,092 INFO L420 AbstractCegarLoop]: === Iteration 33 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:28:52,092 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:28:52,092 INFO L85 PathProgramCache]: Analyzing trace with hash 221596463, now seen corresponding path program 5 times [2022-04-28 13:28:52,092 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:28:52,092 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1050916629] [2022-04-28 13:28:55,696 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:28:55,696 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:28:55,696 INFO L85 PathProgramCache]: Analyzing trace with hash 221596463, now seen corresponding path program 6 times [2022-04-28 13:28:55,697 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:28:55,697 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [873489626] [2022-04-28 13:28:55,697 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:28:55,697 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:28:55,711 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:28:55,711 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1485194587] [2022-04-28 13:28:55,711 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:28:55,711 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:28:55,711 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:28:55,712 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:28:55,713 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2022-04-28 13:28:55,769 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 13:28:55,769 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:28:55,770 INFO L263 TraceCheckSpWp]: Trace formula consists of 212 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-28 13:28:55,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:28:55,791 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:28:56,123 INFO L272 TraceCheckUtils]: 0: Hoare triple {56362#true} call ULTIMATE.init(); {56362#true} is VALID [2022-04-28 13:28:56,124 INFO L290 TraceCheckUtils]: 1: Hoare triple {56362#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {56362#true} is VALID [2022-04-28 13:28:56,124 INFO L290 TraceCheckUtils]: 2: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,124 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56362#true} {56362#true} #92#return; {56362#true} is VALID [2022-04-28 13:28:56,124 INFO L272 TraceCheckUtils]: 4: Hoare triple {56362#true} call #t~ret7 := main(); {56362#true} is VALID [2022-04-28 13:28:56,124 INFO L290 TraceCheckUtils]: 5: Hoare triple {56362#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; {56362#true} is VALID [2022-04-28 13:28:56,124 INFO L290 TraceCheckUtils]: 6: Hoare triple {56362#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {56362#true} is VALID [2022-04-28 13:28:56,124 INFO L290 TraceCheckUtils]: 7: Hoare triple {56362#true} assume !!(#t~post5 < 20);havoc #t~post5; {56362#true} is VALID [2022-04-28 13:28:56,124 INFO L272 TraceCheckUtils]: 8: Hoare triple {56362#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,124 INFO L290 TraceCheckUtils]: 9: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,124 INFO L290 TraceCheckUtils]: 10: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,124 INFO L290 TraceCheckUtils]: 11: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,124 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {56362#true} {56362#true} #78#return; {56362#true} is VALID [2022-04-28 13:28:56,124 INFO L272 TraceCheckUtils]: 13: Hoare triple {56362#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,124 INFO L290 TraceCheckUtils]: 14: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,125 INFO L290 TraceCheckUtils]: 15: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,125 INFO L290 TraceCheckUtils]: 16: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,125 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {56362#true} {56362#true} #80#return; {56362#true} is VALID [2022-04-28 13:28:56,125 INFO L272 TraceCheckUtils]: 18: Hoare triple {56362#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,125 INFO L290 TraceCheckUtils]: 19: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,125 INFO L290 TraceCheckUtils]: 20: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,125 INFO L290 TraceCheckUtils]: 21: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,125 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {56362#true} {56362#true} #82#return; {56362#true} is VALID [2022-04-28 13:28:56,125 INFO L290 TraceCheckUtils]: 23: Hoare triple {56362#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {56362#true} is VALID [2022-04-28 13:28:56,125 INFO L290 TraceCheckUtils]: 24: Hoare triple {56362#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {56362#true} is VALID [2022-04-28 13:28:56,125 INFO L290 TraceCheckUtils]: 25: Hoare triple {56362#true} assume !!(#t~post5 < 20);havoc #t~post5; {56362#true} is VALID [2022-04-28 13:28:56,125 INFO L272 TraceCheckUtils]: 26: Hoare triple {56362#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,125 INFO L290 TraceCheckUtils]: 27: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,125 INFO L290 TraceCheckUtils]: 28: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,125 INFO L290 TraceCheckUtils]: 29: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,126 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {56362#true} {56362#true} #78#return; {56362#true} is VALID [2022-04-28 13:28:56,126 INFO L272 TraceCheckUtils]: 31: Hoare triple {56362#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,126 INFO L290 TraceCheckUtils]: 32: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,126 INFO L290 TraceCheckUtils]: 33: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,126 INFO L290 TraceCheckUtils]: 34: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,126 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {56362#true} {56362#true} #80#return; {56362#true} is VALID [2022-04-28 13:28:56,126 INFO L272 TraceCheckUtils]: 36: Hoare triple {56362#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,126 INFO L290 TraceCheckUtils]: 37: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,126 INFO L290 TraceCheckUtils]: 38: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,126 INFO L290 TraceCheckUtils]: 39: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,126 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {56362#true} {56362#true} #82#return; {56362#true} is VALID [2022-04-28 13:28:56,126 INFO L290 TraceCheckUtils]: 41: Hoare triple {56362#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {56362#true} is VALID [2022-04-28 13:28:56,126 INFO L290 TraceCheckUtils]: 42: Hoare triple {56362#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {56362#true} is VALID [2022-04-28 13:28:56,126 INFO L290 TraceCheckUtils]: 43: Hoare triple {56362#true} assume !!(#t~post5 < 20);havoc #t~post5; {56362#true} is VALID [2022-04-28 13:28:56,127 INFO L272 TraceCheckUtils]: 44: Hoare triple {56362#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,127 INFO L290 TraceCheckUtils]: 45: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,127 INFO L290 TraceCheckUtils]: 46: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,127 INFO L290 TraceCheckUtils]: 47: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,127 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {56362#true} {56362#true} #78#return; {56362#true} is VALID [2022-04-28 13:28:56,127 INFO L272 TraceCheckUtils]: 49: Hoare triple {56362#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,127 INFO L290 TraceCheckUtils]: 50: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,127 INFO L290 TraceCheckUtils]: 51: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,127 INFO L290 TraceCheckUtils]: 52: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,127 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {56362#true} {56362#true} #80#return; {56362#true} is VALID [2022-04-28 13:28:56,127 INFO L272 TraceCheckUtils]: 54: Hoare triple {56362#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,127 INFO L290 TraceCheckUtils]: 55: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,127 INFO L290 TraceCheckUtils]: 56: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,127 INFO L290 TraceCheckUtils]: 57: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,127 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {56362#true} {56362#true} #82#return; {56362#true} is VALID [2022-04-28 13:28:56,128 INFO L290 TraceCheckUtils]: 59: Hoare triple {56362#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {56362#true} is VALID [2022-04-28 13:28:56,128 INFO L290 TraceCheckUtils]: 60: Hoare triple {56362#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {56362#true} is VALID [2022-04-28 13:28:56,128 INFO L290 TraceCheckUtils]: 61: Hoare triple {56362#true} assume !!(#t~post5 < 20);havoc #t~post5; {56362#true} is VALID [2022-04-28 13:28:56,128 INFO L272 TraceCheckUtils]: 62: Hoare triple {56362#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,128 INFO L290 TraceCheckUtils]: 63: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,128 INFO L290 TraceCheckUtils]: 64: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,128 INFO L290 TraceCheckUtils]: 65: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,128 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {56362#true} {56362#true} #78#return; {56362#true} is VALID [2022-04-28 13:28:56,128 INFO L272 TraceCheckUtils]: 67: Hoare triple {56362#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,128 INFO L290 TraceCheckUtils]: 68: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,128 INFO L290 TraceCheckUtils]: 69: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,128 INFO L290 TraceCheckUtils]: 70: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,128 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {56362#true} {56362#true} #80#return; {56362#true} is VALID [2022-04-28 13:28:56,128 INFO L272 TraceCheckUtils]: 72: Hoare triple {56362#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,128 INFO L290 TraceCheckUtils]: 73: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,129 INFO L290 TraceCheckUtils]: 74: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,129 INFO L290 TraceCheckUtils]: 75: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,129 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {56362#true} {56362#true} #82#return; {56362#true} is VALID [2022-04-28 13:28:56,129 INFO L290 TraceCheckUtils]: 77: Hoare triple {56362#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {56362#true} is VALID [2022-04-28 13:28:56,129 INFO L290 TraceCheckUtils]: 78: Hoare triple {56362#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {56362#true} is VALID [2022-04-28 13:28:56,129 INFO L290 TraceCheckUtils]: 79: Hoare triple {56362#true} assume !!(#t~post5 < 20);havoc #t~post5; {56362#true} is VALID [2022-04-28 13:28:56,129 INFO L272 TraceCheckUtils]: 80: Hoare triple {56362#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,129 INFO L290 TraceCheckUtils]: 81: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,129 INFO L290 TraceCheckUtils]: 82: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,129 INFO L290 TraceCheckUtils]: 83: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,129 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {56362#true} {56362#true} #78#return; {56362#true} is VALID [2022-04-28 13:28:56,129 INFO L272 TraceCheckUtils]: 85: Hoare triple {56362#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,129 INFO L290 TraceCheckUtils]: 86: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,129 INFO L290 TraceCheckUtils]: 87: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,129 INFO L290 TraceCheckUtils]: 88: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,130 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {56362#true} {56362#true} #80#return; {56362#true} is VALID [2022-04-28 13:28:56,130 INFO L272 TraceCheckUtils]: 90: Hoare triple {56362#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,130 INFO L290 TraceCheckUtils]: 91: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,130 INFO L290 TraceCheckUtils]: 92: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,130 INFO L290 TraceCheckUtils]: 93: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,130 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {56362#true} {56362#true} #82#return; {56362#true} is VALID [2022-04-28 13:28:56,130 INFO L290 TraceCheckUtils]: 95: Hoare triple {56362#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {56362#true} is VALID [2022-04-28 13:28:56,130 INFO L290 TraceCheckUtils]: 96: Hoare triple {56362#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {56362#true} is VALID [2022-04-28 13:28:56,130 INFO L290 TraceCheckUtils]: 97: Hoare triple {56362#true} assume !!(#t~post5 < 20);havoc #t~post5; {56362#true} is VALID [2022-04-28 13:28:56,130 INFO L272 TraceCheckUtils]: 98: Hoare triple {56362#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,130 INFO L290 TraceCheckUtils]: 99: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,130 INFO L290 TraceCheckUtils]: 100: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,130 INFO L290 TraceCheckUtils]: 101: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,130 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {56362#true} {56362#true} #78#return; {56362#true} is VALID [2022-04-28 13:28:56,130 INFO L272 TraceCheckUtils]: 103: Hoare triple {56362#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,131 INFO L290 TraceCheckUtils]: 104: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,131 INFO L290 TraceCheckUtils]: 105: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,131 INFO L290 TraceCheckUtils]: 106: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,131 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {56362#true} {56362#true} #80#return; {56362#true} is VALID [2022-04-28 13:28:56,131 INFO L272 TraceCheckUtils]: 108: Hoare triple {56362#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,131 INFO L290 TraceCheckUtils]: 109: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,131 INFO L290 TraceCheckUtils]: 110: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,131 INFO L290 TraceCheckUtils]: 111: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,131 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {56362#true} {56362#true} #82#return; {56362#true} is VALID [2022-04-28 13:28:56,131 INFO L290 TraceCheckUtils]: 113: Hoare triple {56362#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {56362#true} is VALID [2022-04-28 13:28:56,131 INFO L290 TraceCheckUtils]: 114: Hoare triple {56362#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {56362#true} is VALID [2022-04-28 13:28:56,131 INFO L290 TraceCheckUtils]: 115: Hoare triple {56362#true} assume !!(#t~post5 < 20);havoc #t~post5; {56362#true} is VALID [2022-04-28 13:28:56,131 INFO L272 TraceCheckUtils]: 116: Hoare triple {56362#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,131 INFO L290 TraceCheckUtils]: 117: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,131 INFO L290 TraceCheckUtils]: 118: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,132 INFO L290 TraceCheckUtils]: 119: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,132 INFO L284 TraceCheckUtils]: 120: Hoare quadruple {56362#true} {56362#true} #78#return; {56362#true} is VALID [2022-04-28 13:28:56,132 INFO L272 TraceCheckUtils]: 121: Hoare triple {56362#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,132 INFO L290 TraceCheckUtils]: 122: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,132 INFO L290 TraceCheckUtils]: 123: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,132 INFO L290 TraceCheckUtils]: 124: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,132 INFO L284 TraceCheckUtils]: 125: Hoare quadruple {56362#true} {56362#true} #80#return; {56362#true} is VALID [2022-04-28 13:28:56,132 INFO L272 TraceCheckUtils]: 126: Hoare triple {56362#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {56362#true} is VALID [2022-04-28 13:28:56,132 INFO L290 TraceCheckUtils]: 127: Hoare triple {56362#true} ~cond := #in~cond; {56362#true} is VALID [2022-04-28 13:28:56,132 INFO L290 TraceCheckUtils]: 128: Hoare triple {56362#true} assume !(0 == ~cond); {56362#true} is VALID [2022-04-28 13:28:56,132 INFO L290 TraceCheckUtils]: 129: Hoare triple {56362#true} assume true; {56362#true} is VALID [2022-04-28 13:28:56,132 INFO L284 TraceCheckUtils]: 130: Hoare quadruple {56362#true} {56362#true} #82#return; {56362#true} is VALID [2022-04-28 13:28:56,132 INFO L290 TraceCheckUtils]: 131: Hoare triple {56362#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {56362#true} is VALID [2022-04-28 13:28:56,133 INFO L290 TraceCheckUtils]: 132: Hoare triple {56362#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {56763#(<= (+ |main_#t~post5| 1) ~counter~0)} is VALID [2022-04-28 13:28:56,134 INFO L290 TraceCheckUtils]: 133: Hoare triple {56763#(<= (+ |main_#t~post5| 1) ~counter~0)} assume !(#t~post5 < 20);havoc #t~post5; {56767#(<= 21 ~counter~0)} is VALID [2022-04-28 13:28:56,134 INFO L290 TraceCheckUtils]: 134: Hoare triple {56767#(<= 21 ~counter~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {56771#(<= 21 |main_#t~post6|)} is VALID [2022-04-28 13:28:56,135 INFO L290 TraceCheckUtils]: 135: Hoare triple {56771#(<= 21 |main_#t~post6|)} assume !!(#t~post6 < 20);havoc #t~post6; {56363#false} is VALID [2022-04-28 13:28:56,135 INFO L272 TraceCheckUtils]: 136: Hoare triple {56363#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {56363#false} is VALID [2022-04-28 13:28:56,135 INFO L290 TraceCheckUtils]: 137: Hoare triple {56363#false} ~cond := #in~cond; {56363#false} is VALID [2022-04-28 13:28:56,135 INFO L290 TraceCheckUtils]: 138: Hoare triple {56363#false} assume !(0 == ~cond); {56363#false} is VALID [2022-04-28 13:28:56,135 INFO L290 TraceCheckUtils]: 139: Hoare triple {56363#false} assume true; {56363#false} is VALID [2022-04-28 13:28:56,135 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {56363#false} {56363#false} #84#return; {56363#false} is VALID [2022-04-28 13:28:56,135 INFO L272 TraceCheckUtils]: 141: Hoare triple {56363#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {56363#false} is VALID [2022-04-28 13:28:56,135 INFO L290 TraceCheckUtils]: 142: Hoare triple {56363#false} ~cond := #in~cond; {56363#false} is VALID [2022-04-28 13:28:56,135 INFO L290 TraceCheckUtils]: 143: Hoare triple {56363#false} assume !(0 == ~cond); {56363#false} is VALID [2022-04-28 13:28:56,135 INFO L290 TraceCheckUtils]: 144: Hoare triple {56363#false} assume true; {56363#false} is VALID [2022-04-28 13:28:56,135 INFO L284 TraceCheckUtils]: 145: Hoare quadruple {56363#false} {56363#false} #86#return; {56363#false} is VALID [2022-04-28 13:28:56,136 INFO L290 TraceCheckUtils]: 146: Hoare triple {56363#false} 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); {56363#false} is VALID [2022-04-28 13:28:56,136 INFO L290 TraceCheckUtils]: 147: Hoare triple {56363#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {56363#false} is VALID [2022-04-28 13:28:56,136 INFO L290 TraceCheckUtils]: 148: Hoare triple {56363#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {56363#false} is VALID [2022-04-28 13:28:56,136 INFO L290 TraceCheckUtils]: 149: Hoare triple {56363#false} assume !!(#t~post6 < 20);havoc #t~post6; {56363#false} is VALID [2022-04-28 13:28:56,136 INFO L272 TraceCheckUtils]: 150: Hoare triple {56363#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {56363#false} is VALID [2022-04-28 13:28:56,136 INFO L290 TraceCheckUtils]: 151: Hoare triple {56363#false} ~cond := #in~cond; {56363#false} is VALID [2022-04-28 13:28:56,136 INFO L290 TraceCheckUtils]: 152: Hoare triple {56363#false} assume !(0 == ~cond); {56363#false} is VALID [2022-04-28 13:28:56,136 INFO L290 TraceCheckUtils]: 153: Hoare triple {56363#false} assume true; {56363#false} is VALID [2022-04-28 13:28:56,136 INFO L284 TraceCheckUtils]: 154: Hoare quadruple {56363#false} {56363#false} #84#return; {56363#false} is VALID [2022-04-28 13:28:56,136 INFO L272 TraceCheckUtils]: 155: Hoare triple {56363#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {56363#false} is VALID [2022-04-28 13:28:56,136 INFO L290 TraceCheckUtils]: 156: Hoare triple {56363#false} ~cond := #in~cond; {56363#false} is VALID [2022-04-28 13:28:56,136 INFO L290 TraceCheckUtils]: 157: Hoare triple {56363#false} assume !(0 == ~cond); {56363#false} is VALID [2022-04-28 13:28:56,136 INFO L290 TraceCheckUtils]: 158: Hoare triple {56363#false} assume true; {56363#false} is VALID [2022-04-28 13:28:56,136 INFO L284 TraceCheckUtils]: 159: Hoare quadruple {56363#false} {56363#false} #86#return; {56363#false} is VALID [2022-04-28 13:28:56,136 INFO L290 TraceCheckUtils]: 160: Hoare triple {56363#false} 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); {56363#false} is VALID [2022-04-28 13:28:56,137 INFO L290 TraceCheckUtils]: 161: Hoare triple {56363#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {56363#false} is VALID [2022-04-28 13:28:56,137 INFO L290 TraceCheckUtils]: 162: Hoare triple {56363#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {56363#false} is VALID [2022-04-28 13:28:56,137 INFO L290 TraceCheckUtils]: 163: Hoare triple {56363#false} assume !!(#t~post6 < 20);havoc #t~post6; {56363#false} is VALID [2022-04-28 13:28:56,137 INFO L272 TraceCheckUtils]: 164: Hoare triple {56363#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {56363#false} is VALID [2022-04-28 13:28:56,137 INFO L290 TraceCheckUtils]: 165: Hoare triple {56363#false} ~cond := #in~cond; {56363#false} is VALID [2022-04-28 13:28:56,137 INFO L290 TraceCheckUtils]: 166: Hoare triple {56363#false} assume !(0 == ~cond); {56363#false} is VALID [2022-04-28 13:28:56,137 INFO L290 TraceCheckUtils]: 167: Hoare triple {56363#false} assume true; {56363#false} is VALID [2022-04-28 13:28:56,137 INFO L284 TraceCheckUtils]: 168: Hoare quadruple {56363#false} {56363#false} #84#return; {56363#false} is VALID [2022-04-28 13:28:56,137 INFO L272 TraceCheckUtils]: 169: Hoare triple {56363#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {56363#false} is VALID [2022-04-28 13:28:56,137 INFO L290 TraceCheckUtils]: 170: Hoare triple {56363#false} ~cond := #in~cond; {56363#false} is VALID [2022-04-28 13:28:56,137 INFO L290 TraceCheckUtils]: 171: Hoare triple {56363#false} assume !(0 == ~cond); {56363#false} is VALID [2022-04-28 13:28:56,137 INFO L290 TraceCheckUtils]: 172: Hoare triple {56363#false} assume true; {56363#false} is VALID [2022-04-28 13:28:56,137 INFO L284 TraceCheckUtils]: 173: Hoare quadruple {56363#false} {56363#false} #86#return; {56363#false} is VALID [2022-04-28 13:28:56,137 INFO L290 TraceCheckUtils]: 174: Hoare triple {56363#false} 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); {56363#false} is VALID [2022-04-28 13:28:56,137 INFO L290 TraceCheckUtils]: 175: Hoare triple {56363#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {56363#false} is VALID [2022-04-28 13:28:56,137 INFO L290 TraceCheckUtils]: 176: Hoare triple {56363#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {56363#false} is VALID [2022-04-28 13:28:56,138 INFO L290 TraceCheckUtils]: 177: Hoare triple {56363#false} assume !(#t~post6 < 20);havoc #t~post6; {56363#false} is VALID [2022-04-28 13:28:56,138 INFO L272 TraceCheckUtils]: 178: Hoare triple {56363#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {56363#false} is VALID [2022-04-28 13:28:56,138 INFO L290 TraceCheckUtils]: 179: Hoare triple {56363#false} ~cond := #in~cond; {56363#false} is VALID [2022-04-28 13:28:56,138 INFO L290 TraceCheckUtils]: 180: Hoare triple {56363#false} assume 0 == ~cond; {56363#false} is VALID [2022-04-28 13:28:56,138 INFO L290 TraceCheckUtils]: 181: Hoare triple {56363#false} assume !false; {56363#false} is VALID [2022-04-28 13:28:56,138 INFO L134 CoverageAnalysis]: Checked inductivity of 1622 backedges. 559 proven. 0 refuted. 0 times theorem prover too weak. 1063 trivial. 0 not checked. [2022-04-28 13:28:56,139 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 13:28:56,139 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:28:56,139 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [873489626] [2022-04-28 13:28:56,139 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:28:56,139 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1485194587] [2022-04-28 13:28:56,139 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1485194587] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:28:56,139 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:28:56,139 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 13:28:56,139 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:28:56,139 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1050916629] [2022-04-28 13:28:56,139 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1050916629] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:28:56,139 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:28:56,139 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 13:28:56,140 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1598340876] [2022-04-28 13:28:56,140 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:28:56,140 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 182 [2022-04-28 13:28:56,140 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:28:56,140 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 13:28:56,166 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-28 13:28:56,166 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 13:28:56,166 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:28:56,166 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 13:28:56,166 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 13:28:56,166 INFO L87 Difference]: Start difference. First operand 553 states and 633 transitions. Second operand has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 13:28:57,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:57,179 INFO L93 Difference]: Finished difference Result 640 states and 720 transitions. [2022-04-28 13:28:57,179 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 13:28:57,179 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 182 [2022-04-28 13:28:57,179 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:28:57,180 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 13:28:57,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 13:28:57,180 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 13:28:57,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 13:28:57,181 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-28 13:28:57,227 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:57,240 INFO L225 Difference]: With dead ends: 640 [2022-04-28 13:28:57,240 INFO L226 Difference]: Without dead ends: 527 [2022-04-28 13:28:57,240 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 182 GetRequests, 178 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-28 13:28:57,240 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 13:28:57,241 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 144 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 13:28:57,241 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 527 states. [2022-04-28 13:28:58,029 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 527 to 525. [2022-04-28 13:28:58,029 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:28:58,030 INFO L82 GeneralOperation]: Start isEquivalent. First operand 527 states. Second operand has 525 states, 356 states have (on average 1.0898876404494382) internal successors, (388), 366 states have internal predecessors, (388), 102 states have call successors, (102), 68 states have call predecessors, (102), 66 states have return successors, (99), 90 states have call predecessors, (99), 99 states have call successors, (99) [2022-04-28 13:28:58,030 INFO L74 IsIncluded]: Start isIncluded. First operand 527 states. Second operand has 525 states, 356 states have (on average 1.0898876404494382) internal successors, (388), 366 states have internal predecessors, (388), 102 states have call successors, (102), 68 states have call predecessors, (102), 66 states have return successors, (99), 90 states have call predecessors, (99), 99 states have call successors, (99) [2022-04-28 13:28:58,031 INFO L87 Difference]: Start difference. First operand 527 states. Second operand has 525 states, 356 states have (on average 1.0898876404494382) internal successors, (388), 366 states have internal predecessors, (388), 102 states have call successors, (102), 68 states have call predecessors, (102), 66 states have return successors, (99), 90 states have call predecessors, (99), 99 states have call successors, (99) [2022-04-28 13:28:58,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:58,040 INFO L93 Difference]: Finished difference Result 527 states and 590 transitions. [2022-04-28 13:28:58,041 INFO L276 IsEmpty]: Start isEmpty. Operand 527 states and 590 transitions. [2022-04-28 13:28:58,041 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:28:58,041 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:28:58,042 INFO L74 IsIncluded]: Start isIncluded. First operand has 525 states, 356 states have (on average 1.0898876404494382) internal successors, (388), 366 states have internal predecessors, (388), 102 states have call successors, (102), 68 states have call predecessors, (102), 66 states have return successors, (99), 90 states have call predecessors, (99), 99 states have call successors, (99) Second operand 527 states. [2022-04-28 13:28:58,042 INFO L87 Difference]: Start difference. First operand has 525 states, 356 states have (on average 1.0898876404494382) internal successors, (388), 366 states have internal predecessors, (388), 102 states have call successors, (102), 68 states have call predecessors, (102), 66 states have return successors, (99), 90 states have call predecessors, (99), 99 states have call successors, (99) Second operand 527 states. [2022-04-28 13:28:58,051 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:58,052 INFO L93 Difference]: Finished difference Result 527 states and 590 transitions. [2022-04-28 13:28:58,052 INFO L276 IsEmpty]: Start isEmpty. Operand 527 states and 590 transitions. [2022-04-28 13:28:58,052 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:28:58,052 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:28:58,052 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:28:58,052 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:28:58,053 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 525 states, 356 states have (on average 1.0898876404494382) internal successors, (388), 366 states have internal predecessors, (388), 102 states have call successors, (102), 68 states have call predecessors, (102), 66 states have return successors, (99), 90 states have call predecessors, (99), 99 states have call successors, (99) [2022-04-28 13:28:58,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 525 states to 525 states and 589 transitions. [2022-04-28 13:28:58,067 INFO L78 Accepts]: Start accepts. Automaton has 525 states and 589 transitions. Word has length 182 [2022-04-28 13:28:58,067 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:28:58,067 INFO L495 AbstractCegarLoop]: Abstraction has 525 states and 589 transitions. [2022-04-28 13:28:58,067 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 13:28:58,067 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 525 states and 589 transitions. [2022-04-28 13:28:59,272 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 589 edges. 589 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:59,272 INFO L276 IsEmpty]: Start isEmpty. Operand 525 states and 589 transitions. [2022-04-28 13:28:59,273 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 183 [2022-04-28 13:28:59,273 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:28:59,273 INFO L195 NwaCegarLoop]: trace histogram [27, 26, 26, 8, 7, 7, 7, 7, 7, 7, 7, 4, 4, 4, 4, 4, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:28:59,289 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Forceful destruction successful, exit code 0 [2022-04-28 13:28:59,474 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable32,30 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:28:59,474 INFO L420 AbstractCegarLoop]: === Iteration 34 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:28:59,474 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:28:59,474 INFO L85 PathProgramCache]: Analyzing trace with hash -553486584, now seen corresponding path program 19 times [2022-04-28 13:28:59,474 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:28:59,475 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1130816135] [2022-04-28 13:29:03,553 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:29:03,553 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:29:03,554 INFO L85 PathProgramCache]: Analyzing trace with hash -553486584, now seen corresponding path program 20 times [2022-04-28 13:29:03,554 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:29:03,554 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [439575426] [2022-04-28 13:29:03,554 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:29:03,554 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:29:03,570 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:29:03,570 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1481555707] [2022-04-28 13:29:03,570 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:29:03,570 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:29:03,570 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:29:03,571 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:29:03,595 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Waiting until timeout for monitored process [2022-04-28 13:29:03,647 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:29:03,647 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:29:03,649 INFO L263 TraceCheckSpWp]: Trace formula consists of 450 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 13:29:03,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:29:03,679 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:29:04,569 INFO L272 TraceCheckUtils]: 0: Hoare triple {60298#true} call ULTIMATE.init(); {60298#true} is VALID [2022-04-28 13:29:04,570 INFO L290 TraceCheckUtils]: 1: Hoare triple {60298#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {60306#(<= ~counter~0 0)} is VALID [2022-04-28 13:29:04,570 INFO L290 TraceCheckUtils]: 2: Hoare triple {60306#(<= ~counter~0 0)} assume true; {60306#(<= ~counter~0 0)} is VALID [2022-04-28 13:29:04,570 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60306#(<= ~counter~0 0)} {60298#true} #92#return; {60306#(<= ~counter~0 0)} is VALID [2022-04-28 13:29:04,571 INFO L272 TraceCheckUtils]: 4: Hoare triple {60306#(<= ~counter~0 0)} call #t~ret7 := main(); {60306#(<= ~counter~0 0)} is VALID [2022-04-28 13:29:04,571 INFO L290 TraceCheckUtils]: 5: Hoare triple {60306#(<= ~counter~0 0)} 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; {60306#(<= ~counter~0 0)} is VALID [2022-04-28 13:29:04,572 INFO L290 TraceCheckUtils]: 6: Hoare triple {60306#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {60322#(<= ~counter~0 1)} is VALID [2022-04-28 13:29:04,572 INFO L290 TraceCheckUtils]: 7: Hoare triple {60322#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {60322#(<= ~counter~0 1)} is VALID [2022-04-28 13:29:04,573 INFO L272 TraceCheckUtils]: 8: Hoare triple {60322#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {60322#(<= ~counter~0 1)} is VALID [2022-04-28 13:29:04,573 INFO L290 TraceCheckUtils]: 9: Hoare triple {60322#(<= ~counter~0 1)} ~cond := #in~cond; {60322#(<= ~counter~0 1)} is VALID [2022-04-28 13:29:04,573 INFO L290 TraceCheckUtils]: 10: Hoare triple {60322#(<= ~counter~0 1)} assume !(0 == ~cond); {60322#(<= ~counter~0 1)} is VALID [2022-04-28 13:29:04,574 INFO L290 TraceCheckUtils]: 11: Hoare triple {60322#(<= ~counter~0 1)} assume true; {60322#(<= ~counter~0 1)} is VALID [2022-04-28 13:29:04,574 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {60322#(<= ~counter~0 1)} {60322#(<= ~counter~0 1)} #78#return; {60322#(<= ~counter~0 1)} is VALID [2022-04-28 13:29:04,574 INFO L272 TraceCheckUtils]: 13: Hoare triple {60322#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {60322#(<= ~counter~0 1)} is VALID [2022-04-28 13:29:04,575 INFO L290 TraceCheckUtils]: 14: Hoare triple {60322#(<= ~counter~0 1)} ~cond := #in~cond; {60322#(<= ~counter~0 1)} is VALID [2022-04-28 13:29:04,575 INFO L290 TraceCheckUtils]: 15: Hoare triple {60322#(<= ~counter~0 1)} assume !(0 == ~cond); {60322#(<= ~counter~0 1)} is VALID [2022-04-28 13:29:04,575 INFO L290 TraceCheckUtils]: 16: Hoare triple {60322#(<= ~counter~0 1)} assume true; {60322#(<= ~counter~0 1)} is VALID [2022-04-28 13:29:04,575 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {60322#(<= ~counter~0 1)} {60322#(<= ~counter~0 1)} #80#return; {60322#(<= ~counter~0 1)} is VALID [2022-04-28 13:29:04,576 INFO L272 TraceCheckUtils]: 18: Hoare triple {60322#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {60322#(<= ~counter~0 1)} is VALID [2022-04-28 13:29:04,576 INFO L290 TraceCheckUtils]: 19: Hoare triple {60322#(<= ~counter~0 1)} ~cond := #in~cond; {60322#(<= ~counter~0 1)} is VALID [2022-04-28 13:29:04,576 INFO L290 TraceCheckUtils]: 20: Hoare triple {60322#(<= ~counter~0 1)} assume !(0 == ~cond); {60322#(<= ~counter~0 1)} is VALID [2022-04-28 13:29:04,577 INFO L290 TraceCheckUtils]: 21: Hoare triple {60322#(<= ~counter~0 1)} assume true; {60322#(<= ~counter~0 1)} is VALID [2022-04-28 13:29:04,577 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {60322#(<= ~counter~0 1)} {60322#(<= ~counter~0 1)} #82#return; {60322#(<= ~counter~0 1)} is VALID [2022-04-28 13:29:04,577 INFO L290 TraceCheckUtils]: 23: Hoare triple {60322#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {60322#(<= ~counter~0 1)} is VALID [2022-04-28 13:29:04,578 INFO L290 TraceCheckUtils]: 24: Hoare triple {60322#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {60377#(<= ~counter~0 2)} is VALID [2022-04-28 13:29:04,578 INFO L290 TraceCheckUtils]: 25: Hoare triple {60377#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {60377#(<= ~counter~0 2)} is VALID [2022-04-28 13:29:04,579 INFO L272 TraceCheckUtils]: 26: Hoare triple {60377#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {60377#(<= ~counter~0 2)} is VALID [2022-04-28 13:29:04,579 INFO L290 TraceCheckUtils]: 27: Hoare triple {60377#(<= ~counter~0 2)} ~cond := #in~cond; {60377#(<= ~counter~0 2)} is VALID [2022-04-28 13:29:04,579 INFO L290 TraceCheckUtils]: 28: Hoare triple {60377#(<= ~counter~0 2)} assume !(0 == ~cond); {60377#(<= ~counter~0 2)} is VALID [2022-04-28 13:29:04,580 INFO L290 TraceCheckUtils]: 29: Hoare triple {60377#(<= ~counter~0 2)} assume true; {60377#(<= ~counter~0 2)} is VALID [2022-04-28 13:29:04,580 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {60377#(<= ~counter~0 2)} {60377#(<= ~counter~0 2)} #78#return; {60377#(<= ~counter~0 2)} is VALID [2022-04-28 13:29:04,580 INFO L272 TraceCheckUtils]: 31: Hoare triple {60377#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {60377#(<= ~counter~0 2)} is VALID [2022-04-28 13:29:04,580 INFO L290 TraceCheckUtils]: 32: Hoare triple {60377#(<= ~counter~0 2)} ~cond := #in~cond; {60377#(<= ~counter~0 2)} is VALID [2022-04-28 13:29:04,581 INFO L290 TraceCheckUtils]: 33: Hoare triple {60377#(<= ~counter~0 2)} assume !(0 == ~cond); {60377#(<= ~counter~0 2)} is VALID [2022-04-28 13:29:04,581 INFO L290 TraceCheckUtils]: 34: Hoare triple {60377#(<= ~counter~0 2)} assume true; {60377#(<= ~counter~0 2)} is VALID [2022-04-28 13:29:04,581 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {60377#(<= ~counter~0 2)} {60377#(<= ~counter~0 2)} #80#return; {60377#(<= ~counter~0 2)} is VALID [2022-04-28 13:29:04,582 INFO L272 TraceCheckUtils]: 36: Hoare triple {60377#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {60377#(<= ~counter~0 2)} is VALID [2022-04-28 13:29:04,582 INFO L290 TraceCheckUtils]: 37: Hoare triple {60377#(<= ~counter~0 2)} ~cond := #in~cond; {60377#(<= ~counter~0 2)} is VALID [2022-04-28 13:29:04,582 INFO L290 TraceCheckUtils]: 38: Hoare triple {60377#(<= ~counter~0 2)} assume !(0 == ~cond); {60377#(<= ~counter~0 2)} is VALID [2022-04-28 13:29:04,583 INFO L290 TraceCheckUtils]: 39: Hoare triple {60377#(<= ~counter~0 2)} assume true; {60377#(<= ~counter~0 2)} is VALID [2022-04-28 13:29:04,583 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {60377#(<= ~counter~0 2)} {60377#(<= ~counter~0 2)} #82#return; {60377#(<= ~counter~0 2)} is VALID [2022-04-28 13:29:04,583 INFO L290 TraceCheckUtils]: 41: Hoare triple {60377#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {60377#(<= ~counter~0 2)} is VALID [2022-04-28 13:29:04,584 INFO L290 TraceCheckUtils]: 42: Hoare triple {60377#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {60432#(<= ~counter~0 3)} is VALID [2022-04-28 13:29:04,584 INFO L290 TraceCheckUtils]: 43: Hoare triple {60432#(<= ~counter~0 3)} assume !!(#t~post5 < 20);havoc #t~post5; {60432#(<= ~counter~0 3)} is VALID [2022-04-28 13:29:04,585 INFO L272 TraceCheckUtils]: 44: Hoare triple {60432#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {60432#(<= ~counter~0 3)} is VALID [2022-04-28 13:29:04,585 INFO L290 TraceCheckUtils]: 45: Hoare triple {60432#(<= ~counter~0 3)} ~cond := #in~cond; {60432#(<= ~counter~0 3)} is VALID [2022-04-28 13:29:04,585 INFO L290 TraceCheckUtils]: 46: Hoare triple {60432#(<= ~counter~0 3)} assume !(0 == ~cond); {60432#(<= ~counter~0 3)} is VALID [2022-04-28 13:29:04,585 INFO L290 TraceCheckUtils]: 47: Hoare triple {60432#(<= ~counter~0 3)} assume true; {60432#(<= ~counter~0 3)} is VALID [2022-04-28 13:29:04,586 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {60432#(<= ~counter~0 3)} {60432#(<= ~counter~0 3)} #78#return; {60432#(<= ~counter~0 3)} is VALID [2022-04-28 13:29:04,586 INFO L272 TraceCheckUtils]: 49: Hoare triple {60432#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {60432#(<= ~counter~0 3)} is VALID [2022-04-28 13:29:04,586 INFO L290 TraceCheckUtils]: 50: Hoare triple {60432#(<= ~counter~0 3)} ~cond := #in~cond; {60432#(<= ~counter~0 3)} is VALID [2022-04-28 13:29:04,587 INFO L290 TraceCheckUtils]: 51: Hoare triple {60432#(<= ~counter~0 3)} assume !(0 == ~cond); {60432#(<= ~counter~0 3)} is VALID [2022-04-28 13:29:04,587 INFO L290 TraceCheckUtils]: 52: Hoare triple {60432#(<= ~counter~0 3)} assume true; {60432#(<= ~counter~0 3)} is VALID [2022-04-28 13:29:04,587 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {60432#(<= ~counter~0 3)} {60432#(<= ~counter~0 3)} #80#return; {60432#(<= ~counter~0 3)} is VALID [2022-04-28 13:29:04,588 INFO L272 TraceCheckUtils]: 54: Hoare triple {60432#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {60432#(<= ~counter~0 3)} is VALID [2022-04-28 13:29:04,588 INFO L290 TraceCheckUtils]: 55: Hoare triple {60432#(<= ~counter~0 3)} ~cond := #in~cond; {60432#(<= ~counter~0 3)} is VALID [2022-04-28 13:29:04,588 INFO L290 TraceCheckUtils]: 56: Hoare triple {60432#(<= ~counter~0 3)} assume !(0 == ~cond); {60432#(<= ~counter~0 3)} is VALID [2022-04-28 13:29:04,588 INFO L290 TraceCheckUtils]: 57: Hoare triple {60432#(<= ~counter~0 3)} assume true; {60432#(<= ~counter~0 3)} is VALID [2022-04-28 13:29:04,589 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {60432#(<= ~counter~0 3)} {60432#(<= ~counter~0 3)} #82#return; {60432#(<= ~counter~0 3)} is VALID [2022-04-28 13:29:04,589 INFO L290 TraceCheckUtils]: 59: Hoare triple {60432#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {60432#(<= ~counter~0 3)} is VALID [2022-04-28 13:29:04,590 INFO L290 TraceCheckUtils]: 60: Hoare triple {60432#(<= ~counter~0 3)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {60487#(<= ~counter~0 4)} is VALID [2022-04-28 13:29:04,590 INFO L290 TraceCheckUtils]: 61: Hoare triple {60487#(<= ~counter~0 4)} assume !!(#t~post5 < 20);havoc #t~post5; {60487#(<= ~counter~0 4)} is VALID [2022-04-28 13:29:04,591 INFO L272 TraceCheckUtils]: 62: Hoare triple {60487#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {60487#(<= ~counter~0 4)} is VALID [2022-04-28 13:29:04,591 INFO L290 TraceCheckUtils]: 63: Hoare triple {60487#(<= ~counter~0 4)} ~cond := #in~cond; {60487#(<= ~counter~0 4)} is VALID [2022-04-28 13:29:04,591 INFO L290 TraceCheckUtils]: 64: Hoare triple {60487#(<= ~counter~0 4)} assume !(0 == ~cond); {60487#(<= ~counter~0 4)} is VALID [2022-04-28 13:29:04,591 INFO L290 TraceCheckUtils]: 65: Hoare triple {60487#(<= ~counter~0 4)} assume true; {60487#(<= ~counter~0 4)} is VALID [2022-04-28 13:29:04,592 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {60487#(<= ~counter~0 4)} {60487#(<= ~counter~0 4)} #78#return; {60487#(<= ~counter~0 4)} is VALID [2022-04-28 13:29:04,592 INFO L272 TraceCheckUtils]: 67: Hoare triple {60487#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {60487#(<= ~counter~0 4)} is VALID [2022-04-28 13:29:04,592 INFO L290 TraceCheckUtils]: 68: Hoare triple {60487#(<= ~counter~0 4)} ~cond := #in~cond; {60487#(<= ~counter~0 4)} is VALID [2022-04-28 13:29:04,593 INFO L290 TraceCheckUtils]: 69: Hoare triple {60487#(<= ~counter~0 4)} assume !(0 == ~cond); {60487#(<= ~counter~0 4)} is VALID [2022-04-28 13:29:04,593 INFO L290 TraceCheckUtils]: 70: Hoare triple {60487#(<= ~counter~0 4)} assume true; {60487#(<= ~counter~0 4)} is VALID [2022-04-28 13:29:04,593 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {60487#(<= ~counter~0 4)} {60487#(<= ~counter~0 4)} #80#return; {60487#(<= ~counter~0 4)} is VALID [2022-04-28 13:29:04,594 INFO L272 TraceCheckUtils]: 72: Hoare triple {60487#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {60487#(<= ~counter~0 4)} is VALID [2022-04-28 13:29:04,594 INFO L290 TraceCheckUtils]: 73: Hoare triple {60487#(<= ~counter~0 4)} ~cond := #in~cond; {60487#(<= ~counter~0 4)} is VALID [2022-04-28 13:29:04,594 INFO L290 TraceCheckUtils]: 74: Hoare triple {60487#(<= ~counter~0 4)} assume !(0 == ~cond); {60487#(<= ~counter~0 4)} is VALID [2022-04-28 13:29:04,594 INFO L290 TraceCheckUtils]: 75: Hoare triple {60487#(<= ~counter~0 4)} assume true; {60487#(<= ~counter~0 4)} is VALID [2022-04-28 13:29:04,595 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {60487#(<= ~counter~0 4)} {60487#(<= ~counter~0 4)} #82#return; {60487#(<= ~counter~0 4)} is VALID [2022-04-28 13:29:04,595 INFO L290 TraceCheckUtils]: 77: Hoare triple {60487#(<= ~counter~0 4)} assume !(~r~0 >= ~d~0); {60487#(<= ~counter~0 4)} is VALID [2022-04-28 13:29:04,596 INFO L290 TraceCheckUtils]: 78: Hoare triple {60487#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {60542#(<= ~counter~0 5)} is VALID [2022-04-28 13:29:04,596 INFO L290 TraceCheckUtils]: 79: Hoare triple {60542#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {60542#(<= ~counter~0 5)} is VALID [2022-04-28 13:29:04,597 INFO L272 TraceCheckUtils]: 80: Hoare triple {60542#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {60542#(<= ~counter~0 5)} is VALID [2022-04-28 13:29:04,597 INFO L290 TraceCheckUtils]: 81: Hoare triple {60542#(<= ~counter~0 5)} ~cond := #in~cond; {60542#(<= ~counter~0 5)} is VALID [2022-04-28 13:29:04,597 INFO L290 TraceCheckUtils]: 82: Hoare triple {60542#(<= ~counter~0 5)} assume !(0 == ~cond); {60542#(<= ~counter~0 5)} is VALID [2022-04-28 13:29:04,597 INFO L290 TraceCheckUtils]: 83: Hoare triple {60542#(<= ~counter~0 5)} assume true; {60542#(<= ~counter~0 5)} is VALID [2022-04-28 13:29:04,598 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {60542#(<= ~counter~0 5)} {60542#(<= ~counter~0 5)} #84#return; {60542#(<= ~counter~0 5)} is VALID [2022-04-28 13:29:04,598 INFO L272 TraceCheckUtils]: 85: Hoare triple {60542#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {60542#(<= ~counter~0 5)} is VALID [2022-04-28 13:29:04,599 INFO L290 TraceCheckUtils]: 86: Hoare triple {60542#(<= ~counter~0 5)} ~cond := #in~cond; {60542#(<= ~counter~0 5)} is VALID [2022-04-28 13:29:04,599 INFO L290 TraceCheckUtils]: 87: Hoare triple {60542#(<= ~counter~0 5)} assume !(0 == ~cond); {60542#(<= ~counter~0 5)} is VALID [2022-04-28 13:29:04,599 INFO L290 TraceCheckUtils]: 88: Hoare triple {60542#(<= ~counter~0 5)} assume true; {60542#(<= ~counter~0 5)} is VALID [2022-04-28 13:29:04,600 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {60542#(<= ~counter~0 5)} {60542#(<= ~counter~0 5)} #86#return; {60542#(<= ~counter~0 5)} is VALID [2022-04-28 13:29:04,600 INFO L290 TraceCheckUtils]: 90: Hoare triple {60542#(<= ~counter~0 5)} 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); {60542#(<= ~counter~0 5)} is VALID [2022-04-28 13:29:04,600 INFO L290 TraceCheckUtils]: 91: Hoare triple {60542#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {60542#(<= ~counter~0 5)} is VALID [2022-04-28 13:29:04,601 INFO L290 TraceCheckUtils]: 92: Hoare triple {60542#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {60585#(<= ~counter~0 6)} is VALID [2022-04-28 13:29:04,601 INFO L290 TraceCheckUtils]: 93: Hoare triple {60585#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {60585#(<= ~counter~0 6)} is VALID [2022-04-28 13:29:04,602 INFO L272 TraceCheckUtils]: 94: Hoare triple {60585#(<= ~counter~0 6)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {60585#(<= ~counter~0 6)} is VALID [2022-04-28 13:29:04,602 INFO L290 TraceCheckUtils]: 95: Hoare triple {60585#(<= ~counter~0 6)} ~cond := #in~cond; {60585#(<= ~counter~0 6)} is VALID [2022-04-28 13:29:04,602 INFO L290 TraceCheckUtils]: 96: Hoare triple {60585#(<= ~counter~0 6)} assume !(0 == ~cond); {60585#(<= ~counter~0 6)} is VALID [2022-04-28 13:29:04,602 INFO L290 TraceCheckUtils]: 97: Hoare triple {60585#(<= ~counter~0 6)} assume true; {60585#(<= ~counter~0 6)} is VALID [2022-04-28 13:29:04,603 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {60585#(<= ~counter~0 6)} {60585#(<= ~counter~0 6)} #84#return; {60585#(<= ~counter~0 6)} is VALID [2022-04-28 13:29:04,603 INFO L272 TraceCheckUtils]: 99: Hoare triple {60585#(<= ~counter~0 6)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {60585#(<= ~counter~0 6)} is VALID [2022-04-28 13:29:04,603 INFO L290 TraceCheckUtils]: 100: Hoare triple {60585#(<= ~counter~0 6)} ~cond := #in~cond; {60585#(<= ~counter~0 6)} is VALID [2022-04-28 13:29:04,604 INFO L290 TraceCheckUtils]: 101: Hoare triple {60585#(<= ~counter~0 6)} assume !(0 == ~cond); {60585#(<= ~counter~0 6)} is VALID [2022-04-28 13:29:04,604 INFO L290 TraceCheckUtils]: 102: Hoare triple {60585#(<= ~counter~0 6)} assume true; {60585#(<= ~counter~0 6)} is VALID [2022-04-28 13:29:04,604 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {60585#(<= ~counter~0 6)} {60585#(<= ~counter~0 6)} #86#return; {60585#(<= ~counter~0 6)} is VALID [2022-04-28 13:29:04,605 INFO L290 TraceCheckUtils]: 104: Hoare triple {60585#(<= ~counter~0 6)} 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); {60585#(<= ~counter~0 6)} is VALID [2022-04-28 13:29:04,605 INFO L290 TraceCheckUtils]: 105: Hoare triple {60585#(<= ~counter~0 6)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {60585#(<= ~counter~0 6)} is VALID [2022-04-28 13:29:04,606 INFO L290 TraceCheckUtils]: 106: Hoare triple {60585#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {60628#(<= ~counter~0 7)} is VALID [2022-04-28 13:29:04,606 INFO L290 TraceCheckUtils]: 107: Hoare triple {60628#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {60628#(<= ~counter~0 7)} is VALID [2022-04-28 13:29:04,606 INFO L272 TraceCheckUtils]: 108: Hoare triple {60628#(<= ~counter~0 7)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {60628#(<= ~counter~0 7)} is VALID [2022-04-28 13:29:04,607 INFO L290 TraceCheckUtils]: 109: Hoare triple {60628#(<= ~counter~0 7)} ~cond := #in~cond; {60628#(<= ~counter~0 7)} is VALID [2022-04-28 13:29:04,607 INFO L290 TraceCheckUtils]: 110: Hoare triple {60628#(<= ~counter~0 7)} assume !(0 == ~cond); {60628#(<= ~counter~0 7)} is VALID [2022-04-28 13:29:04,607 INFO L290 TraceCheckUtils]: 111: Hoare triple {60628#(<= ~counter~0 7)} assume true; {60628#(<= ~counter~0 7)} is VALID [2022-04-28 13:29:04,608 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {60628#(<= ~counter~0 7)} {60628#(<= ~counter~0 7)} #84#return; {60628#(<= ~counter~0 7)} is VALID [2022-04-28 13:29:04,608 INFO L272 TraceCheckUtils]: 113: Hoare triple {60628#(<= ~counter~0 7)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {60628#(<= ~counter~0 7)} is VALID [2022-04-28 13:29:04,608 INFO L290 TraceCheckUtils]: 114: Hoare triple {60628#(<= ~counter~0 7)} ~cond := #in~cond; {60628#(<= ~counter~0 7)} is VALID [2022-04-28 13:29:04,608 INFO L290 TraceCheckUtils]: 115: Hoare triple {60628#(<= ~counter~0 7)} assume !(0 == ~cond); {60628#(<= ~counter~0 7)} is VALID [2022-04-28 13:29:04,609 INFO L290 TraceCheckUtils]: 116: Hoare triple {60628#(<= ~counter~0 7)} assume true; {60628#(<= ~counter~0 7)} is VALID [2022-04-28 13:29:04,609 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {60628#(<= ~counter~0 7)} {60628#(<= ~counter~0 7)} #86#return; {60628#(<= ~counter~0 7)} is VALID [2022-04-28 13:29:04,609 INFO L290 TraceCheckUtils]: 118: Hoare triple {60628#(<= ~counter~0 7)} 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); {60628#(<= ~counter~0 7)} is VALID [2022-04-28 13:29:04,610 INFO L290 TraceCheckUtils]: 119: Hoare triple {60628#(<= ~counter~0 7)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {60628#(<= ~counter~0 7)} is VALID [2022-04-28 13:29:04,611 INFO L290 TraceCheckUtils]: 120: Hoare triple {60628#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {60671#(<= ~counter~0 8)} is VALID [2022-04-28 13:29:04,611 INFO L290 TraceCheckUtils]: 121: Hoare triple {60671#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {60671#(<= ~counter~0 8)} is VALID [2022-04-28 13:29:04,611 INFO L272 TraceCheckUtils]: 122: Hoare triple {60671#(<= ~counter~0 8)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {60671#(<= ~counter~0 8)} is VALID [2022-04-28 13:29:04,612 INFO L290 TraceCheckUtils]: 123: Hoare triple {60671#(<= ~counter~0 8)} ~cond := #in~cond; {60671#(<= ~counter~0 8)} is VALID [2022-04-28 13:29:04,612 INFO L290 TraceCheckUtils]: 124: Hoare triple {60671#(<= ~counter~0 8)} assume !(0 == ~cond); {60671#(<= ~counter~0 8)} is VALID [2022-04-28 13:29:04,612 INFO L290 TraceCheckUtils]: 125: Hoare triple {60671#(<= ~counter~0 8)} assume true; {60671#(<= ~counter~0 8)} is VALID [2022-04-28 13:29:04,612 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {60671#(<= ~counter~0 8)} {60671#(<= ~counter~0 8)} #84#return; {60671#(<= ~counter~0 8)} is VALID [2022-04-28 13:29:04,613 INFO L272 TraceCheckUtils]: 127: Hoare triple {60671#(<= ~counter~0 8)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {60671#(<= ~counter~0 8)} is VALID [2022-04-28 13:29:04,613 INFO L290 TraceCheckUtils]: 128: Hoare triple {60671#(<= ~counter~0 8)} ~cond := #in~cond; {60671#(<= ~counter~0 8)} is VALID [2022-04-28 13:29:04,613 INFO L290 TraceCheckUtils]: 129: Hoare triple {60671#(<= ~counter~0 8)} assume !(0 == ~cond); {60671#(<= ~counter~0 8)} is VALID [2022-04-28 13:29:04,614 INFO L290 TraceCheckUtils]: 130: Hoare triple {60671#(<= ~counter~0 8)} assume true; {60671#(<= ~counter~0 8)} is VALID [2022-04-28 13:29:04,614 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {60671#(<= ~counter~0 8)} {60671#(<= ~counter~0 8)} #86#return; {60671#(<= ~counter~0 8)} is VALID [2022-04-28 13:29:04,614 INFO L290 TraceCheckUtils]: 132: Hoare triple {60671#(<= ~counter~0 8)} 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); {60671#(<= ~counter~0 8)} is VALID [2022-04-28 13:29:04,615 INFO L290 TraceCheckUtils]: 133: Hoare triple {60671#(<= ~counter~0 8)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {60671#(<= ~counter~0 8)} is VALID [2022-04-28 13:29:04,615 INFO L290 TraceCheckUtils]: 134: Hoare triple {60671#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {60714#(<= ~counter~0 9)} is VALID [2022-04-28 13:29:04,616 INFO L290 TraceCheckUtils]: 135: Hoare triple {60714#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {60714#(<= ~counter~0 9)} is VALID [2022-04-28 13:29:04,616 INFO L272 TraceCheckUtils]: 136: Hoare triple {60714#(<= ~counter~0 9)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {60714#(<= ~counter~0 9)} is VALID [2022-04-28 13:29:04,616 INFO L290 TraceCheckUtils]: 137: Hoare triple {60714#(<= ~counter~0 9)} ~cond := #in~cond; {60714#(<= ~counter~0 9)} is VALID [2022-04-28 13:29:04,617 INFO L290 TraceCheckUtils]: 138: Hoare triple {60714#(<= ~counter~0 9)} assume !(0 == ~cond); {60714#(<= ~counter~0 9)} is VALID [2022-04-28 13:29:04,617 INFO L290 TraceCheckUtils]: 139: Hoare triple {60714#(<= ~counter~0 9)} assume true; {60714#(<= ~counter~0 9)} is VALID [2022-04-28 13:29:04,617 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {60714#(<= ~counter~0 9)} {60714#(<= ~counter~0 9)} #84#return; {60714#(<= ~counter~0 9)} is VALID [2022-04-28 13:29:04,618 INFO L272 TraceCheckUtils]: 141: Hoare triple {60714#(<= ~counter~0 9)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {60714#(<= ~counter~0 9)} is VALID [2022-04-28 13:29:04,618 INFO L290 TraceCheckUtils]: 142: Hoare triple {60714#(<= ~counter~0 9)} ~cond := #in~cond; {60714#(<= ~counter~0 9)} is VALID [2022-04-28 13:29:04,618 INFO L290 TraceCheckUtils]: 143: Hoare triple {60714#(<= ~counter~0 9)} assume !(0 == ~cond); {60714#(<= ~counter~0 9)} is VALID [2022-04-28 13:29:04,618 INFO L290 TraceCheckUtils]: 144: Hoare triple {60714#(<= ~counter~0 9)} assume true; {60714#(<= ~counter~0 9)} is VALID [2022-04-28 13:29:04,619 INFO L284 TraceCheckUtils]: 145: Hoare quadruple {60714#(<= ~counter~0 9)} {60714#(<= ~counter~0 9)} #86#return; {60714#(<= ~counter~0 9)} is VALID [2022-04-28 13:29:04,619 INFO L290 TraceCheckUtils]: 146: Hoare triple {60714#(<= ~counter~0 9)} 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); {60714#(<= ~counter~0 9)} is VALID [2022-04-28 13:29:04,619 INFO L290 TraceCheckUtils]: 147: Hoare triple {60714#(<= ~counter~0 9)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {60714#(<= ~counter~0 9)} is VALID [2022-04-28 13:29:04,620 INFO L290 TraceCheckUtils]: 148: Hoare triple {60714#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {60757#(<= ~counter~0 10)} is VALID [2022-04-28 13:29:04,620 INFO L290 TraceCheckUtils]: 149: Hoare triple {60757#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {60757#(<= ~counter~0 10)} is VALID [2022-04-28 13:29:04,621 INFO L272 TraceCheckUtils]: 150: Hoare triple {60757#(<= ~counter~0 10)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {60757#(<= ~counter~0 10)} is VALID [2022-04-28 13:29:04,621 INFO L290 TraceCheckUtils]: 151: Hoare triple {60757#(<= ~counter~0 10)} ~cond := #in~cond; {60757#(<= ~counter~0 10)} is VALID [2022-04-28 13:29:04,621 INFO L290 TraceCheckUtils]: 152: Hoare triple {60757#(<= ~counter~0 10)} assume !(0 == ~cond); {60757#(<= ~counter~0 10)} is VALID [2022-04-28 13:29:04,622 INFO L290 TraceCheckUtils]: 153: Hoare triple {60757#(<= ~counter~0 10)} assume true; {60757#(<= ~counter~0 10)} is VALID [2022-04-28 13:29:04,622 INFO L284 TraceCheckUtils]: 154: Hoare quadruple {60757#(<= ~counter~0 10)} {60757#(<= ~counter~0 10)} #84#return; {60757#(<= ~counter~0 10)} is VALID [2022-04-28 13:29:04,623 INFO L272 TraceCheckUtils]: 155: Hoare triple {60757#(<= ~counter~0 10)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {60757#(<= ~counter~0 10)} is VALID [2022-04-28 13:29:04,623 INFO L290 TraceCheckUtils]: 156: Hoare triple {60757#(<= ~counter~0 10)} ~cond := #in~cond; {60757#(<= ~counter~0 10)} is VALID [2022-04-28 13:29:04,623 INFO L290 TraceCheckUtils]: 157: Hoare triple {60757#(<= ~counter~0 10)} assume !(0 == ~cond); {60757#(<= ~counter~0 10)} is VALID [2022-04-28 13:29:04,623 INFO L290 TraceCheckUtils]: 158: Hoare triple {60757#(<= ~counter~0 10)} assume true; {60757#(<= ~counter~0 10)} is VALID [2022-04-28 13:29:04,624 INFO L284 TraceCheckUtils]: 159: Hoare quadruple {60757#(<= ~counter~0 10)} {60757#(<= ~counter~0 10)} #86#return; {60757#(<= ~counter~0 10)} is VALID [2022-04-28 13:29:04,624 INFO L290 TraceCheckUtils]: 160: Hoare triple {60757#(<= ~counter~0 10)} 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); {60757#(<= ~counter~0 10)} is VALID [2022-04-28 13:29:04,624 INFO L290 TraceCheckUtils]: 161: Hoare triple {60757#(<= ~counter~0 10)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {60757#(<= ~counter~0 10)} is VALID [2022-04-28 13:29:04,625 INFO L290 TraceCheckUtils]: 162: Hoare triple {60757#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {60800#(<= ~counter~0 11)} is VALID [2022-04-28 13:29:04,625 INFO L290 TraceCheckUtils]: 163: Hoare triple {60800#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {60800#(<= ~counter~0 11)} is VALID [2022-04-28 13:29:04,626 INFO L272 TraceCheckUtils]: 164: Hoare triple {60800#(<= ~counter~0 11)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {60800#(<= ~counter~0 11)} is VALID [2022-04-28 13:29:04,626 INFO L290 TraceCheckUtils]: 165: Hoare triple {60800#(<= ~counter~0 11)} ~cond := #in~cond; {60800#(<= ~counter~0 11)} is VALID [2022-04-28 13:29:04,626 INFO L290 TraceCheckUtils]: 166: Hoare triple {60800#(<= ~counter~0 11)} assume !(0 == ~cond); {60800#(<= ~counter~0 11)} is VALID [2022-04-28 13:29:04,627 INFO L290 TraceCheckUtils]: 167: Hoare triple {60800#(<= ~counter~0 11)} assume true; {60800#(<= ~counter~0 11)} is VALID [2022-04-28 13:29:04,627 INFO L284 TraceCheckUtils]: 168: Hoare quadruple {60800#(<= ~counter~0 11)} {60800#(<= ~counter~0 11)} #84#return; {60800#(<= ~counter~0 11)} is VALID [2022-04-28 13:29:04,628 INFO L272 TraceCheckUtils]: 169: Hoare triple {60800#(<= ~counter~0 11)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {60800#(<= ~counter~0 11)} is VALID [2022-04-28 13:29:04,628 INFO L290 TraceCheckUtils]: 170: Hoare triple {60800#(<= ~counter~0 11)} ~cond := #in~cond; {60800#(<= ~counter~0 11)} is VALID [2022-04-28 13:29:04,628 INFO L290 TraceCheckUtils]: 171: Hoare triple {60800#(<= ~counter~0 11)} assume !(0 == ~cond); {60800#(<= ~counter~0 11)} is VALID [2022-04-28 13:29:04,628 INFO L290 TraceCheckUtils]: 172: Hoare triple {60800#(<= ~counter~0 11)} assume true; {60800#(<= ~counter~0 11)} is VALID [2022-04-28 13:29:04,629 INFO L284 TraceCheckUtils]: 173: Hoare quadruple {60800#(<= ~counter~0 11)} {60800#(<= ~counter~0 11)} #86#return; {60800#(<= ~counter~0 11)} is VALID [2022-04-28 13:29:04,629 INFO L290 TraceCheckUtils]: 174: Hoare triple {60800#(<= ~counter~0 11)} 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); {60800#(<= ~counter~0 11)} is VALID [2022-04-28 13:29:04,629 INFO L290 TraceCheckUtils]: 175: Hoare triple {60800#(<= ~counter~0 11)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {60800#(<= ~counter~0 11)} is VALID [2022-04-28 13:29:04,630 INFO L290 TraceCheckUtils]: 176: Hoare triple {60800#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {60843#(<= |main_#t~post6| 11)} is VALID [2022-04-28 13:29:04,630 INFO L290 TraceCheckUtils]: 177: Hoare triple {60843#(<= |main_#t~post6| 11)} assume !(#t~post6 < 20);havoc #t~post6; {60299#false} is VALID [2022-04-28 13:29:04,630 INFO L272 TraceCheckUtils]: 178: Hoare triple {60299#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {60299#false} is VALID [2022-04-28 13:29:04,630 INFO L290 TraceCheckUtils]: 179: Hoare triple {60299#false} ~cond := #in~cond; {60299#false} is VALID [2022-04-28 13:29:04,630 INFO L290 TraceCheckUtils]: 180: Hoare triple {60299#false} assume 0 == ~cond; {60299#false} is VALID [2022-04-28 13:29:04,630 INFO L290 TraceCheckUtils]: 181: Hoare triple {60299#false} assume !false; {60299#false} is VALID [2022-04-28 13:29:04,631 INFO L134 CoverageAnalysis]: Checked inductivity of 1528 backedges. 52 proven. 1400 refuted. 0 times theorem prover too weak. 76 trivial. 0 not checked. [2022-04-28 13:29:04,631 INFO L328 TraceCheckSpWp]: Computing backward predicates...