/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/hard-ll_unwindbound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 12:53:05,467 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 12:53:05,469 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 12:53:05,512 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 12:53:05,513 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 12:53:05,514 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 12:53:05,516 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 12:53:05,519 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 12:53:05,520 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 12:53:05,524 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 12:53:05,525 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 12:53:05,526 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 12:53:05,527 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 12:53:05,528 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 12:53:05,529 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 12:53:05,532 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 12:53:05,532 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 12:53:05,533 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 12:53:05,535 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 12:53:05,541 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 12:53:05,542 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 12:53:05,543 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 12:53:05,544 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 12:53:05,545 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 12:53:05,546 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 12:53:05,552 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 12:53:05,552 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 12:53:05,552 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 12:53:05,553 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 12:53:05,553 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 12:53:05,554 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 12:53:05,554 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 12:53:05,556 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 12:53:05,556 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 12:53:05,557 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 12:53:05,557 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 12:53:05,557 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 12:53:05,558 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 12:53:05,558 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 12:53:05,558 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 12:53:05,559 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 12:53:05,560 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 12:53:05,561 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 12:53:05,574 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 12:53:05,574 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 12:53:05,575 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 12:53:05,575 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 12:53:05,575 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 12:53:05,575 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 12:53:05,575 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 12:53:05,576 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 12:53:05,576 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 12:53:05,576 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 12:53:05,577 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 12:53:05,577 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 12:53:05,577 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 12:53:05,577 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 12:53:05,577 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 12:53:05,577 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 12:53:05,577 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 12:53:05,577 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 12:53:05,579 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 12:53:05,579 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 12:53:05,582 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 12:53:05,582 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 12:53:05,584 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-08 12:53:05,775 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 12:53:05,793 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 12:53:05,795 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 12:53:05,795 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 12:53:05,797 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 12:53:05,797 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound5.c [2022-04-08 12:53:05,843 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7cdc13434/33a645c8844247e69631c1b4e25a7cc1/FLAGa6bb018ce [2022-04-08 12:53:06,198 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 12:53:06,199 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound5.c [2022-04-08 12:53:06,204 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7cdc13434/33a645c8844247e69631c1b4e25a7cc1/FLAGa6bb018ce [2022-04-08 12:53:06,214 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7cdc13434/33a645c8844247e69631c1b4e25a7cc1 [2022-04-08 12:53:06,216 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 12:53:06,217 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 12:53:06,218 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 12:53:06,218 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 12:53:06,221 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 12:53:06,221 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 12:53:06" (1/1) ... [2022-04-08 12:53:06,222 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@13ac96cb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:53:06, skipping insertion in model container [2022-04-08 12:53:06,222 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 12:53:06" (1/1) ... [2022-04-08 12:53:06,228 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 12:53:06,239 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 12:53:06,368 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/hard-ll_unwindbound5.c[538,551] [2022-04-08 12:53:06,398 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 12:53:06,406 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 12:53:06,416 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/hard-ll_unwindbound5.c[538,551] [2022-04-08 12:53:06,424 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 12:53:06,435 INFO L208 MainTranslator]: Completed translation [2022-04-08 12:53:06,436 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:53:06 WrapperNode [2022-04-08 12:53:06,436 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 12:53:06,437 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 12:53:06,437 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 12:53:06,437 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 12:53:06,449 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:53:06" (1/1) ... [2022-04-08 12:53:06,450 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:53:06" (1/1) ... [2022-04-08 12:53:06,455 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:53:06" (1/1) ... [2022-04-08 12:53:06,455 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:53:06" (1/1) ... [2022-04-08 12:53:06,464 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:53:06" (1/1) ... [2022-04-08 12:53:06,469 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:53:06" (1/1) ... [2022-04-08 12:53:06,470 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:53:06" (1/1) ... [2022-04-08 12:53:06,476 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 12:53:06,477 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 12:53:06,477 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 12:53:06,477 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 12:53:06,478 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:53:06" (1/1) ... [2022-04-08 12:53:06,483 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 12:53:06,492 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:06,502 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-08 12:53:06,507 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-08 12:53:06,527 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 12:53:06,527 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 12:53:06,527 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 12:53:06,528 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 12:53:06,528 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 12:53:06,528 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 12:53:06,528 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 12:53:06,528 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 12:53:06,528 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 12:53:06,528 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 12:53:06,529 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-08 12:53:06,529 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 12:53:06,529 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 12:53:06,529 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 12:53:06,529 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 12:53:06,529 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 12:53:06,529 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 12:53:06,530 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 12:53:06,530 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 12:53:06,530 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 12:53:06,574 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 12:53:06,575 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 12:53:06,749 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 12:53:06,755 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 12:53:06,756 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 12:53:06,757 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 12:53:06 BoogieIcfgContainer [2022-04-08 12:53:06,757 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 12:53:06,779 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 12:53:06,779 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 12:53:06,782 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 12:53:06,782 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 12:53:06" (1/3) ... [2022-04-08 12:53:06,783 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4286867e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 12:53:06, skipping insertion in model container [2022-04-08 12:53:06,783 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:53:06" (2/3) ... [2022-04-08 12:53:06,783 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4286867e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 12:53:06, skipping insertion in model container [2022-04-08 12:53:06,784 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 12:53:06" (3/3) ... [2022-04-08 12:53:06,785 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_unwindbound5.c [2022-04-08 12:53:06,789 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 12:53:06,789 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 12:53:06,818 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 12:53:06,823 INFO L340 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 [2022-04-08 12:53:06,823 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 12:53:06,839 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 22 states have internal predecessors, (31), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 12:53:06,845 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-08 12:53:06,845 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:06,846 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:06,846 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:06,851 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:06,851 INFO L85 PathProgramCache]: Analyzing trace with hash 1191571617, now seen corresponding path program 1 times [2022-04-08 12:53:06,858 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:06,858 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [290221555] [2022-04-08 12:53:06,866 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:53:06,866 INFO L85 PathProgramCache]: Analyzing trace with hash 1191571617, now seen corresponding path program 2 times [2022-04-08 12:53:06,869 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:06,869 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1590839814] [2022-04-08 12:53:06,869 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:06,870 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:06,944 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:06,995 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 12:53:06,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:07,013 INFO L290 TraceCheckUtils]: 0: Hoare triple {49#(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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40#true} is VALID [2022-04-08 12:53:07,014 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-08 12:53:07,014 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-08 12:53:07,015 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 12:53:07,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:07,023 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:53:07,024 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:53:07,024 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:53:07,024 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #80#return; {41#false} is VALID [2022-04-08 12:53:07,025 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 12:53:07,026 INFO L290 TraceCheckUtils]: 1: Hoare triple {49#(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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40#true} is VALID [2022-04-08 12:53:07,026 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-08 12:53:07,026 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-08 12:53:07,026 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret8 := main(); {40#true} is VALID [2022-04-08 12:53:07,026 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {40#true} is VALID [2022-04-08 12:53:07,027 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-08 12:53:07,027 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:53:07,028 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:53:07,028 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:53:07,028 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #80#return; {41#false} is VALID [2022-04-08 12:53:07,028 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {41#false} is VALID [2022-04-08 12:53:07,029 INFO L290 TraceCheckUtils]: 12: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-08 12:53:07,029 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-08 12:53:07,029 INFO L272 TraceCheckUtils]: 14: Hoare triple {41#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {41#false} is VALID [2022-04-08 12:53:07,029 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-08 12:53:07,030 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-08 12:53:07,030 INFO L290 TraceCheckUtils]: 17: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-08 12:53:07,030 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-08 12:53:07,031 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:07,031 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1590839814] [2022-04-08 12:53:07,032 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1590839814] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:07,032 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:07,032 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 12:53:07,034 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:07,034 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [290221555] [2022-04-08 12:53:07,035 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [290221555] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:07,035 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:07,035 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 12:53:07,035 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [147278221] [2022-04-08 12:53:07,036 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:07,040 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-08 12:53:07,041 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:07,044 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:53:07,065 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:07,066 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 12:53:07,066 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:07,082 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 12:53:07,083 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 12:53:07,087 INFO L87 Difference]: Start difference. First operand has 37 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 22 states have internal predecessors, (31), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:53:07,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:07,325 INFO L93 Difference]: Finished difference Result 66 states and 101 transitions. [2022-04-08 12:53:07,326 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 12:53:07,327 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-08 12:53:07,327 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:07,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:53:07,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 101 transitions. [2022-04-08 12:53:07,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:53:07,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 101 transitions. [2022-04-08 12:53:07,357 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 101 transitions. [2022-04-08 12:53:07,479 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-08 12:53:07,489 INFO L225 Difference]: With dead ends: 66 [2022-04-08 12:53:07,507 INFO L226 Difference]: Without dead ends: 33 [2022-04-08 12:53:07,510 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 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-08 12:53:07,515 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 33 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:07,516 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 49 Invalid, 33 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:53:07,547 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-08 12:53:07,569 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2022-04-08 12:53:07,570 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:07,571 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:07,572 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:07,573 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:07,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:07,579 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-08 12:53:07,579 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-08 12:53:07,580 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:07,580 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:07,581 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 33 states. [2022-04-08 12:53:07,582 INFO L87 Difference]: Start difference. First operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 33 states. [2022-04-08 12:53:07,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:07,589 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-08 12:53:07,589 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-08 12:53:07,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:07,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:07,594 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:07,601 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:07,602 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:07,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-08 12:53:07,606 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 18 [2022-04-08 12:53:07,606 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:07,606 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-08 12:53:07,607 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:53:07,607 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 42 transitions. [2022-04-08 12:53:07,651 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-08 12:53:07,652 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-08 12:53:07,652 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-08 12:53:07,652 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:07,652 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:07,653 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 12:53:07,653 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:07,654 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:07,654 INFO L85 PathProgramCache]: Analyzing trace with hash 336486197, now seen corresponding path program 1 times [2022-04-08 12:53:07,655 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:07,655 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1159572708] [2022-04-08 12:53:07,658 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:53:07,658 INFO L85 PathProgramCache]: Analyzing trace with hash 336486197, now seen corresponding path program 2 times [2022-04-08 12:53:07,658 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:07,659 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1481949474] [2022-04-08 12:53:07,659 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:07,659 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:07,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:07,777 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 12:53:07,780 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:07,785 INFO L290 TraceCheckUtils]: 0: Hoare triple {326#(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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {314#true} is VALID [2022-04-08 12:53:07,786 INFO L290 TraceCheckUtils]: 1: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-08 12:53:07,786 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {314#true} {314#true} #96#return; {314#true} is VALID [2022-04-08 12:53:07,786 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 12:53:07,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:07,791 INFO L290 TraceCheckUtils]: 0: Hoare triple {314#true} ~cond := #in~cond; {314#true} is VALID [2022-04-08 12:53:07,792 INFO L290 TraceCheckUtils]: 1: Hoare triple {314#true} assume !(0 == ~cond); {314#true} is VALID [2022-04-08 12:53:07,792 INFO L290 TraceCheckUtils]: 2: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-08 12:53:07,792 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {314#true} {314#true} #80#return; {314#true} is VALID [2022-04-08 12:53:07,793 INFO L272 TraceCheckUtils]: 0: Hoare triple {314#true} call ULTIMATE.init(); {326#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 12:53:07,793 INFO L290 TraceCheckUtils]: 1: Hoare triple {326#(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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {314#true} is VALID [2022-04-08 12:53:07,793 INFO L290 TraceCheckUtils]: 2: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-08 12:53:07,793 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {314#true} {314#true} #96#return; {314#true} is VALID [2022-04-08 12:53:07,794 INFO L272 TraceCheckUtils]: 4: Hoare triple {314#true} call #t~ret8 := main(); {314#true} is VALID [2022-04-08 12:53:07,794 INFO L290 TraceCheckUtils]: 5: Hoare triple {314#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {314#true} is VALID [2022-04-08 12:53:07,794 INFO L272 TraceCheckUtils]: 6: Hoare triple {314#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {314#true} is VALID [2022-04-08 12:53:07,794 INFO L290 TraceCheckUtils]: 7: Hoare triple {314#true} ~cond := #in~cond; {314#true} is VALID [2022-04-08 12:53:07,794 INFO L290 TraceCheckUtils]: 8: Hoare triple {314#true} assume !(0 == ~cond); {314#true} is VALID [2022-04-08 12:53:07,795 INFO L290 TraceCheckUtils]: 9: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-08 12:53:07,795 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {314#true} {314#true} #80#return; {314#true} is VALID [2022-04-08 12:53:07,795 INFO L290 TraceCheckUtils]: 11: Hoare triple {314#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {323#(= main_~q~0 0)} is VALID [2022-04-08 12:53:07,796 INFO L290 TraceCheckUtils]: 12: Hoare triple {323#(= main_~q~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {323#(= main_~q~0 0)} is VALID [2022-04-08 12:53:07,796 INFO L290 TraceCheckUtils]: 13: Hoare triple {323#(= main_~q~0 0)} assume !!(#t~post6 < 5);havoc #t~post6; {323#(= main_~q~0 0)} is VALID [2022-04-08 12:53:07,797 INFO L272 TraceCheckUtils]: 14: Hoare triple {323#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {324#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:53:07,797 INFO L290 TraceCheckUtils]: 15: Hoare triple {324#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {325#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:53:07,798 INFO L290 TraceCheckUtils]: 16: Hoare triple {325#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {315#false} is VALID [2022-04-08 12:53:07,798 INFO L290 TraceCheckUtils]: 17: Hoare triple {315#false} assume !false; {315#false} is VALID [2022-04-08 12:53:07,798 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-08 12:53:07,799 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:07,799 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1481949474] [2022-04-08 12:53:07,799 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1481949474] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:07,799 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:07,799 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:53:07,799 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:07,800 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1159572708] [2022-04-08 12:53:07,800 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1159572708] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:07,800 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:07,800 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:53:07,800 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [854649769] [2022-04-08 12:53:07,800 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:07,801 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-08 12:53:07,801 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:07,801 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:53:07,816 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:07,816 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 12:53:07,817 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:07,817 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 12:53:07,817 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 12:53:07,817 INFO L87 Difference]: Start difference. First operand 32 states and 42 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:53:08,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:08,156 INFO L93 Difference]: Finished difference Result 47 states and 62 transitions. [2022-04-08 12:53:08,157 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:53:08,157 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-08 12:53:08,157 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:08,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:53:08,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-08 12:53:08,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:53:08,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-08 12:53:08,161 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-08 12:53:08,221 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:08,223 INFO L225 Difference]: With dead ends: 47 [2022-04-08 12:53:08,223 INFO L226 Difference]: Without dead ends: 45 [2022-04-08 12:53:08,224 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 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-08 12:53:08,225 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 28 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 99 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 90 SdHoareTripleChecker+Invalid, 113 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 99 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:08,225 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 90 Invalid, 113 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 99 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:53:08,226 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-08 12:53:08,231 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 36. [2022-04-08 12:53:08,231 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:08,232 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:08,232 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:08,233 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:08,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:08,235 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-08 12:53:08,235 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 60 transitions. [2022-04-08 12:53:08,236 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:08,236 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:08,237 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-08 12:53:08,237 INFO L87 Difference]: Start difference. First operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-08 12:53:08,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:08,239 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-08 12:53:08,240 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 60 transitions. [2022-04-08 12:53:08,240 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:08,240 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:08,241 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:08,241 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:08,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:08,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 45 transitions. [2022-04-08 12:53:08,243 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 45 transitions. Word has length 18 [2022-04-08 12:53:08,243 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:08,243 INFO L478 AbstractCegarLoop]: Abstraction has 36 states and 45 transitions. [2022-04-08 12:53:08,243 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:53:08,244 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 45 transitions. [2022-04-08 12:53:08,286 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-08 12:53:08,286 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 45 transitions. [2022-04-08 12:53:08,287 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-04-08 12:53:08,287 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:08,287 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:08,287 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 12:53:08,287 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:08,288 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:08,288 INFO L85 PathProgramCache]: Analyzing trace with hash -1819267188, now seen corresponding path program 1 times [2022-04-08 12:53:08,288 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:08,288 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [404739626] [2022-04-08 12:53:08,289 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:53:08,289 INFO L85 PathProgramCache]: Analyzing trace with hash -1819267188, now seen corresponding path program 2 times [2022-04-08 12:53:08,289 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:08,289 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [426981325] [2022-04-08 12:53:08,289 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:08,289 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:08,309 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:53:08,310 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [790634973] [2022-04-08 12:53:08,310 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:53:08,310 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:08,310 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:08,316 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-08 12:53:08,371 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-08 12:53:08,388 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 12:53:08,388 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:53:08,390 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 12:53:08,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:08,401 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:53:08,524 INFO L272 TraceCheckUtils]: 0: Hoare triple {593#true} call ULTIMATE.init(); {593#true} is VALID [2022-04-08 12:53:08,525 INFO L290 TraceCheckUtils]: 1: Hoare triple {593#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:08,526 INFO L290 TraceCheckUtils]: 2: Hoare triple {601#(<= ~counter~0 0)} assume true; {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:08,526 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {601#(<= ~counter~0 0)} {593#true} #96#return; {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:08,527 INFO L272 TraceCheckUtils]: 4: Hoare triple {601#(<= ~counter~0 0)} call #t~ret8 := main(); {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:08,527 INFO L290 TraceCheckUtils]: 5: Hoare triple {601#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:08,528 INFO L272 TraceCheckUtils]: 6: Hoare triple {601#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:08,528 INFO L290 TraceCheckUtils]: 7: Hoare triple {601#(<= ~counter~0 0)} ~cond := #in~cond; {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:08,529 INFO L290 TraceCheckUtils]: 8: Hoare triple {601#(<= ~counter~0 0)} assume !(0 == ~cond); {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:08,529 INFO L290 TraceCheckUtils]: 9: Hoare triple {601#(<= ~counter~0 0)} assume true; {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:08,530 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {601#(<= ~counter~0 0)} {601#(<= ~counter~0 0)} #80#return; {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:08,530 INFO L290 TraceCheckUtils]: 11: Hoare triple {601#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:08,530 INFO L290 TraceCheckUtils]: 12: Hoare triple {601#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {635#(<= |main_#t~post6| 0)} is VALID [2022-04-08 12:53:08,531 INFO L290 TraceCheckUtils]: 13: Hoare triple {635#(<= |main_#t~post6| 0)} assume !(#t~post6 < 5);havoc #t~post6; {594#false} is VALID [2022-04-08 12:53:08,531 INFO L290 TraceCheckUtils]: 14: Hoare triple {594#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {594#false} is VALID [2022-04-08 12:53:08,531 INFO L290 TraceCheckUtils]: 15: Hoare triple {594#false} assume !(#t~post7 < 5);havoc #t~post7; {594#false} is VALID [2022-04-08 12:53:08,532 INFO L272 TraceCheckUtils]: 16: Hoare triple {594#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {594#false} is VALID [2022-04-08 12:53:08,532 INFO L290 TraceCheckUtils]: 17: Hoare triple {594#false} ~cond := #in~cond; {594#false} is VALID [2022-04-08 12:53:08,532 INFO L290 TraceCheckUtils]: 18: Hoare triple {594#false} assume 0 == ~cond; {594#false} is VALID [2022-04-08 12:53:08,532 INFO L290 TraceCheckUtils]: 19: Hoare triple {594#false} assume !false; {594#false} is VALID [2022-04-08 12:53:08,532 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-08 12:53:08,532 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:53:08,533 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:08,533 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [426981325] [2022-04-08 12:53:08,533 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:53:08,533 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [790634973] [2022-04-08 12:53:08,533 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [790634973] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:08,533 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:08,534 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 12:53:08,534 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:08,534 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [404739626] [2022-04-08 12:53:08,534 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [404739626] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:08,534 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:08,535 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 12:53:08,535 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [947900062] [2022-04-08 12:53:08,535 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:08,535 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-08 12:53:08,535 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:08,536 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 12:53:08,550 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:08,550 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-08 12:53:08,550 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:08,551 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-08 12:53:08,551 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-08 12:53:08,551 INFO L87 Difference]: Start difference. First operand 36 states and 45 transitions. Second operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 12:53:08,655 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:08,655 INFO L93 Difference]: Finished difference Result 52 states and 67 transitions. [2022-04-08 12:53:08,655 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-08 12:53:08,656 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-08 12:53:08,657 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:08,657 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 12:53:08,660 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2022-04-08 12:53:08,660 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 12:53:08,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2022-04-08 12:53:08,679 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 64 transitions. [2022-04-08 12:53:08,728 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-08 12:53:08,729 INFO L225 Difference]: With dead ends: 52 [2022-04-08 12:53:08,729 INFO L226 Difference]: Without dead ends: 38 [2022-04-08 12:53:08,730 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-08 12:53:08,731 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 0 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 107 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:08,731 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 107 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:53:08,732 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-08 12:53:08,743 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 38. [2022-04-08 12:53:08,743 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:08,743 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:08,744 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:08,744 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:08,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:08,746 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2022-04-08 12:53:08,746 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-08 12:53:08,747 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:08,747 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:08,747 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 38 states. [2022-04-08 12:53:08,748 INFO L87 Difference]: Start difference. First operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 38 states. [2022-04-08 12:53:08,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:08,750 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2022-04-08 12:53:08,750 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-08 12:53:08,750 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:08,750 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:08,750 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:08,751 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:08,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:08,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 47 transitions. [2022-04-08 12:53:08,752 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 47 transitions. Word has length 20 [2022-04-08 12:53:08,753 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:08,753 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 47 transitions. [2022-04-08 12:53:08,753 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 12:53:08,753 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 47 transitions. [2022-04-08 12:53:08,794 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-08 12:53:08,794 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-08 12:53:08,794 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-08 12:53:08,795 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:08,795 INFO L499 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:08,820 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-08 12:53:09,017 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:09,017 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:09,018 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:09,018 INFO L85 PathProgramCache]: Analyzing trace with hash -784889968, now seen corresponding path program 1 times [2022-04-08 12:53:09,018 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:09,018 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [917769225] [2022-04-08 12:53:09,018 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:53:09,019 INFO L85 PathProgramCache]: Analyzing trace with hash -784889968, now seen corresponding path program 2 times [2022-04-08 12:53:09,019 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:09,019 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [460279872] [2022-04-08 12:53:09,019 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:09,019 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:09,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:09,110 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 12:53:09,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:09,117 INFO L290 TraceCheckUtils]: 0: Hoare triple {928#(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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {912#true} is VALID [2022-04-08 12:53:09,118 INFO L290 TraceCheckUtils]: 1: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-08 12:53:09,118 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {912#true} {912#true} #96#return; {912#true} is VALID [2022-04-08 12:53:09,118 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 12:53:09,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:09,123 INFO L290 TraceCheckUtils]: 0: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-08 12:53:09,123 INFO L290 TraceCheckUtils]: 1: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-08 12:53:09,123 INFO L290 TraceCheckUtils]: 2: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-08 12:53:09,123 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {912#true} {912#true} #80#return; {912#true} is VALID [2022-04-08 12:53:09,123 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-04-08 12:53:09,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:09,130 INFO L290 TraceCheckUtils]: 0: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-08 12:53:09,130 INFO L290 TraceCheckUtils]: 1: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-08 12:53:09,130 INFO L290 TraceCheckUtils]: 2: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-08 12:53:09,131 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {912#true} {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #82#return; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 12:53:09,132 INFO L272 TraceCheckUtils]: 0: Hoare triple {912#true} call ULTIMATE.init(); {928#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 12:53:09,132 INFO L290 TraceCheckUtils]: 1: Hoare triple {928#(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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {912#true} is VALID [2022-04-08 12:53:09,132 INFO L290 TraceCheckUtils]: 2: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-08 12:53:09,132 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {912#true} {912#true} #96#return; {912#true} is VALID [2022-04-08 12:53:09,132 INFO L272 TraceCheckUtils]: 4: Hoare triple {912#true} call #t~ret8 := main(); {912#true} is VALID [2022-04-08 12:53:09,132 INFO L290 TraceCheckUtils]: 5: Hoare triple {912#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {912#true} is VALID [2022-04-08 12:53:09,133 INFO L272 TraceCheckUtils]: 6: Hoare triple {912#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {912#true} is VALID [2022-04-08 12:53:09,133 INFO L290 TraceCheckUtils]: 7: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-08 12:53:09,133 INFO L290 TraceCheckUtils]: 8: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-08 12:53:09,133 INFO L290 TraceCheckUtils]: 9: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-08 12:53:09,133 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {912#true} {912#true} #80#return; {912#true} is VALID [2022-04-08 12:53:09,134 INFO L290 TraceCheckUtils]: 11: Hoare triple {912#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 12:53:09,134 INFO L290 TraceCheckUtils]: 12: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 12:53:09,135 INFO L290 TraceCheckUtils]: 13: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !!(#t~post6 < 5);havoc #t~post6; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 12:53:09,135 INFO L272 TraceCheckUtils]: 14: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {912#true} is VALID [2022-04-08 12:53:09,135 INFO L290 TraceCheckUtils]: 15: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-08 12:53:09,135 INFO L290 TraceCheckUtils]: 16: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-08 12:53:09,136 INFO L290 TraceCheckUtils]: 17: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-08 12:53:09,137 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {912#true} {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #82#return; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 12:53:09,138 INFO L272 TraceCheckUtils]: 19: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {926#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:53:09,138 INFO L290 TraceCheckUtils]: 20: Hoare triple {926#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {927#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:53:09,140 INFO L290 TraceCheckUtils]: 21: Hoare triple {927#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {913#false} is VALID [2022-04-08 12:53:09,140 INFO L290 TraceCheckUtils]: 22: Hoare triple {913#false} assume !false; {913#false} is VALID [2022-04-08 12:53:09,141 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-08 12:53:09,141 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:09,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [460279872] [2022-04-08 12:53:09,141 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [460279872] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:09,141 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:09,141 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:53:09,141 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:09,142 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [917769225] [2022-04-08 12:53:09,142 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [917769225] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:09,142 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:09,142 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:53:09,142 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1370659246] [2022-04-08 12:53:09,142 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:09,144 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 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 23 [2022-04-08 12:53:09,144 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:09,144 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 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-08 12:53:09,164 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:09,164 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 12:53:09,165 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:09,165 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 12:53:09,165 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 12:53:09,166 INFO L87 Difference]: Start difference. First operand 38 states and 47 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 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-08 12:53:09,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:09,559 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-08 12:53:09,559 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:53:09,559 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 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 23 [2022-04-08 12:53:09,559 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:09,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 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-08 12:53:09,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-08 12:53:09,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 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-08 12:53:09,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-08 12:53:09,563 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-08 12:53:09,631 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:09,633 INFO L225 Difference]: With dead ends: 52 [2022-04-08 12:53:09,633 INFO L226 Difference]: Without dead ends: 50 [2022-04-08 12:53:09,633 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-08 12:53:09,634 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 23 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 112 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 126 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 112 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:09,635 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 83 Invalid, 126 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 112 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:53:09,635 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-08 12:53:09,659 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 42. [2022-04-08 12:53:09,660 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:09,660 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:09,660 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:09,661 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:09,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:09,663 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-08 12:53:09,663 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-08 12:53:09,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:09,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:09,664 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-08 12:53:09,664 INFO L87 Difference]: Start difference. First operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-08 12:53:09,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:09,666 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-08 12:53:09,666 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-08 12:53:09,667 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:09,667 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:09,667 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:09,667 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:09,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:09,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 50 transitions. [2022-04-08 12:53:09,669 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 50 transitions. Word has length 23 [2022-04-08 12:53:09,669 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:09,669 INFO L478 AbstractCegarLoop]: Abstraction has 42 states and 50 transitions. [2022-04-08 12:53:09,669 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 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-08 12:53:09,669 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 50 transitions. [2022-04-08 12:53:09,726 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:09,726 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 50 transitions. [2022-04-08 12:53:09,727 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 12:53:09,727 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:09,727 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:09,727 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-08 12:53:09,727 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:09,728 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:09,728 INFO L85 PathProgramCache]: Analyzing trace with hash -1024624683, now seen corresponding path program 1 times [2022-04-08 12:53:09,728 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:09,729 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [942463630] [2022-04-08 12:53:09,729 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:53:09,729 INFO L85 PathProgramCache]: Analyzing trace with hash -1024624683, now seen corresponding path program 2 times [2022-04-08 12:53:09,729 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:09,730 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2056786140] [2022-04-08 12:53:09,730 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:09,730 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:09,759 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:53:09,759 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1797695651] [2022-04-08 12:53:09,759 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:53:09,759 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:09,760 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:09,760 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-08 12:53:09,765 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-08 12:53:09,804 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:53:09,805 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:53:09,805 INFO L263 TraceCheckSpWp]: Trace formula consists of 100 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 12:53:09,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:09,815 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:53:09,931 INFO L272 TraceCheckUtils]: 0: Hoare triple {1227#true} call ULTIMATE.init(); {1227#true} is VALID [2022-04-08 12:53:09,931 INFO L290 TraceCheckUtils]: 1: Hoare triple {1227#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1227#true} is VALID [2022-04-08 12:53:09,931 INFO L290 TraceCheckUtils]: 2: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-08 12:53:09,931 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1227#true} {1227#true} #96#return; {1227#true} is VALID [2022-04-08 12:53:09,931 INFO L272 TraceCheckUtils]: 4: Hoare triple {1227#true} call #t~ret8 := main(); {1227#true} is VALID [2022-04-08 12:53:09,932 INFO L290 TraceCheckUtils]: 5: Hoare triple {1227#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1227#true} is VALID [2022-04-08 12:53:09,932 INFO L272 TraceCheckUtils]: 6: Hoare triple {1227#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1227#true} is VALID [2022-04-08 12:53:09,932 INFO L290 TraceCheckUtils]: 7: Hoare triple {1227#true} ~cond := #in~cond; {1227#true} is VALID [2022-04-08 12:53:09,932 INFO L290 TraceCheckUtils]: 8: Hoare triple {1227#true} assume !(0 == ~cond); {1227#true} is VALID [2022-04-08 12:53:09,932 INFO L290 TraceCheckUtils]: 9: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-08 12:53:09,932 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1227#true} {1227#true} #80#return; {1227#true} is VALID [2022-04-08 12:53:09,933 INFO L290 TraceCheckUtils]: 11: Hoare triple {1227#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:09,933 INFO L290 TraceCheckUtils]: 12: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:09,934 INFO L290 TraceCheckUtils]: 13: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:09,934 INFO L272 TraceCheckUtils]: 14: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1227#true} is VALID [2022-04-08 12:53:09,934 INFO L290 TraceCheckUtils]: 15: Hoare triple {1227#true} ~cond := #in~cond; {1227#true} is VALID [2022-04-08 12:53:09,934 INFO L290 TraceCheckUtils]: 16: Hoare triple {1227#true} assume !(0 == ~cond); {1227#true} is VALID [2022-04-08 12:53:09,934 INFO L290 TraceCheckUtils]: 17: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-08 12:53:09,935 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1227#true} {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:09,935 INFO L272 TraceCheckUtils]: 19: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1227#true} is VALID [2022-04-08 12:53:09,935 INFO L290 TraceCheckUtils]: 20: Hoare triple {1227#true} ~cond := #in~cond; {1227#true} is VALID [2022-04-08 12:53:09,936 INFO L290 TraceCheckUtils]: 21: Hoare triple {1227#true} assume !(0 == ~cond); {1227#true} is VALID [2022-04-08 12:53:09,936 INFO L290 TraceCheckUtils]: 22: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-08 12:53:09,936 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1227#true} {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:09,937 INFO L272 TraceCheckUtils]: 24: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1305#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:53:09,937 INFO L290 TraceCheckUtils]: 25: Hoare triple {1305#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1309#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:53:09,938 INFO L290 TraceCheckUtils]: 26: Hoare triple {1309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1228#false} is VALID [2022-04-08 12:53:09,938 INFO L290 TraceCheckUtils]: 27: Hoare triple {1228#false} assume !false; {1228#false} is VALID [2022-04-08 12:53:09,938 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-08 12:53:09,938 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:53:09,938 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:09,939 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2056786140] [2022-04-08 12:53:09,939 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:53:09,939 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1797695651] [2022-04-08 12:53:09,939 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1797695651] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:09,939 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:09,939 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:53:09,939 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:09,939 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [942463630] [2022-04-08 12:53:09,940 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [942463630] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:09,940 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:09,940 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:53:09,940 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1422353410] [2022-04-08 12:53:09,940 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:09,940 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-08 12:53:09,941 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:09,941 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 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-08 12:53:09,959 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:09,959 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:53:09,959 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:09,960 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:53:09,960 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:53:09,960 INFO L87 Difference]: Start difference. First operand 42 states and 50 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 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-08 12:53:10,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:10,194 INFO L93 Difference]: Finished difference Result 71 states and 93 transitions. [2022-04-08 12:53:10,194 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:53:10,194 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-08 12:53:10,194 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:10,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 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-08 12:53:10,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 87 transitions. [2022-04-08 12:53:10,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 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-08 12:53:10,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 87 transitions. [2022-04-08 12:53:10,198 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 87 transitions. [2022-04-08 12:53:10,274 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-08 12:53:10,276 INFO L225 Difference]: With dead ends: 71 [2022-04-08 12:53:10,276 INFO L226 Difference]: Without dead ends: 56 [2022-04-08 12:53:10,276 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 12:53:10,277 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 10 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:10,278 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 143 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:53:10,278 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-08 12:53:10,296 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2022-04-08 12:53:10,297 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:10,297 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:53:10,298 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:53:10,298 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:53:10,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:10,301 INFO L93 Difference]: Finished difference Result 56 states and 70 transitions. [2022-04-08 12:53:10,301 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-08 12:53:10,301 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:10,302 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:10,302 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 56 states. [2022-04-08 12:53:10,302 INFO L87 Difference]: Start difference. First operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 56 states. [2022-04-08 12:53:10,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:10,305 INFO L93 Difference]: Finished difference Result 56 states and 70 transitions. [2022-04-08 12:53:10,305 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-08 12:53:10,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:10,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:10,305 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:10,306 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:10,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:53:10,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 70 transitions. [2022-04-08 12:53:10,308 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 70 transitions. Word has length 28 [2022-04-08 12:53:10,309 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:10,309 INFO L478 AbstractCegarLoop]: Abstraction has 56 states and 70 transitions. [2022-04-08 12:53:10,309 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 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-08 12:53:10,309 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 70 transitions. [2022-04-08 12:53:10,376 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-08 12:53:10,376 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-08 12:53:10,377 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-08 12:53:10,377 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:10,377 INFO L499 BasicCegarLoop]: 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, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:10,399 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-08 12:53:10,591 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:10,592 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:10,592 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:10,592 INFO L85 PathProgramCache]: Analyzing trace with hash 1301357193, now seen corresponding path program 1 times [2022-04-08 12:53:10,592 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:10,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [491251976] [2022-04-08 12:53:10,593 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:53:10,593 INFO L85 PathProgramCache]: Analyzing trace with hash 1301357193, now seen corresponding path program 2 times [2022-04-08 12:53:10,593 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:10,593 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [271463559] [2022-04-08 12:53:10,593 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:10,593 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:10,617 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:53:10,617 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [64187072] [2022-04-08 12:53:10,617 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:53:10,617 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:10,617 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:10,618 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-08 12:53:10,655 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-08 12:53:10,671 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:53:10,672 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:53:10,672 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 12:53:10,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:10,683 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:53:10,872 INFO L272 TraceCheckUtils]: 0: Hoare triple {1683#true} call ULTIMATE.init(); {1683#true} is VALID [2022-04-08 12:53:10,872 INFO L290 TraceCheckUtils]: 1: Hoare triple {1683#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:10,873 INFO L290 TraceCheckUtils]: 2: Hoare triple {1691#(<= ~counter~0 0)} assume true; {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:10,873 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1691#(<= ~counter~0 0)} {1683#true} #96#return; {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:10,874 INFO L272 TraceCheckUtils]: 4: Hoare triple {1691#(<= ~counter~0 0)} call #t~ret8 := main(); {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:10,874 INFO L290 TraceCheckUtils]: 5: Hoare triple {1691#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:10,875 INFO L272 TraceCheckUtils]: 6: Hoare triple {1691#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:10,875 INFO L290 TraceCheckUtils]: 7: Hoare triple {1691#(<= ~counter~0 0)} ~cond := #in~cond; {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:10,875 INFO L290 TraceCheckUtils]: 8: Hoare triple {1691#(<= ~counter~0 0)} assume !(0 == ~cond); {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:10,876 INFO L290 TraceCheckUtils]: 9: Hoare triple {1691#(<= ~counter~0 0)} assume true; {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:10,876 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1691#(<= ~counter~0 0)} {1691#(<= ~counter~0 0)} #80#return; {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:10,876 INFO L290 TraceCheckUtils]: 11: Hoare triple {1691#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:10,877 INFO L290 TraceCheckUtils]: 12: Hoare triple {1691#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:10,877 INFO L290 TraceCheckUtils]: 13: Hoare triple {1725#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:10,878 INFO L272 TraceCheckUtils]: 14: Hoare triple {1725#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:10,878 INFO L290 TraceCheckUtils]: 15: Hoare triple {1725#(<= ~counter~0 1)} ~cond := #in~cond; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:10,878 INFO L290 TraceCheckUtils]: 16: Hoare triple {1725#(<= ~counter~0 1)} assume !(0 == ~cond); {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:10,879 INFO L290 TraceCheckUtils]: 17: Hoare triple {1725#(<= ~counter~0 1)} assume true; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:10,879 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1725#(<= ~counter~0 1)} {1725#(<= ~counter~0 1)} #82#return; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:10,880 INFO L272 TraceCheckUtils]: 19: Hoare triple {1725#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:10,881 INFO L290 TraceCheckUtils]: 20: Hoare triple {1725#(<= ~counter~0 1)} ~cond := #in~cond; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:10,882 INFO L290 TraceCheckUtils]: 21: Hoare triple {1725#(<= ~counter~0 1)} assume !(0 == ~cond); {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:10,882 INFO L290 TraceCheckUtils]: 22: Hoare triple {1725#(<= ~counter~0 1)} assume true; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:10,882 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1725#(<= ~counter~0 1)} {1725#(<= ~counter~0 1)} #84#return; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:10,883 INFO L272 TraceCheckUtils]: 24: Hoare triple {1725#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:10,883 INFO L290 TraceCheckUtils]: 25: Hoare triple {1725#(<= ~counter~0 1)} ~cond := #in~cond; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:10,884 INFO L290 TraceCheckUtils]: 26: Hoare triple {1725#(<= ~counter~0 1)} assume !(0 == ~cond); {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:10,884 INFO L290 TraceCheckUtils]: 27: Hoare triple {1725#(<= ~counter~0 1)} assume true; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:10,885 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1725#(<= ~counter~0 1)} {1725#(<= ~counter~0 1)} #86#return; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:10,885 INFO L290 TraceCheckUtils]: 29: Hoare triple {1725#(<= ~counter~0 1)} assume !(~r~0 >= ~d~0); {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:10,885 INFO L290 TraceCheckUtils]: 30: Hoare triple {1725#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1780#(<= |main_#t~post7| 1)} is VALID [2022-04-08 12:53:10,886 INFO L290 TraceCheckUtils]: 31: Hoare triple {1780#(<= |main_#t~post7| 1)} assume !(#t~post7 < 5);havoc #t~post7; {1684#false} is VALID [2022-04-08 12:53:10,886 INFO L272 TraceCheckUtils]: 32: Hoare triple {1684#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {1684#false} is VALID [2022-04-08 12:53:10,886 INFO L290 TraceCheckUtils]: 33: Hoare triple {1684#false} ~cond := #in~cond; {1684#false} is VALID [2022-04-08 12:53:10,886 INFO L290 TraceCheckUtils]: 34: Hoare triple {1684#false} assume 0 == ~cond; {1684#false} is VALID [2022-04-08 12:53:10,886 INFO L290 TraceCheckUtils]: 35: Hoare triple {1684#false} assume !false; {1684#false} is VALID [2022-04-08 12:53:10,886 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-08 12:53:10,886 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:53:10,887 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:10,887 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [271463559] [2022-04-08 12:53:10,887 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:53:10,887 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [64187072] [2022-04-08 12:53:10,887 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [64187072] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:10,887 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:10,887 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:53:10,887 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:10,887 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [491251976] [2022-04-08 12:53:10,888 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [491251976] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:10,888 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:10,888 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:53:10,888 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1554472089] [2022-04-08 12:53:10,888 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:10,888 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), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-08 12:53:10,889 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:10,889 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), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 12:53:10,918 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-08 12:53:10,918 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:53:10,918 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:10,920 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:53:10,920 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:53:10,921 INFO L87 Difference]: Start difference. First operand 56 states and 70 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), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 12:53:11,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:11,060 INFO L93 Difference]: Finished difference Result 76 states and 86 transitions. [2022-04-08 12:53:11,060 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:53:11,060 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), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-08 12:53:11,060 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:11,061 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), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 12:53:11,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:53:11,062 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), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 12:53:11,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:53:11,064 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-08 12:53:11,126 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:11,133 INFO L225 Difference]: With dead ends: 76 [2022-04-08 12:53:11,133 INFO L226 Difference]: Without dead ends: 69 [2022-04-08 12:53:11,133 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 32 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-08 12:53:11,136 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 17 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 17 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:11,136 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [7 Valid, 117 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 17 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:53:11,137 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-08 12:53:11,180 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 68. [2022-04-08 12:53:11,180 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:11,181 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:53:11,181 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:53:11,181 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:53:11,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:11,184 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2022-04-08 12:53:11,184 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2022-04-08 12:53:11,184 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:11,184 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:11,185 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 69 states. [2022-04-08 12:53:11,185 INFO L87 Difference]: Start difference. First operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 69 states. [2022-04-08 12:53:11,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:11,187 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2022-04-08 12:53:11,187 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2022-04-08 12:53:11,188 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:11,188 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:11,188 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:11,188 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:11,188 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:53:11,190 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 78 transitions. [2022-04-08 12:53:11,190 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 78 transitions. Word has length 36 [2022-04-08 12:53:11,190 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:11,191 INFO L478 AbstractCegarLoop]: Abstraction has 68 states and 78 transitions. [2022-04-08 12:53:11,191 INFO L479 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), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 12:53:11,191 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 78 transitions. [2022-04-08 12:53:11,269 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-08 12:53:11,270 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 78 transitions. [2022-04-08 12:53:11,270 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-08 12:53:11,270 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:11,270 INFO L499 BasicCegarLoop]: 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, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:11,287 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-08 12:53:11,475 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:11,475 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:11,476 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:11,476 INFO L85 PathProgramCache]: Analyzing trace with hash 1303085071, now seen corresponding path program 1 times [2022-04-08 12:53:11,476 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:11,476 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [661273413] [2022-04-08 12:53:11,476 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:53:11,477 INFO L85 PathProgramCache]: Analyzing trace with hash 1303085071, now seen corresponding path program 2 times [2022-04-08 12:53:11,477 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:11,477 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1115878538] [2022-04-08 12:53:11,477 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:11,477 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:11,491 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:53:11,491 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [746712593] [2022-04-08 12:53:11,491 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:53:11,491 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:11,492 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:11,498 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-08 12:53:11,499 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-08 12:53:11,539 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:53:11,539 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:53:11,540 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 12:53:11,554 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:11,555 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:53:11,712 INFO L272 TraceCheckUtils]: 0: Hoare triple {2221#true} call ULTIMATE.init(); {2221#true} is VALID [2022-04-08 12:53:11,712 INFO L290 TraceCheckUtils]: 1: Hoare triple {2221#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2221#true} is VALID [2022-04-08 12:53:11,712 INFO L290 TraceCheckUtils]: 2: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-08 12:53:11,712 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2221#true} {2221#true} #96#return; {2221#true} is VALID [2022-04-08 12:53:11,713 INFO L272 TraceCheckUtils]: 4: Hoare triple {2221#true} call #t~ret8 := main(); {2221#true} is VALID [2022-04-08 12:53:11,713 INFO L290 TraceCheckUtils]: 5: Hoare triple {2221#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {2221#true} is VALID [2022-04-08 12:53:11,713 INFO L272 TraceCheckUtils]: 6: Hoare triple {2221#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2221#true} is VALID [2022-04-08 12:53:11,713 INFO L290 TraceCheckUtils]: 7: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-08 12:53:11,713 INFO L290 TraceCheckUtils]: 8: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-08 12:53:11,713 INFO L290 TraceCheckUtils]: 9: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-08 12:53:11,713 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2221#true} {2221#true} #80#return; {2221#true} is VALID [2022-04-08 12:53:11,723 INFO L290 TraceCheckUtils]: 11: Hoare triple {2221#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:53:11,724 INFO L290 TraceCheckUtils]: 12: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:53:11,725 INFO L290 TraceCheckUtils]: 13: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:53:11,725 INFO L272 TraceCheckUtils]: 14: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2221#true} is VALID [2022-04-08 12:53:11,725 INFO L290 TraceCheckUtils]: 15: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-08 12:53:11,727 INFO L290 TraceCheckUtils]: 16: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-08 12:53:11,727 INFO L290 TraceCheckUtils]: 17: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-08 12:53:11,728 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2221#true} {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:53:11,728 INFO L272 TraceCheckUtils]: 19: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2221#true} is VALID [2022-04-08 12:53:11,728 INFO L290 TraceCheckUtils]: 20: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-08 12:53:11,728 INFO L290 TraceCheckUtils]: 21: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-08 12:53:11,728 INFO L290 TraceCheckUtils]: 22: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-08 12:53:11,729 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2221#true} {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:53:11,729 INFO L272 TraceCheckUtils]: 24: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2221#true} is VALID [2022-04-08 12:53:11,729 INFO L290 TraceCheckUtils]: 25: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-08 12:53:11,729 INFO L290 TraceCheckUtils]: 26: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-08 12:53:11,730 INFO L290 TraceCheckUtils]: 27: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-08 12:53:11,731 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2221#true} {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #86#return; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:53:11,732 INFO L290 TraceCheckUtils]: 29: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:53:11,732 INFO L290 TraceCheckUtils]: 30: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:53:11,733 INFO L290 TraceCheckUtils]: 31: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(#t~post7 < 5);havoc #t~post7; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:53:11,733 INFO L272 TraceCheckUtils]: 32: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2323#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:53:11,734 INFO L290 TraceCheckUtils]: 33: Hoare triple {2323#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2327#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:53:11,734 INFO L290 TraceCheckUtils]: 34: Hoare triple {2327#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2222#false} is VALID [2022-04-08 12:53:11,734 INFO L290 TraceCheckUtils]: 35: Hoare triple {2222#false} assume !false; {2222#false} is VALID [2022-04-08 12:53:11,735 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-08 12:53:11,735 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:53:11,735 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:11,735 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1115878538] [2022-04-08 12:53:11,735 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:53:11,735 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [746712593] [2022-04-08 12:53:11,735 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [746712593] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:11,735 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:11,735 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:53:11,736 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:11,736 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [661273413] [2022-04-08 12:53:11,736 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [661273413] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:11,736 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:11,736 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:53:11,736 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [41792351] [2022-04-08 12:53:11,736 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:11,736 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), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-04-08 12:53:11,737 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:11,737 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), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:11,760 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-08 12:53:11,760 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:53:11,761 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:11,761 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:53:11,761 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:53:11,761 INFO L87 Difference]: Start difference. First operand 68 states and 78 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:12,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:12,029 INFO L93 Difference]: Finished difference Result 82 states and 97 transitions. [2022-04-08 12:53:12,029 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:53:12,029 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), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-04-08 12:53:12,029 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:12,029 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), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:12,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-04-08 12:53:12,031 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), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:12,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-04-08 12:53:12,033 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 61 transitions. [2022-04-08 12:53:12,088 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:12,089 INFO L225 Difference]: With dead ends: 82 [2022-04-08 12:53:12,090 INFO L226 Difference]: Without dead ends: 70 [2022-04-08 12:53:12,090 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 32 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-08 12:53:12,091 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 11 mSDsluCounter, 83 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:12,091 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 118 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:53:12,091 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-08 12:53:12,144 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 69. [2022-04-08 12:53:12,145 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:12,145 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 12:53:12,146 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 12:53:12,147 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 12:53:12,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:12,149 INFO L93 Difference]: Finished difference Result 70 states and 83 transitions. [2022-04-08 12:53:12,149 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 83 transitions. [2022-04-08 12:53:12,150 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:12,150 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:12,150 INFO L74 IsIncluded]: Start isIncluded. First operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 70 states. [2022-04-08 12:53:12,151 INFO L87 Difference]: Start difference. First operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 70 states. [2022-04-08 12:53:12,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:12,155 INFO L93 Difference]: Finished difference Result 70 states and 83 transitions. [2022-04-08 12:53:12,155 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 83 transitions. [2022-04-08 12:53:12,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:12,157 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:12,157 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:12,157 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:12,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 12:53:12,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 82 transitions. [2022-04-08 12:53:12,161 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 82 transitions. Word has length 36 [2022-04-08 12:53:12,161 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:12,161 INFO L478 AbstractCegarLoop]: Abstraction has 69 states and 82 transitions. [2022-04-08 12:53:12,161 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:12,161 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 69 states and 82 transitions. [2022-04-08 12:53:12,256 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:12,257 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 82 transitions. [2022-04-08 12:53:12,257 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 12:53:12,257 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:12,257 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:12,274 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-08 12:53:12,463 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:12,463 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:12,464 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:12,464 INFO L85 PathProgramCache]: Analyzing trace with hash 817878903, now seen corresponding path program 1 times [2022-04-08 12:53:12,464 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:12,464 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1517231570] [2022-04-08 12:53:20,410 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:53:20,410 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:53:20,411 INFO L85 PathProgramCache]: Analyzing trace with hash 817878903, now seen corresponding path program 2 times [2022-04-08 12:53:20,411 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:20,411 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1159159205] [2022-04-08 12:53:20,411 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:20,411 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:20,422 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:53:20,422 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1057703499] [2022-04-08 12:53:20,423 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:53:20,423 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:20,423 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:20,424 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-08 12:53:20,463 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-08 12:53:20,487 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:53:20,488 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:53:20,489 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 12:53:20,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:20,504 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:53:20,746 INFO L272 TraceCheckUtils]: 0: Hoare triple {2777#true} call ULTIMATE.init(); {2777#true} is VALID [2022-04-08 12:53:20,747 INFO L290 TraceCheckUtils]: 1: Hoare triple {2777#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:20,747 INFO L290 TraceCheckUtils]: 2: Hoare triple {2785#(<= ~counter~0 0)} assume true; {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:20,748 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2785#(<= ~counter~0 0)} {2777#true} #96#return; {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:20,748 INFO L272 TraceCheckUtils]: 4: Hoare triple {2785#(<= ~counter~0 0)} call #t~ret8 := main(); {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:20,749 INFO L290 TraceCheckUtils]: 5: Hoare triple {2785#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:20,749 INFO L272 TraceCheckUtils]: 6: Hoare triple {2785#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:20,750 INFO L290 TraceCheckUtils]: 7: Hoare triple {2785#(<= ~counter~0 0)} ~cond := #in~cond; {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:20,750 INFO L290 TraceCheckUtils]: 8: Hoare triple {2785#(<= ~counter~0 0)} assume !(0 == ~cond); {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:20,750 INFO L290 TraceCheckUtils]: 9: Hoare triple {2785#(<= ~counter~0 0)} assume true; {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:20,751 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2785#(<= ~counter~0 0)} {2785#(<= ~counter~0 0)} #80#return; {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:20,751 INFO L290 TraceCheckUtils]: 11: Hoare triple {2785#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:20,752 INFO L290 TraceCheckUtils]: 12: Hoare triple {2785#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:20,753 INFO L290 TraceCheckUtils]: 13: Hoare triple {2819#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:20,753 INFO L272 TraceCheckUtils]: 14: Hoare triple {2819#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:20,754 INFO L290 TraceCheckUtils]: 15: Hoare triple {2819#(<= ~counter~0 1)} ~cond := #in~cond; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:20,754 INFO L290 TraceCheckUtils]: 16: Hoare triple {2819#(<= ~counter~0 1)} assume !(0 == ~cond); {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:20,754 INFO L290 TraceCheckUtils]: 17: Hoare triple {2819#(<= ~counter~0 1)} assume true; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:20,755 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2819#(<= ~counter~0 1)} {2819#(<= ~counter~0 1)} #82#return; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:20,755 INFO L272 TraceCheckUtils]: 19: Hoare triple {2819#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:20,756 INFO L290 TraceCheckUtils]: 20: Hoare triple {2819#(<= ~counter~0 1)} ~cond := #in~cond; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:20,756 INFO L290 TraceCheckUtils]: 21: Hoare triple {2819#(<= ~counter~0 1)} assume !(0 == ~cond); {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:20,757 INFO L290 TraceCheckUtils]: 22: Hoare triple {2819#(<= ~counter~0 1)} assume true; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:20,758 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2819#(<= ~counter~0 1)} {2819#(<= ~counter~0 1)} #84#return; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:20,758 INFO L272 TraceCheckUtils]: 24: Hoare triple {2819#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:20,759 INFO L290 TraceCheckUtils]: 25: Hoare triple {2819#(<= ~counter~0 1)} ~cond := #in~cond; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:20,759 INFO L290 TraceCheckUtils]: 26: Hoare triple {2819#(<= ~counter~0 1)} assume !(0 == ~cond); {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:20,759 INFO L290 TraceCheckUtils]: 27: Hoare triple {2819#(<= ~counter~0 1)} assume true; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:20,760 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2819#(<= ~counter~0 1)} {2819#(<= ~counter~0 1)} #86#return; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:20,761 INFO L290 TraceCheckUtils]: 29: Hoare triple {2819#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:20,761 INFO L290 TraceCheckUtils]: 30: Hoare triple {2819#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2874#(<= |main_#t~post6| 1)} is VALID [2022-04-08 12:53:20,762 INFO L290 TraceCheckUtils]: 31: Hoare triple {2874#(<= |main_#t~post6| 1)} assume !(#t~post6 < 5);havoc #t~post6; {2778#false} is VALID [2022-04-08 12:53:20,762 INFO L290 TraceCheckUtils]: 32: Hoare triple {2778#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2778#false} is VALID [2022-04-08 12:53:20,762 INFO L290 TraceCheckUtils]: 33: Hoare triple {2778#false} assume !(#t~post7 < 5);havoc #t~post7; {2778#false} is VALID [2022-04-08 12:53:20,762 INFO L272 TraceCheckUtils]: 34: Hoare triple {2778#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2778#false} is VALID [2022-04-08 12:53:20,762 INFO L290 TraceCheckUtils]: 35: Hoare triple {2778#false} ~cond := #in~cond; {2778#false} is VALID [2022-04-08 12:53:20,762 INFO L290 TraceCheckUtils]: 36: Hoare triple {2778#false} assume !(0 == ~cond); {2778#false} is VALID [2022-04-08 12:53:20,762 INFO L290 TraceCheckUtils]: 37: Hoare triple {2778#false} assume true; {2778#false} is VALID [2022-04-08 12:53:20,768 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2778#false} {2778#false} #92#return; {2778#false} is VALID [2022-04-08 12:53:20,768 INFO L272 TraceCheckUtils]: 39: Hoare triple {2778#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {2778#false} is VALID [2022-04-08 12:53:20,769 INFO L290 TraceCheckUtils]: 40: Hoare triple {2778#false} ~cond := #in~cond; {2778#false} is VALID [2022-04-08 12:53:20,770 INFO L290 TraceCheckUtils]: 41: Hoare triple {2778#false} assume 0 == ~cond; {2778#false} is VALID [2022-04-08 12:53:20,773 INFO L290 TraceCheckUtils]: 42: Hoare triple {2778#false} assume !false; {2778#false} is VALID [2022-04-08 12:53:20,774 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-08 12:53:20,774 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:53:21,007 INFO L290 TraceCheckUtils]: 42: Hoare triple {2778#false} assume !false; {2778#false} is VALID [2022-04-08 12:53:21,007 INFO L290 TraceCheckUtils]: 41: Hoare triple {2778#false} assume 0 == ~cond; {2778#false} is VALID [2022-04-08 12:53:21,007 INFO L290 TraceCheckUtils]: 40: Hoare triple {2778#false} ~cond := #in~cond; {2778#false} is VALID [2022-04-08 12:53:21,008 INFO L272 TraceCheckUtils]: 39: Hoare triple {2778#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {2778#false} is VALID [2022-04-08 12:53:21,008 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2777#true} {2778#false} #92#return; {2778#false} is VALID [2022-04-08 12:53:21,009 INFO L290 TraceCheckUtils]: 37: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-08 12:53:21,009 INFO L290 TraceCheckUtils]: 36: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-08 12:53:21,013 INFO L290 TraceCheckUtils]: 35: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-08 12:53:21,017 INFO L272 TraceCheckUtils]: 34: Hoare triple {2778#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2777#true} is VALID [2022-04-08 12:53:21,017 INFO L290 TraceCheckUtils]: 33: Hoare triple {2778#false} assume !(#t~post7 < 5);havoc #t~post7; {2778#false} is VALID [2022-04-08 12:53:21,017 INFO L290 TraceCheckUtils]: 32: Hoare triple {2778#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2778#false} is VALID [2022-04-08 12:53:21,018 INFO L290 TraceCheckUtils]: 31: Hoare triple {2944#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {2778#false} is VALID [2022-04-08 12:53:21,018 INFO L290 TraceCheckUtils]: 30: Hoare triple {2948#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2944#(< |main_#t~post6| 5)} is VALID [2022-04-08 12:53:21,018 INFO L290 TraceCheckUtils]: 29: Hoare triple {2948#(< ~counter~0 5)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2948#(< ~counter~0 5)} is VALID [2022-04-08 12:53:21,019 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2777#true} {2948#(< ~counter~0 5)} #86#return; {2948#(< ~counter~0 5)} is VALID [2022-04-08 12:53:21,019 INFO L290 TraceCheckUtils]: 27: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-08 12:53:21,019 INFO L290 TraceCheckUtils]: 26: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-08 12:53:21,020 INFO L290 TraceCheckUtils]: 25: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-08 12:53:21,020 INFO L272 TraceCheckUtils]: 24: Hoare triple {2948#(< ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2777#true} is VALID [2022-04-08 12:53:21,020 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2777#true} {2948#(< ~counter~0 5)} #84#return; {2948#(< ~counter~0 5)} is VALID [2022-04-08 12:53:21,020 INFO L290 TraceCheckUtils]: 22: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-08 12:53:21,020 INFO L290 TraceCheckUtils]: 21: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-08 12:53:21,021 INFO L290 TraceCheckUtils]: 20: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-08 12:53:21,021 INFO L272 TraceCheckUtils]: 19: Hoare triple {2948#(< ~counter~0 5)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2777#true} is VALID [2022-04-08 12:53:21,021 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2777#true} {2948#(< ~counter~0 5)} #82#return; {2948#(< ~counter~0 5)} is VALID [2022-04-08 12:53:21,021 INFO L290 TraceCheckUtils]: 17: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-08 12:53:21,021 INFO L290 TraceCheckUtils]: 16: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-08 12:53:21,022 INFO L290 TraceCheckUtils]: 15: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-08 12:53:21,022 INFO L272 TraceCheckUtils]: 14: Hoare triple {2948#(< ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2777#true} is VALID [2022-04-08 12:53:21,022 INFO L290 TraceCheckUtils]: 13: Hoare triple {2948#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {2948#(< ~counter~0 5)} is VALID [2022-04-08 12:53:21,023 INFO L290 TraceCheckUtils]: 12: Hoare triple {3003#(< ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2948#(< ~counter~0 5)} is VALID [2022-04-08 12:53:21,023 INFO L290 TraceCheckUtils]: 11: Hoare triple {3003#(< ~counter~0 4)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3003#(< ~counter~0 4)} is VALID [2022-04-08 12:53:21,024 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2777#true} {3003#(< ~counter~0 4)} #80#return; {3003#(< ~counter~0 4)} is VALID [2022-04-08 12:53:21,024 INFO L290 TraceCheckUtils]: 9: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-08 12:53:21,024 INFO L290 TraceCheckUtils]: 8: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-08 12:53:21,024 INFO L290 TraceCheckUtils]: 7: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-08 12:53:21,024 INFO L272 TraceCheckUtils]: 6: Hoare triple {3003#(< ~counter~0 4)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2777#true} is VALID [2022-04-08 12:53:21,024 INFO L290 TraceCheckUtils]: 5: Hoare triple {3003#(< ~counter~0 4)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3003#(< ~counter~0 4)} is VALID [2022-04-08 12:53:21,025 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#(< ~counter~0 4)} call #t~ret8 := main(); {3003#(< ~counter~0 4)} is VALID [2022-04-08 12:53:21,025 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#(< ~counter~0 4)} {2777#true} #96#return; {3003#(< ~counter~0 4)} is VALID [2022-04-08 12:53:21,026 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#(< ~counter~0 4)} assume true; {3003#(< ~counter~0 4)} is VALID [2022-04-08 12:53:21,026 INFO L290 TraceCheckUtils]: 1: Hoare triple {2777#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3003#(< ~counter~0 4)} is VALID [2022-04-08 12:53:21,026 INFO L272 TraceCheckUtils]: 0: Hoare triple {2777#true} call ULTIMATE.init(); {2777#true} is VALID [2022-04-08 12:53:21,028 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-08 12:53:21,029 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:21,029 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1159159205] [2022-04-08 12:53:21,029 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:53:21,029 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1057703499] [2022-04-08 12:53:21,029 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1057703499] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:53:21,029 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:53:21,029 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-08 12:53:21,030 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:21,030 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1517231570] [2022-04-08 12:53:21,030 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1517231570] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:21,030 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:21,030 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:53:21,030 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [876449455] [2022-04-08 12:53:21,030 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:21,030 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) Word has length 43 [2022-04-08 12:53:21,031 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:21,031 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 12:53:21,063 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-08 12:53:21,064 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:53:21,064 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:21,064 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:53:21,065 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-08 12:53:21,065 INFO L87 Difference]: Start difference. First operand 69 states and 82 transitions. Second operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 12:53:21,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:21,238 INFO L93 Difference]: Finished difference Result 96 states and 120 transitions. [2022-04-08 12:53:21,238 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 12:53:21,238 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) Word has length 43 [2022-04-08 12:53:21,238 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:21,238 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 12:53:21,240 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2022-04-08 12:53:21,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 12:53:21,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2022-04-08 12:53:21,242 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 76 transitions. [2022-04-08 12:53:21,316 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-08 12:53:21,318 INFO L225 Difference]: With dead ends: 96 [2022-04-08 12:53:21,318 INFO L226 Difference]: Without dead ends: 71 [2022-04-08 12:53:21,321 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 79 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-08 12:53:21,322 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 6 mSDsluCounter, 74 mSDsCounter, 0 mSdLazyCounter, 16 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 16 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:21,322 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 117 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 16 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:53:21,323 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-08 12:53:21,386 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-08 12:53:21,387 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:21,387 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 12:53:21,394 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 12:53:21,396 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 12:53:21,400 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:21,400 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2022-04-08 12:53:21,400 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-08 12:53:21,401 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:21,401 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:21,401 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 71 states. [2022-04-08 12:53:21,401 INFO L87 Difference]: Start difference. First operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 71 states. [2022-04-08 12:53:21,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:21,404 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2022-04-08 12:53:21,404 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-08 12:53:21,405 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:21,405 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:21,405 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:21,405 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:21,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 12:53:21,408 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 84 transitions. [2022-04-08 12:53:21,408 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 84 transitions. Word has length 43 [2022-04-08 12:53:21,408 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:21,408 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 84 transitions. [2022-04-08 12:53:21,408 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 12:53:21,408 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 84 transitions. [2022-04-08 12:53:21,502 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-08 12:53:21,502 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-08 12:53:21,503 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-08 12:53:21,503 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:21,503 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:21,528 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-08 12:53:21,703 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:21,704 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:21,704 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:21,704 INFO L85 PathProgramCache]: Analyzing trace with hash 1861890039, now seen corresponding path program 1 times [2022-04-08 12:53:21,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:21,704 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1369943897] [2022-04-08 12:53:29,389 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:53:29,389 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:53:29,389 INFO L85 PathProgramCache]: Analyzing trace with hash 1861890039, now seen corresponding path program 2 times [2022-04-08 12:53:29,389 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:29,389 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [990555238] [2022-04-08 12:53:29,390 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:29,390 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:29,410 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:53:29,410 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [294938269] [2022-04-08 12:53:29,410 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:53:29,411 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:29,411 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:29,412 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-08 12:53:29,415 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-08 12:53:29,462 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:53:29,462 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:53:29,463 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-08 12:53:29,478 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:29,480 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:53:30,326 INFO L272 TraceCheckUtils]: 0: Hoare triple {3520#true} call ULTIMATE.init(); {3520#true} is VALID [2022-04-08 12:53:30,326 INFO L290 TraceCheckUtils]: 1: Hoare triple {3520#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3520#true} is VALID [2022-04-08 12:53:30,327 INFO L290 TraceCheckUtils]: 2: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:30,327 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3520#true} {3520#true} #96#return; {3520#true} is VALID [2022-04-08 12:53:30,327 INFO L272 TraceCheckUtils]: 4: Hoare triple {3520#true} call #t~ret8 := main(); {3520#true} is VALID [2022-04-08 12:53:30,327 INFO L290 TraceCheckUtils]: 5: Hoare triple {3520#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3520#true} is VALID [2022-04-08 12:53:30,327 INFO L272 TraceCheckUtils]: 6: Hoare triple {3520#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:30,328 INFO L290 TraceCheckUtils]: 7: Hoare triple {3520#true} ~cond := #in~cond; {3546#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:53:30,329 INFO L290 TraceCheckUtils]: 8: Hoare triple {3546#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3550#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:53:30,329 INFO L290 TraceCheckUtils]: 9: Hoare triple {3550#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3550#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:53:30,330 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3550#(not (= |assume_abort_if_not_#in~cond| 0))} {3520#true} #80#return; {3557#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-08 12:53:30,331 INFO L290 TraceCheckUtils]: 11: Hoare triple {3557#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:30,335 INFO L290 TraceCheckUtils]: 12: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:30,336 INFO L290 TraceCheckUtils]: 13: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:30,336 INFO L272 TraceCheckUtils]: 14: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:30,337 INFO L290 TraceCheckUtils]: 15: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:30,338 INFO L290 TraceCheckUtils]: 16: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:30,338 INFO L290 TraceCheckUtils]: 17: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:30,339 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3520#true} {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:30,339 INFO L272 TraceCheckUtils]: 19: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:30,339 INFO L290 TraceCheckUtils]: 20: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:30,339 INFO L290 TraceCheckUtils]: 21: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:30,339 INFO L290 TraceCheckUtils]: 22: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:30,340 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3520#true} {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:30,340 INFO L272 TraceCheckUtils]: 24: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:30,340 INFO L290 TraceCheckUtils]: 25: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:30,340 INFO L290 TraceCheckUtils]: 26: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:30,340 INFO L290 TraceCheckUtils]: 27: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:30,340 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3520#true} {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:30,341 INFO L290 TraceCheckUtils]: 29: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:30,342 INFO L290 TraceCheckUtils]: 30: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:30,342 INFO L290 TraceCheckUtils]: 31: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 5);havoc #t~post6; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:30,342 INFO L272 TraceCheckUtils]: 32: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:30,342 INFO L290 TraceCheckUtils]: 33: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:30,342 INFO L290 TraceCheckUtils]: 34: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:30,342 INFO L290 TraceCheckUtils]: 35: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:30,343 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3520#true} {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #82#return; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:30,343 INFO L272 TraceCheckUtils]: 37: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:30,343 INFO L290 TraceCheckUtils]: 38: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:30,343 INFO L290 TraceCheckUtils]: 39: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:30,343 INFO L290 TraceCheckUtils]: 40: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:30,346 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3520#true} {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #84#return; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:30,346 INFO L272 TraceCheckUtils]: 42: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:53:30,347 INFO L290 TraceCheckUtils]: 43: Hoare triple {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3660#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:53:30,347 INFO L290 TraceCheckUtils]: 44: Hoare triple {3660#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3521#false} is VALID [2022-04-08 12:53:30,347 INFO L290 TraceCheckUtils]: 45: Hoare triple {3521#false} assume !false; {3521#false} is VALID [2022-04-08 12:53:30,347 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-08 12:53:30,347 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:53:30,751 INFO L290 TraceCheckUtils]: 45: Hoare triple {3521#false} assume !false; {3521#false} is VALID [2022-04-08 12:53:30,752 INFO L290 TraceCheckUtils]: 44: Hoare triple {3660#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3521#false} is VALID [2022-04-08 12:53:30,752 INFO L290 TraceCheckUtils]: 43: Hoare triple {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3660#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:53:30,753 INFO L272 TraceCheckUtils]: 42: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:53:30,753 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #84#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:30,753 INFO L290 TraceCheckUtils]: 40: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:30,753 INFO L290 TraceCheckUtils]: 39: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:30,754 INFO L290 TraceCheckUtils]: 38: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:30,754 INFO L272 TraceCheckUtils]: 37: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:30,754 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:30,754 INFO L290 TraceCheckUtils]: 35: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:30,755 INFO L290 TraceCheckUtils]: 34: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:30,755 INFO L290 TraceCheckUtils]: 33: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:30,755 INFO L272 TraceCheckUtils]: 32: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:30,755 INFO L290 TraceCheckUtils]: 31: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 5);havoc #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:30,756 INFO L290 TraceCheckUtils]: 30: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:30,758 INFO L290 TraceCheckUtils]: 29: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:30,759 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #86#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:30,759 INFO L290 TraceCheckUtils]: 27: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:30,759 INFO L290 TraceCheckUtils]: 26: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:30,759 INFO L290 TraceCheckUtils]: 25: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:30,760 INFO L272 TraceCheckUtils]: 24: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:30,760 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #84#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:30,760 INFO L290 TraceCheckUtils]: 22: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:30,760 INFO L290 TraceCheckUtils]: 21: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:30,761 INFO L290 TraceCheckUtils]: 20: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:30,761 INFO L272 TraceCheckUtils]: 19: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:30,761 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:30,761 INFO L290 TraceCheckUtils]: 17: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:30,761 INFO L290 TraceCheckUtils]: 16: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:30,762 INFO L290 TraceCheckUtils]: 15: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:30,762 INFO L272 TraceCheckUtils]: 14: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:30,762 INFO L290 TraceCheckUtils]: 13: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 5);havoc #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:30,762 INFO L290 TraceCheckUtils]: 12: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:30,764 INFO L290 TraceCheckUtils]: 11: Hoare triple {3520#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:30,764 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3520#true} {3520#true} #80#return; {3520#true} is VALID [2022-04-08 12:53:30,765 INFO L290 TraceCheckUtils]: 9: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:30,765 INFO L290 TraceCheckUtils]: 8: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:30,765 INFO L290 TraceCheckUtils]: 7: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:30,765 INFO L272 TraceCheckUtils]: 6: Hoare triple {3520#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:30,765 INFO L290 TraceCheckUtils]: 5: Hoare triple {3520#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3520#true} is VALID [2022-04-08 12:53:30,765 INFO L272 TraceCheckUtils]: 4: Hoare triple {3520#true} call #t~ret8 := main(); {3520#true} is VALID [2022-04-08 12:53:30,765 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3520#true} {3520#true} #96#return; {3520#true} is VALID [2022-04-08 12:53:30,765 INFO L290 TraceCheckUtils]: 2: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:30,765 INFO L290 TraceCheckUtils]: 1: Hoare triple {3520#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3520#true} is VALID [2022-04-08 12:53:30,765 INFO L272 TraceCheckUtils]: 0: Hoare triple {3520#true} call ULTIMATE.init(); {3520#true} is VALID [2022-04-08 12:53:30,766 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-08 12:53:30,766 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:30,766 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [990555238] [2022-04-08 12:53:30,766 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:53:30,766 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [294938269] [2022-04-08 12:53:30,766 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [294938269] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 12:53:30,766 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:53:30,766 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-08 12:53:30,767 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:30,767 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1369943897] [2022-04-08 12:53:30,767 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1369943897] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:30,767 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:30,767 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:53:30,767 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2096413946] [2022-04-08 12:53:30,767 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:30,768 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 46 [2022-04-08 12:53:30,768 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:30,768 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:30,791 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:30,792 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:53:30,792 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:30,792 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:53:30,792 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-08 12:53:30,792 INFO L87 Difference]: Start difference. First operand 71 states and 84 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:31,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:31,234 INFO L93 Difference]: Finished difference Result 84 states and 101 transitions. [2022-04-08 12:53:31,234 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:53:31,234 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 46 [2022-04-08 12:53:31,235 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:31,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:31,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-08 12:53:31,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:31,237 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-08 12:53:31,237 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 59 transitions. [2022-04-08 12:53:31,293 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-08 12:53:31,296 INFO L225 Difference]: With dead ends: 84 [2022-04-08 12:53:31,296 INFO L226 Difference]: Without dead ends: 82 [2022-04-08 12:53:31,296 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 81 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-08 12:53:31,296 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 11 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 49 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:31,297 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 125 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:53:31,297 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2022-04-08 12:53:31,352 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 79. [2022-04-08 12:53:31,352 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:31,352 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 12:53:31,352 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 12:53:31,352 INFO L87 Difference]: Start difference. First operand 82 states. Second operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 12:53:31,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:31,355 INFO L93 Difference]: Finished difference Result 82 states and 99 transitions. [2022-04-08 12:53:31,355 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 99 transitions. [2022-04-08 12:53:31,356 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:31,356 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:31,356 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 82 states. [2022-04-08 12:53:31,356 INFO L87 Difference]: Start difference. First operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 82 states. [2022-04-08 12:53:31,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:31,359 INFO L93 Difference]: Finished difference Result 82 states and 99 transitions. [2022-04-08 12:53:31,359 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 99 transitions. [2022-04-08 12:53:31,359 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:31,359 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:31,359 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:31,359 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:31,360 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 12:53:31,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 94 transitions. [2022-04-08 12:53:31,362 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 94 transitions. Word has length 46 [2022-04-08 12:53:31,362 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:31,362 INFO L478 AbstractCegarLoop]: Abstraction has 79 states and 94 transitions. [2022-04-08 12:53:31,362 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:31,363 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 94 transitions. [2022-04-08 12:53:31,470 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:31,471 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 94 transitions. [2022-04-08 12:53:31,471 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-08 12:53:31,471 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:31,471 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:31,493 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-08 12:53:31,672 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:31,672 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:31,672 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:31,673 INFO L85 PathProgramCache]: Analyzing trace with hash 967982746, now seen corresponding path program 1 times [2022-04-08 12:53:31,673 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:31,673 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [565871872] [2022-04-08 12:53:37,596 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:53:37,596 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:53:37,596 INFO L85 PathProgramCache]: Analyzing trace with hash 967982746, now seen corresponding path program 2 times [2022-04-08 12:53:37,596 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:37,596 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1677636492] [2022-04-08 12:53:37,596 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:37,596 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:37,610 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:53:37,610 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [599242010] [2022-04-08 12:53:37,610 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:53:37,610 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:37,610 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:37,613 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-08 12:53:37,635 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-08 12:53:37,664 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:53:37,665 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:53:37,665 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 12:53:37,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:37,684 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:53:37,922 INFO L272 TraceCheckUtils]: 0: Hoare triple {4297#true} call ULTIMATE.init(); {4297#true} is VALID [2022-04-08 12:53:37,931 INFO L290 TraceCheckUtils]: 1: Hoare triple {4297#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:37,931 INFO L290 TraceCheckUtils]: 2: Hoare triple {4305#(<= ~counter~0 0)} assume true; {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:37,932 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4305#(<= ~counter~0 0)} {4297#true} #96#return; {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:37,932 INFO L272 TraceCheckUtils]: 4: Hoare triple {4305#(<= ~counter~0 0)} call #t~ret8 := main(); {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:37,932 INFO L290 TraceCheckUtils]: 5: Hoare triple {4305#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:37,933 INFO L272 TraceCheckUtils]: 6: Hoare triple {4305#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:37,933 INFO L290 TraceCheckUtils]: 7: Hoare triple {4305#(<= ~counter~0 0)} ~cond := #in~cond; {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:37,933 INFO L290 TraceCheckUtils]: 8: Hoare triple {4305#(<= ~counter~0 0)} assume !(0 == ~cond); {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:37,934 INFO L290 TraceCheckUtils]: 9: Hoare triple {4305#(<= ~counter~0 0)} assume true; {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:37,934 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4305#(<= ~counter~0 0)} {4305#(<= ~counter~0 0)} #80#return; {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:37,934 INFO L290 TraceCheckUtils]: 11: Hoare triple {4305#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:37,935 INFO L290 TraceCheckUtils]: 12: Hoare triple {4305#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:37,935 INFO L290 TraceCheckUtils]: 13: Hoare triple {4339#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:37,935 INFO L272 TraceCheckUtils]: 14: Hoare triple {4339#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:37,936 INFO L290 TraceCheckUtils]: 15: Hoare triple {4339#(<= ~counter~0 1)} ~cond := #in~cond; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:37,936 INFO L290 TraceCheckUtils]: 16: Hoare triple {4339#(<= ~counter~0 1)} assume !(0 == ~cond); {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:37,936 INFO L290 TraceCheckUtils]: 17: Hoare triple {4339#(<= ~counter~0 1)} assume true; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:37,937 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4339#(<= ~counter~0 1)} {4339#(<= ~counter~0 1)} #82#return; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:37,937 INFO L272 TraceCheckUtils]: 19: Hoare triple {4339#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:37,938 INFO L290 TraceCheckUtils]: 20: Hoare triple {4339#(<= ~counter~0 1)} ~cond := #in~cond; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:37,938 INFO L290 TraceCheckUtils]: 21: Hoare triple {4339#(<= ~counter~0 1)} assume !(0 == ~cond); {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:37,938 INFO L290 TraceCheckUtils]: 22: Hoare triple {4339#(<= ~counter~0 1)} assume true; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:37,939 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4339#(<= ~counter~0 1)} {4339#(<= ~counter~0 1)} #84#return; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:37,940 INFO L272 TraceCheckUtils]: 24: Hoare triple {4339#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:37,940 INFO L290 TraceCheckUtils]: 25: Hoare triple {4339#(<= ~counter~0 1)} ~cond := #in~cond; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:37,940 INFO L290 TraceCheckUtils]: 26: Hoare triple {4339#(<= ~counter~0 1)} assume !(0 == ~cond); {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:37,940 INFO L290 TraceCheckUtils]: 27: Hoare triple {4339#(<= ~counter~0 1)} assume true; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:37,941 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4339#(<= ~counter~0 1)} {4339#(<= ~counter~0 1)} #86#return; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:37,941 INFO L290 TraceCheckUtils]: 29: Hoare triple {4339#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:37,942 INFO L290 TraceCheckUtils]: 30: Hoare triple {4339#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:37,942 INFO L290 TraceCheckUtils]: 31: Hoare triple {4394#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:37,942 INFO L272 TraceCheckUtils]: 32: Hoare triple {4394#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:37,943 INFO L290 TraceCheckUtils]: 33: Hoare triple {4394#(<= ~counter~0 2)} ~cond := #in~cond; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:37,943 INFO L290 TraceCheckUtils]: 34: Hoare triple {4394#(<= ~counter~0 2)} assume !(0 == ~cond); {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:37,943 INFO L290 TraceCheckUtils]: 35: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:37,944 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4394#(<= ~counter~0 2)} {4394#(<= ~counter~0 2)} #82#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:37,944 INFO L272 TraceCheckUtils]: 37: Hoare triple {4394#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:37,945 INFO L290 TraceCheckUtils]: 38: Hoare triple {4394#(<= ~counter~0 2)} ~cond := #in~cond; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:37,945 INFO L290 TraceCheckUtils]: 39: Hoare triple {4394#(<= ~counter~0 2)} assume !(0 == ~cond); {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:37,945 INFO L290 TraceCheckUtils]: 40: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:37,946 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4394#(<= ~counter~0 2)} {4394#(<= ~counter~0 2)} #84#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:37,946 INFO L272 TraceCheckUtils]: 42: Hoare triple {4394#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:37,947 INFO L290 TraceCheckUtils]: 43: Hoare triple {4394#(<= ~counter~0 2)} ~cond := #in~cond; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:37,947 INFO L290 TraceCheckUtils]: 44: Hoare triple {4394#(<= ~counter~0 2)} assume !(0 == ~cond); {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:37,947 INFO L290 TraceCheckUtils]: 45: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:37,948 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4394#(<= ~counter~0 2)} {4394#(<= ~counter~0 2)} #86#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:37,948 INFO L290 TraceCheckUtils]: 47: Hoare triple {4394#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:37,949 INFO L290 TraceCheckUtils]: 48: Hoare triple {4394#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4449#(<= |main_#t~post7| 2)} is VALID [2022-04-08 12:53:37,949 INFO L290 TraceCheckUtils]: 49: Hoare triple {4449#(<= |main_#t~post7| 2)} assume !(#t~post7 < 5);havoc #t~post7; {4298#false} is VALID [2022-04-08 12:53:37,949 INFO L272 TraceCheckUtils]: 50: Hoare triple {4298#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4298#false} is VALID [2022-04-08 12:53:37,949 INFO L290 TraceCheckUtils]: 51: Hoare triple {4298#false} ~cond := #in~cond; {4298#false} is VALID [2022-04-08 12:53:37,950 INFO L290 TraceCheckUtils]: 52: Hoare triple {4298#false} assume !(0 == ~cond); {4298#false} is VALID [2022-04-08 12:53:37,950 INFO L290 TraceCheckUtils]: 53: Hoare triple {4298#false} assume true; {4298#false} is VALID [2022-04-08 12:53:37,950 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {4298#false} {4298#false} #92#return; {4298#false} is VALID [2022-04-08 12:53:37,950 INFO L272 TraceCheckUtils]: 55: Hoare triple {4298#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {4298#false} is VALID [2022-04-08 12:53:37,950 INFO L290 TraceCheckUtils]: 56: Hoare triple {4298#false} ~cond := #in~cond; {4298#false} is VALID [2022-04-08 12:53:37,950 INFO L290 TraceCheckUtils]: 57: Hoare triple {4298#false} assume 0 == ~cond; {4298#false} is VALID [2022-04-08 12:53:37,950 INFO L290 TraceCheckUtils]: 58: Hoare triple {4298#false} assume !false; {4298#false} is VALID [2022-04-08 12:53:37,950 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-08 12:53:37,951 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:53:38,198 INFO L290 TraceCheckUtils]: 58: Hoare triple {4298#false} assume !false; {4298#false} is VALID [2022-04-08 12:53:38,198 INFO L290 TraceCheckUtils]: 57: Hoare triple {4298#false} assume 0 == ~cond; {4298#false} is VALID [2022-04-08 12:53:38,199 INFO L290 TraceCheckUtils]: 56: Hoare triple {4298#false} ~cond := #in~cond; {4298#false} is VALID [2022-04-08 12:53:38,199 INFO L272 TraceCheckUtils]: 55: Hoare triple {4298#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {4298#false} is VALID [2022-04-08 12:53:38,199 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {4297#true} {4298#false} #92#return; {4298#false} is VALID [2022-04-08 12:53:38,199 INFO L290 TraceCheckUtils]: 53: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-08 12:53:38,199 INFO L290 TraceCheckUtils]: 52: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-08 12:53:38,199 INFO L290 TraceCheckUtils]: 51: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-08 12:53:38,199 INFO L272 TraceCheckUtils]: 50: Hoare triple {4298#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4297#true} is VALID [2022-04-08 12:53:38,199 INFO L290 TraceCheckUtils]: 49: Hoare triple {4507#(< |main_#t~post7| 5)} assume !(#t~post7 < 5);havoc #t~post7; {4298#false} is VALID [2022-04-08 12:53:38,200 INFO L290 TraceCheckUtils]: 48: Hoare triple {4511#(< ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4507#(< |main_#t~post7| 5)} is VALID [2022-04-08 12:53:38,200 INFO L290 TraceCheckUtils]: 47: Hoare triple {4511#(< ~counter~0 5)} assume !(~r~0 >= ~d~0); {4511#(< ~counter~0 5)} is VALID [2022-04-08 12:53:38,201 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4297#true} {4511#(< ~counter~0 5)} #86#return; {4511#(< ~counter~0 5)} is VALID [2022-04-08 12:53:38,201 INFO L290 TraceCheckUtils]: 45: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-08 12:53:38,201 INFO L290 TraceCheckUtils]: 44: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-08 12:53:38,201 INFO L290 TraceCheckUtils]: 43: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-08 12:53:38,201 INFO L272 TraceCheckUtils]: 42: Hoare triple {4511#(< ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4297#true} is VALID [2022-04-08 12:53:38,202 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4297#true} {4511#(< ~counter~0 5)} #84#return; {4511#(< ~counter~0 5)} is VALID [2022-04-08 12:53:38,202 INFO L290 TraceCheckUtils]: 40: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-08 12:53:38,202 INFO L290 TraceCheckUtils]: 39: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-08 12:53:38,202 INFO L290 TraceCheckUtils]: 38: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-08 12:53:38,202 INFO L272 TraceCheckUtils]: 37: Hoare triple {4511#(< ~counter~0 5)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4297#true} is VALID [2022-04-08 12:53:38,203 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4297#true} {4511#(< ~counter~0 5)} #82#return; {4511#(< ~counter~0 5)} is VALID [2022-04-08 12:53:38,203 INFO L290 TraceCheckUtils]: 35: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-08 12:53:38,203 INFO L290 TraceCheckUtils]: 34: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-08 12:53:38,203 INFO L290 TraceCheckUtils]: 33: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-08 12:53:38,203 INFO L272 TraceCheckUtils]: 32: Hoare triple {4511#(< ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4297#true} is VALID [2022-04-08 12:53:38,204 INFO L290 TraceCheckUtils]: 31: Hoare triple {4511#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {4511#(< ~counter~0 5)} is VALID [2022-04-08 12:53:38,204 INFO L290 TraceCheckUtils]: 30: Hoare triple {4566#(< ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4511#(< ~counter~0 5)} is VALID [2022-04-08 12:53:38,205 INFO L290 TraceCheckUtils]: 29: Hoare triple {4566#(< ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4566#(< ~counter~0 4)} is VALID [2022-04-08 12:53:38,205 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4297#true} {4566#(< ~counter~0 4)} #86#return; {4566#(< ~counter~0 4)} is VALID [2022-04-08 12:53:38,205 INFO L290 TraceCheckUtils]: 27: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-08 12:53:38,206 INFO L290 TraceCheckUtils]: 26: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-08 12:53:38,206 INFO L290 TraceCheckUtils]: 25: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-08 12:53:38,206 INFO L272 TraceCheckUtils]: 24: Hoare triple {4566#(< ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4297#true} is VALID [2022-04-08 12:53:38,206 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4297#true} {4566#(< ~counter~0 4)} #84#return; {4566#(< ~counter~0 4)} is VALID [2022-04-08 12:53:38,206 INFO L290 TraceCheckUtils]: 22: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-08 12:53:38,207 INFO L290 TraceCheckUtils]: 21: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-08 12:53:38,207 INFO L290 TraceCheckUtils]: 20: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-08 12:53:38,207 INFO L272 TraceCheckUtils]: 19: Hoare triple {4566#(< ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4297#true} is VALID [2022-04-08 12:53:38,207 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4297#true} {4566#(< ~counter~0 4)} #82#return; {4566#(< ~counter~0 4)} is VALID [2022-04-08 12:53:38,207 INFO L290 TraceCheckUtils]: 17: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-08 12:53:38,207 INFO L290 TraceCheckUtils]: 16: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-08 12:53:38,207 INFO L290 TraceCheckUtils]: 15: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-08 12:53:38,208 INFO L272 TraceCheckUtils]: 14: Hoare triple {4566#(< ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4297#true} is VALID [2022-04-08 12:53:38,208 INFO L290 TraceCheckUtils]: 13: Hoare triple {4566#(< ~counter~0 4)} assume !!(#t~post6 < 5);havoc #t~post6; {4566#(< ~counter~0 4)} is VALID [2022-04-08 12:53:38,208 INFO L290 TraceCheckUtils]: 12: Hoare triple {4394#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4566#(< ~counter~0 4)} is VALID [2022-04-08 12:53:38,209 INFO L290 TraceCheckUtils]: 11: Hoare triple {4394#(<= ~counter~0 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:38,209 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4297#true} {4394#(<= ~counter~0 2)} #80#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:38,209 INFO L290 TraceCheckUtils]: 9: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-08 12:53:38,209 INFO L290 TraceCheckUtils]: 8: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-08 12:53:38,209 INFO L290 TraceCheckUtils]: 7: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-08 12:53:38,210 INFO L272 TraceCheckUtils]: 6: Hoare triple {4394#(<= ~counter~0 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4297#true} is VALID [2022-04-08 12:53:38,210 INFO L290 TraceCheckUtils]: 5: Hoare triple {4394#(<= ~counter~0 2)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:38,210 INFO L272 TraceCheckUtils]: 4: Hoare triple {4394#(<= ~counter~0 2)} call #t~ret8 := main(); {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:38,211 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4394#(<= ~counter~0 2)} {4297#true} #96#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:38,211 INFO L290 TraceCheckUtils]: 2: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:38,212 INFO L290 TraceCheckUtils]: 1: Hoare triple {4297#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:38,212 INFO L272 TraceCheckUtils]: 0: Hoare triple {4297#true} call ULTIMATE.init(); {4297#true} is VALID [2022-04-08 12:53:38,212 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-08 12:53:38,212 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:38,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1677636492] [2022-04-08 12:53:38,212 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:53:38,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [599242010] [2022-04-08 12:53:38,212 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [599242010] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:53:38,212 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:53:38,213 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2022-04-08 12:53:38,213 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:38,213 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [565871872] [2022-04-08 12:53:38,213 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [565871872] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:38,213 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:38,213 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:53:38,213 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1968727707] [2022-04-08 12:53:38,213 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:38,214 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 59 [2022-04-08 12:53:38,214 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:38,214 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:38,256 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-08 12:53:38,256 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 12:53:38,257 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:38,257 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 12:53:38,257 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:53:38,257 INFO L87 Difference]: Start difference. First operand 79 states and 94 transitions. Second operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:38,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:38,452 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-08 12:53:38,452 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 12:53:38,452 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 59 [2022-04-08 12:53:38,452 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:38,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:38,454 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 79 transitions. [2022-04-08 12:53:38,454 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:38,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 79 transitions. [2022-04-08 12:53:38,456 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 79 transitions. [2022-04-08 12:53:38,524 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:38,526 INFO L225 Difference]: With dead ends: 110 [2022-04-08 12:53:38,526 INFO L226 Difference]: Without dead ends: 98 [2022-04-08 12:53:38,526 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 109 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:53:38,527 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 14 mSDsluCounter, 84 mSDsCounter, 0 mSdLazyCounter, 27 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 37 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 27 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:38,527 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 129 Invalid, 37 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 27 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:53:38,527 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-08 12:53:38,592 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 97. [2022-04-08 12:53:38,593 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:38,593 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 12:53:38,593 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 12:53:38,593 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 12:53:38,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:38,596 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-08 12:53:38,596 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-08 12:53:38,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:38,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:38,597 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 98 states. [2022-04-08 12:53:38,597 INFO L87 Difference]: Start difference. First operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 98 states. [2022-04-08 12:53:38,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:38,600 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-08 12:53:38,600 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-08 12:53:38,600 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:38,600 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:38,600 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:38,600 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:38,601 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 12:53:38,603 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 113 transitions. [2022-04-08 12:53:38,603 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 113 transitions. Word has length 59 [2022-04-08 12:53:38,603 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:38,603 INFO L478 AbstractCegarLoop]: Abstraction has 97 states and 113 transitions. [2022-04-08 12:53:38,603 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:38,603 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 97 states and 113 transitions. [2022-04-08 12:53:38,724 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-08 12:53:38,724 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 113 transitions. [2022-04-08 12:53:38,725 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-08 12:53:38,725 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:38,725 INFO L499 BasicCegarLoop]: 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, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:38,741 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-08 12:53:38,927 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:38,927 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:38,928 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:38,928 INFO L85 PathProgramCache]: Analyzing trace with hash 940283669, now seen corresponding path program 3 times [2022-04-08 12:53:38,928 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:38,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [631588866] [2022-04-08 12:53:47,972 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:53:47,972 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:53:47,972 INFO L85 PathProgramCache]: Analyzing trace with hash 940283669, now seen corresponding path program 4 times [2022-04-08 12:53:47,973 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:47,973 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1583215602] [2022-04-08 12:53:47,973 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:47,973 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:47,982 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:53:47,982 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1026958535] [2022-04-08 12:53:47,983 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:53:47,983 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:47,983 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:47,991 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-08 12:53:47,993 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-08 12:53:48,031 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:53:48,031 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:53:48,031 INFO L263 TraceCheckSpWp]: Trace formula consists of 170 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 12:53:48,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:48,044 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:53:48,304 INFO L272 TraceCheckUtils]: 0: Hoare triple {5269#true} call ULTIMATE.init(); {5269#true} is VALID [2022-04-08 12:53:48,305 INFO L290 TraceCheckUtils]: 1: Hoare triple {5269#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5277#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:48,306 INFO L290 TraceCheckUtils]: 2: Hoare triple {5277#(<= ~counter~0 0)} assume true; {5277#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:48,306 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5277#(<= ~counter~0 0)} {5269#true} #96#return; {5277#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:48,307 INFO L272 TraceCheckUtils]: 4: Hoare triple {5277#(<= ~counter~0 0)} call #t~ret8 := main(); {5277#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:48,307 INFO L290 TraceCheckUtils]: 5: Hoare triple {5277#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {5277#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:48,308 INFO L272 TraceCheckUtils]: 6: Hoare triple {5277#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5277#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:48,308 INFO L290 TraceCheckUtils]: 7: Hoare triple {5277#(<= ~counter~0 0)} ~cond := #in~cond; {5277#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:48,308 INFO L290 TraceCheckUtils]: 8: Hoare triple {5277#(<= ~counter~0 0)} assume !(0 == ~cond); {5277#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:48,309 INFO L290 TraceCheckUtils]: 9: Hoare triple {5277#(<= ~counter~0 0)} assume true; {5277#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:48,309 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5277#(<= ~counter~0 0)} {5277#(<= ~counter~0 0)} #80#return; {5277#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:48,310 INFO L290 TraceCheckUtils]: 11: Hoare triple {5277#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5277#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:48,310 INFO L290 TraceCheckUtils]: 12: Hoare triple {5277#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5311#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:48,311 INFO L290 TraceCheckUtils]: 13: Hoare triple {5311#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {5311#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:48,311 INFO L272 TraceCheckUtils]: 14: Hoare triple {5311#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5311#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:48,312 INFO L290 TraceCheckUtils]: 15: Hoare triple {5311#(<= ~counter~0 1)} ~cond := #in~cond; {5311#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:48,312 INFO L290 TraceCheckUtils]: 16: Hoare triple {5311#(<= ~counter~0 1)} assume !(0 == ~cond); {5311#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:48,312 INFO L290 TraceCheckUtils]: 17: Hoare triple {5311#(<= ~counter~0 1)} assume true; {5311#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:48,313 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5311#(<= ~counter~0 1)} {5311#(<= ~counter~0 1)} #82#return; {5311#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:48,314 INFO L272 TraceCheckUtils]: 19: Hoare triple {5311#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5311#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:48,314 INFO L290 TraceCheckUtils]: 20: Hoare triple {5311#(<= ~counter~0 1)} ~cond := #in~cond; {5311#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:48,314 INFO L290 TraceCheckUtils]: 21: Hoare triple {5311#(<= ~counter~0 1)} assume !(0 == ~cond); {5311#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:48,315 INFO L290 TraceCheckUtils]: 22: Hoare triple {5311#(<= ~counter~0 1)} assume true; {5311#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:48,315 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5311#(<= ~counter~0 1)} {5311#(<= ~counter~0 1)} #84#return; {5311#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:48,316 INFO L272 TraceCheckUtils]: 24: Hoare triple {5311#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5311#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:48,316 INFO L290 TraceCheckUtils]: 25: Hoare triple {5311#(<= ~counter~0 1)} ~cond := #in~cond; {5311#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:48,317 INFO L290 TraceCheckUtils]: 26: Hoare triple {5311#(<= ~counter~0 1)} assume !(0 == ~cond); {5311#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:48,317 INFO L290 TraceCheckUtils]: 27: Hoare triple {5311#(<= ~counter~0 1)} assume true; {5311#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:48,318 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5311#(<= ~counter~0 1)} {5311#(<= ~counter~0 1)} #86#return; {5311#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:48,318 INFO L290 TraceCheckUtils]: 29: Hoare triple {5311#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5311#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:48,319 INFO L290 TraceCheckUtils]: 30: Hoare triple {5311#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,319 INFO L290 TraceCheckUtils]: 31: Hoare triple {5366#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,320 INFO L272 TraceCheckUtils]: 32: Hoare triple {5366#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,320 INFO L290 TraceCheckUtils]: 33: Hoare triple {5366#(<= ~counter~0 2)} ~cond := #in~cond; {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,321 INFO L290 TraceCheckUtils]: 34: Hoare triple {5366#(<= ~counter~0 2)} assume !(0 == ~cond); {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,321 INFO L290 TraceCheckUtils]: 35: Hoare triple {5366#(<= ~counter~0 2)} assume true; {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,321 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5366#(<= ~counter~0 2)} {5366#(<= ~counter~0 2)} #82#return; {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,322 INFO L272 TraceCheckUtils]: 37: Hoare triple {5366#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,322 INFO L290 TraceCheckUtils]: 38: Hoare triple {5366#(<= ~counter~0 2)} ~cond := #in~cond; {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,323 INFO L290 TraceCheckUtils]: 39: Hoare triple {5366#(<= ~counter~0 2)} assume !(0 == ~cond); {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,323 INFO L290 TraceCheckUtils]: 40: Hoare triple {5366#(<= ~counter~0 2)} assume true; {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,323 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5366#(<= ~counter~0 2)} {5366#(<= ~counter~0 2)} #84#return; {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,324 INFO L272 TraceCheckUtils]: 42: Hoare triple {5366#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,324 INFO L290 TraceCheckUtils]: 43: Hoare triple {5366#(<= ~counter~0 2)} ~cond := #in~cond; {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,325 INFO L290 TraceCheckUtils]: 44: Hoare triple {5366#(<= ~counter~0 2)} assume !(0 == ~cond); {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,325 INFO L290 TraceCheckUtils]: 45: Hoare triple {5366#(<= ~counter~0 2)} assume true; {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,326 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5366#(<= ~counter~0 2)} {5366#(<= ~counter~0 2)} #86#return; {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,326 INFO L290 TraceCheckUtils]: 47: Hoare triple {5366#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,326 INFO L290 TraceCheckUtils]: 48: Hoare triple {5366#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5421#(<= |main_#t~post6| 2)} is VALID [2022-04-08 12:53:48,327 INFO L290 TraceCheckUtils]: 49: Hoare triple {5421#(<= |main_#t~post6| 2)} assume !(#t~post6 < 5);havoc #t~post6; {5270#false} is VALID [2022-04-08 12:53:48,327 INFO L290 TraceCheckUtils]: 50: Hoare triple {5270#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5270#false} is VALID [2022-04-08 12:53:48,327 INFO L290 TraceCheckUtils]: 51: Hoare triple {5270#false} assume !(#t~post7 < 5);havoc #t~post7; {5270#false} is VALID [2022-04-08 12:53:48,327 INFO L272 TraceCheckUtils]: 52: Hoare triple {5270#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5270#false} is VALID [2022-04-08 12:53:48,327 INFO L290 TraceCheckUtils]: 53: Hoare triple {5270#false} ~cond := #in~cond; {5270#false} is VALID [2022-04-08 12:53:48,327 INFO L290 TraceCheckUtils]: 54: Hoare triple {5270#false} assume !(0 == ~cond); {5270#false} is VALID [2022-04-08 12:53:48,327 INFO L290 TraceCheckUtils]: 55: Hoare triple {5270#false} assume true; {5270#false} is VALID [2022-04-08 12:53:48,327 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5270#false} {5270#false} #92#return; {5270#false} is VALID [2022-04-08 12:53:48,327 INFO L272 TraceCheckUtils]: 57: Hoare triple {5270#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {5270#false} is VALID [2022-04-08 12:53:48,328 INFO L290 TraceCheckUtils]: 58: Hoare triple {5270#false} ~cond := #in~cond; {5270#false} is VALID [2022-04-08 12:53:48,328 INFO L290 TraceCheckUtils]: 59: Hoare triple {5270#false} assume 0 == ~cond; {5270#false} is VALID [2022-04-08 12:53:48,328 INFO L290 TraceCheckUtils]: 60: Hoare triple {5270#false} assume !false; {5270#false} is VALID [2022-04-08 12:53:48,328 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-08 12:53:48,328 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:53:48,644 INFO L290 TraceCheckUtils]: 60: Hoare triple {5270#false} assume !false; {5270#false} is VALID [2022-04-08 12:53:48,644 INFO L290 TraceCheckUtils]: 59: Hoare triple {5270#false} assume 0 == ~cond; {5270#false} is VALID [2022-04-08 12:53:48,645 INFO L290 TraceCheckUtils]: 58: Hoare triple {5270#false} ~cond := #in~cond; {5270#false} is VALID [2022-04-08 12:53:48,645 INFO L272 TraceCheckUtils]: 57: Hoare triple {5270#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {5270#false} is VALID [2022-04-08 12:53:48,645 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5269#true} {5270#false} #92#return; {5270#false} is VALID [2022-04-08 12:53:48,645 INFO L290 TraceCheckUtils]: 55: Hoare triple {5269#true} assume true; {5269#true} is VALID [2022-04-08 12:53:48,645 INFO L290 TraceCheckUtils]: 54: Hoare triple {5269#true} assume !(0 == ~cond); {5269#true} is VALID [2022-04-08 12:53:48,645 INFO L290 TraceCheckUtils]: 53: Hoare triple {5269#true} ~cond := #in~cond; {5269#true} is VALID [2022-04-08 12:53:48,645 INFO L272 TraceCheckUtils]: 52: Hoare triple {5270#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5269#true} is VALID [2022-04-08 12:53:48,645 INFO L290 TraceCheckUtils]: 51: Hoare triple {5270#false} assume !(#t~post7 < 5);havoc #t~post7; {5270#false} is VALID [2022-04-08 12:53:48,645 INFO L290 TraceCheckUtils]: 50: Hoare triple {5270#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5270#false} is VALID [2022-04-08 12:53:48,646 INFO L290 TraceCheckUtils]: 49: Hoare triple {5491#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {5270#false} is VALID [2022-04-08 12:53:48,646 INFO L290 TraceCheckUtils]: 48: Hoare triple {5495#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5491#(< |main_#t~post6| 5)} is VALID [2022-04-08 12:53:48,646 INFO L290 TraceCheckUtils]: 47: Hoare triple {5495#(< ~counter~0 5)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5495#(< ~counter~0 5)} is VALID [2022-04-08 12:53:48,647 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5269#true} {5495#(< ~counter~0 5)} #86#return; {5495#(< ~counter~0 5)} is VALID [2022-04-08 12:53:48,647 INFO L290 TraceCheckUtils]: 45: Hoare triple {5269#true} assume true; {5269#true} is VALID [2022-04-08 12:53:48,647 INFO L290 TraceCheckUtils]: 44: Hoare triple {5269#true} assume !(0 == ~cond); {5269#true} is VALID [2022-04-08 12:53:48,647 INFO L290 TraceCheckUtils]: 43: Hoare triple {5269#true} ~cond := #in~cond; {5269#true} is VALID [2022-04-08 12:53:48,647 INFO L272 TraceCheckUtils]: 42: Hoare triple {5495#(< ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5269#true} is VALID [2022-04-08 12:53:48,647 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5269#true} {5495#(< ~counter~0 5)} #84#return; {5495#(< ~counter~0 5)} is VALID [2022-04-08 12:53:48,648 INFO L290 TraceCheckUtils]: 40: Hoare triple {5269#true} assume true; {5269#true} is VALID [2022-04-08 12:53:48,648 INFO L290 TraceCheckUtils]: 39: Hoare triple {5269#true} assume !(0 == ~cond); {5269#true} is VALID [2022-04-08 12:53:48,648 INFO L290 TraceCheckUtils]: 38: Hoare triple {5269#true} ~cond := #in~cond; {5269#true} is VALID [2022-04-08 12:53:48,648 INFO L272 TraceCheckUtils]: 37: Hoare triple {5495#(< ~counter~0 5)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5269#true} is VALID [2022-04-08 12:53:48,648 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5269#true} {5495#(< ~counter~0 5)} #82#return; {5495#(< ~counter~0 5)} is VALID [2022-04-08 12:53:48,648 INFO L290 TraceCheckUtils]: 35: Hoare triple {5269#true} assume true; {5269#true} is VALID [2022-04-08 12:53:48,648 INFO L290 TraceCheckUtils]: 34: Hoare triple {5269#true} assume !(0 == ~cond); {5269#true} is VALID [2022-04-08 12:53:48,648 INFO L290 TraceCheckUtils]: 33: Hoare triple {5269#true} ~cond := #in~cond; {5269#true} is VALID [2022-04-08 12:53:48,648 INFO L272 TraceCheckUtils]: 32: Hoare triple {5495#(< ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5269#true} is VALID [2022-04-08 12:53:48,649 INFO L290 TraceCheckUtils]: 31: Hoare triple {5495#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {5495#(< ~counter~0 5)} is VALID [2022-04-08 12:53:48,649 INFO L290 TraceCheckUtils]: 30: Hoare triple {5550#(< ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5495#(< ~counter~0 5)} is VALID [2022-04-08 12:53:48,649 INFO L290 TraceCheckUtils]: 29: Hoare triple {5550#(< ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5550#(< ~counter~0 4)} is VALID [2022-04-08 12:53:48,650 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5269#true} {5550#(< ~counter~0 4)} #86#return; {5550#(< ~counter~0 4)} is VALID [2022-04-08 12:53:48,650 INFO L290 TraceCheckUtils]: 27: Hoare triple {5269#true} assume true; {5269#true} is VALID [2022-04-08 12:53:48,650 INFO L290 TraceCheckUtils]: 26: Hoare triple {5269#true} assume !(0 == ~cond); {5269#true} is VALID [2022-04-08 12:53:48,650 INFO L290 TraceCheckUtils]: 25: Hoare triple {5269#true} ~cond := #in~cond; {5269#true} is VALID [2022-04-08 12:53:48,650 INFO L272 TraceCheckUtils]: 24: Hoare triple {5550#(< ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5269#true} is VALID [2022-04-08 12:53:48,650 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5269#true} {5550#(< ~counter~0 4)} #84#return; {5550#(< ~counter~0 4)} is VALID [2022-04-08 12:53:48,650 INFO L290 TraceCheckUtils]: 22: Hoare triple {5269#true} assume true; {5269#true} is VALID [2022-04-08 12:53:48,651 INFO L290 TraceCheckUtils]: 21: Hoare triple {5269#true} assume !(0 == ~cond); {5269#true} is VALID [2022-04-08 12:53:48,651 INFO L290 TraceCheckUtils]: 20: Hoare triple {5269#true} ~cond := #in~cond; {5269#true} is VALID [2022-04-08 12:53:48,651 INFO L272 TraceCheckUtils]: 19: Hoare triple {5550#(< ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5269#true} is VALID [2022-04-08 12:53:48,651 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5269#true} {5550#(< ~counter~0 4)} #82#return; {5550#(< ~counter~0 4)} is VALID [2022-04-08 12:53:48,651 INFO L290 TraceCheckUtils]: 17: Hoare triple {5269#true} assume true; {5269#true} is VALID [2022-04-08 12:53:48,651 INFO L290 TraceCheckUtils]: 16: Hoare triple {5269#true} assume !(0 == ~cond); {5269#true} is VALID [2022-04-08 12:53:48,651 INFO L290 TraceCheckUtils]: 15: Hoare triple {5269#true} ~cond := #in~cond; {5269#true} is VALID [2022-04-08 12:53:48,651 INFO L272 TraceCheckUtils]: 14: Hoare triple {5550#(< ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5269#true} is VALID [2022-04-08 12:53:48,652 INFO L290 TraceCheckUtils]: 13: Hoare triple {5550#(< ~counter~0 4)} assume !!(#t~post6 < 5);havoc #t~post6; {5550#(< ~counter~0 4)} is VALID [2022-04-08 12:53:48,652 INFO L290 TraceCheckUtils]: 12: Hoare triple {5366#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5550#(< ~counter~0 4)} is VALID [2022-04-08 12:53:48,652 INFO L290 TraceCheckUtils]: 11: Hoare triple {5366#(<= ~counter~0 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,653 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5269#true} {5366#(<= ~counter~0 2)} #80#return; {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,653 INFO L290 TraceCheckUtils]: 9: Hoare triple {5269#true} assume true; {5269#true} is VALID [2022-04-08 12:53:48,653 INFO L290 TraceCheckUtils]: 8: Hoare triple {5269#true} assume !(0 == ~cond); {5269#true} is VALID [2022-04-08 12:53:48,653 INFO L290 TraceCheckUtils]: 7: Hoare triple {5269#true} ~cond := #in~cond; {5269#true} is VALID [2022-04-08 12:53:48,653 INFO L272 TraceCheckUtils]: 6: Hoare triple {5366#(<= ~counter~0 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5269#true} is VALID [2022-04-08 12:53:48,653 INFO L290 TraceCheckUtils]: 5: Hoare triple {5366#(<= ~counter~0 2)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,653 INFO L272 TraceCheckUtils]: 4: Hoare triple {5366#(<= ~counter~0 2)} call #t~ret8 := main(); {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,654 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5366#(<= ~counter~0 2)} {5269#true} #96#return; {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,654 INFO L290 TraceCheckUtils]: 2: Hoare triple {5366#(<= ~counter~0 2)} assume true; {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,654 INFO L290 TraceCheckUtils]: 1: Hoare triple {5269#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5366#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:48,654 INFO L272 TraceCheckUtils]: 0: Hoare triple {5269#true} call ULTIMATE.init(); {5269#true} is VALID [2022-04-08 12:53:48,655 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-08 12:53:48,655 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:48,655 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1583215602] [2022-04-08 12:53:48,655 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:53:48,655 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1026958535] [2022-04-08 12:53:48,655 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1026958535] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:53:48,655 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:53:48,655 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2022-04-08 12:53:48,656 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:48,656 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [631588866] [2022-04-08 12:53:48,656 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [631588866] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:48,656 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:48,656 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:53:48,656 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [891935745] [2022-04-08 12:53:48,656 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:48,656 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 61 [2022-04-08 12:53:48,658 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:48,658 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:48,690 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:48,690 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 12:53:48,690 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:48,691 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 12:53:48,691 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:53:48,691 INFO L87 Difference]: Start difference. First operand 97 states and 113 transitions. Second operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:48,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:48,911 INFO L93 Difference]: Finished difference Result 132 states and 161 transitions. [2022-04-08 12:53:48,911 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:53:48,911 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 61 [2022-04-08 12:53:48,912 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:48,912 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:48,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-08 12:53:48,913 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:48,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-08 12:53:48,915 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 90 transitions. [2022-04-08 12:53:48,980 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:48,982 INFO L225 Difference]: With dead ends: 132 [2022-04-08 12:53:48,982 INFO L226 Difference]: Without dead ends: 99 [2022-04-08 12:53:48,983 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 113 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=42, Invalid=68, Unknown=0, NotChecked=0, Total=110 [2022-04-08 12:53:48,983 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 13 mSDsluCounter, 81 mSDsCounter, 0 mSdLazyCounter, 26 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 26 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:48,983 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 126 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 26 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:53:48,983 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-04-08 12:53:49,069 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 99. [2022-04-08 12:53:49,069 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:49,069 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 12:53:49,070 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 12:53:49,070 INFO L87 Difference]: Start difference. First operand 99 states. Second operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 12:53:49,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:49,072 INFO L93 Difference]: Finished difference Result 99 states and 115 transitions. [2022-04-08 12:53:49,072 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-08 12:53:49,073 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:49,073 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:49,073 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 99 states. [2022-04-08 12:53:49,073 INFO L87 Difference]: Start difference. First operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 99 states. [2022-04-08 12:53:49,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:49,076 INFO L93 Difference]: Finished difference Result 99 states and 115 transitions. [2022-04-08 12:53:49,076 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-08 12:53:49,076 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:49,076 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:49,076 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:49,076 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:49,077 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 12:53:49,079 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 115 transitions. [2022-04-08 12:53:49,079 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 115 transitions. Word has length 61 [2022-04-08 12:53:49,079 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:49,079 INFO L478 AbstractCegarLoop]: Abstraction has 99 states and 115 transitions. [2022-04-08 12:53:49,079 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:49,079 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 115 transitions. [2022-04-08 12:53:49,229 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:49,229 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-08 12:53:49,230 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-08 12:53:49,230 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:49,230 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:49,256 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-08 12:53:49,430 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 12:53:49,431 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:49,431 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:49,431 INFO L85 PathProgramCache]: Analyzing trace with hash 1140868055, now seen corresponding path program 1 times [2022-04-08 12:53:49,431 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:49,431 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1110612840] [2022-04-08 12:53:56,015 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:53:56,015 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:53:56,015 INFO L85 PathProgramCache]: Analyzing trace with hash 1140868055, now seen corresponding path program 2 times [2022-04-08 12:53:56,016 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:56,016 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1804827335] [2022-04-08 12:53:56,016 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:56,016 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:56,033 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:53:56,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [864847064] [2022-04-08 12:53:56,033 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:53:56,033 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:56,033 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:56,037 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-08 12:53:56,038 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-08 12:53:56,078 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:53:56,078 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:53:56,079 INFO L263 TraceCheckSpWp]: Trace formula consists of 185 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 12:53:56,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:56,100 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:53:56,406 INFO L272 TraceCheckUtils]: 0: Hoare triple {6307#true} call ULTIMATE.init(); {6307#true} is VALID [2022-04-08 12:53:56,406 INFO L290 TraceCheckUtils]: 1: Hoare triple {6307#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6315#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:56,407 INFO L290 TraceCheckUtils]: 2: Hoare triple {6315#(<= ~counter~0 0)} assume true; {6315#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:56,407 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6315#(<= ~counter~0 0)} {6307#true} #96#return; {6315#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:56,408 INFO L272 TraceCheckUtils]: 4: Hoare triple {6315#(<= ~counter~0 0)} call #t~ret8 := main(); {6315#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:56,408 INFO L290 TraceCheckUtils]: 5: Hoare triple {6315#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {6315#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:56,408 INFO L272 TraceCheckUtils]: 6: Hoare triple {6315#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6315#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:56,409 INFO L290 TraceCheckUtils]: 7: Hoare triple {6315#(<= ~counter~0 0)} ~cond := #in~cond; {6315#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:56,409 INFO L290 TraceCheckUtils]: 8: Hoare triple {6315#(<= ~counter~0 0)} assume !(0 == ~cond); {6315#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:56,410 INFO L290 TraceCheckUtils]: 9: Hoare triple {6315#(<= ~counter~0 0)} assume true; {6315#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:56,410 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6315#(<= ~counter~0 0)} {6315#(<= ~counter~0 0)} #80#return; {6315#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:56,411 INFO L290 TraceCheckUtils]: 11: Hoare triple {6315#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6315#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:56,411 INFO L290 TraceCheckUtils]: 12: Hoare triple {6315#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,412 INFO L290 TraceCheckUtils]: 13: Hoare triple {6349#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,412 INFO L272 TraceCheckUtils]: 14: Hoare triple {6349#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,413 INFO L290 TraceCheckUtils]: 15: Hoare triple {6349#(<= ~counter~0 1)} ~cond := #in~cond; {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,413 INFO L290 TraceCheckUtils]: 16: Hoare triple {6349#(<= ~counter~0 1)} assume !(0 == ~cond); {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,413 INFO L290 TraceCheckUtils]: 17: Hoare triple {6349#(<= ~counter~0 1)} assume true; {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,414 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6349#(<= ~counter~0 1)} {6349#(<= ~counter~0 1)} #82#return; {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,415 INFO L272 TraceCheckUtils]: 19: Hoare triple {6349#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,415 INFO L290 TraceCheckUtils]: 20: Hoare triple {6349#(<= ~counter~0 1)} ~cond := #in~cond; {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,415 INFO L290 TraceCheckUtils]: 21: Hoare triple {6349#(<= ~counter~0 1)} assume !(0 == ~cond); {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,416 INFO L290 TraceCheckUtils]: 22: Hoare triple {6349#(<= ~counter~0 1)} assume true; {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,416 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6349#(<= ~counter~0 1)} {6349#(<= ~counter~0 1)} #84#return; {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,417 INFO L272 TraceCheckUtils]: 24: Hoare triple {6349#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,417 INFO L290 TraceCheckUtils]: 25: Hoare triple {6349#(<= ~counter~0 1)} ~cond := #in~cond; {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,418 INFO L290 TraceCheckUtils]: 26: Hoare triple {6349#(<= ~counter~0 1)} assume !(0 == ~cond); {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,418 INFO L290 TraceCheckUtils]: 27: Hoare triple {6349#(<= ~counter~0 1)} assume true; {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,419 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6349#(<= ~counter~0 1)} {6349#(<= ~counter~0 1)} #86#return; {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,419 INFO L290 TraceCheckUtils]: 29: Hoare triple {6349#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,420 INFO L290 TraceCheckUtils]: 30: Hoare triple {6349#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,420 INFO L290 TraceCheckUtils]: 31: Hoare triple {6404#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,421 INFO L272 TraceCheckUtils]: 32: Hoare triple {6404#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,421 INFO L290 TraceCheckUtils]: 33: Hoare triple {6404#(<= ~counter~0 2)} ~cond := #in~cond; {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,422 INFO L290 TraceCheckUtils]: 34: Hoare triple {6404#(<= ~counter~0 2)} assume !(0 == ~cond); {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,422 INFO L290 TraceCheckUtils]: 35: Hoare triple {6404#(<= ~counter~0 2)} assume true; {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,422 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6404#(<= ~counter~0 2)} {6404#(<= ~counter~0 2)} #82#return; {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,423 INFO L272 TraceCheckUtils]: 37: Hoare triple {6404#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,423 INFO L290 TraceCheckUtils]: 38: Hoare triple {6404#(<= ~counter~0 2)} ~cond := #in~cond; {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,424 INFO L290 TraceCheckUtils]: 39: Hoare triple {6404#(<= ~counter~0 2)} assume !(0 == ~cond); {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,424 INFO L290 TraceCheckUtils]: 40: Hoare triple {6404#(<= ~counter~0 2)} assume true; {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,425 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6404#(<= ~counter~0 2)} {6404#(<= ~counter~0 2)} #84#return; {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,425 INFO L272 TraceCheckUtils]: 42: Hoare triple {6404#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,426 INFO L290 TraceCheckUtils]: 43: Hoare triple {6404#(<= ~counter~0 2)} ~cond := #in~cond; {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,426 INFO L290 TraceCheckUtils]: 44: Hoare triple {6404#(<= ~counter~0 2)} assume !(0 == ~cond); {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,426 INFO L290 TraceCheckUtils]: 45: Hoare triple {6404#(<= ~counter~0 2)} assume true; {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,427 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6404#(<= ~counter~0 2)} {6404#(<= ~counter~0 2)} #86#return; {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,427 INFO L290 TraceCheckUtils]: 47: Hoare triple {6404#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,428 INFO L290 TraceCheckUtils]: 48: Hoare triple {6404#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,428 INFO L290 TraceCheckUtils]: 49: Hoare triple {6459#(<= ~counter~0 3)} assume !!(#t~post7 < 5);havoc #t~post7; {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,429 INFO L272 TraceCheckUtils]: 50: Hoare triple {6459#(<= ~counter~0 3)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,429 INFO L290 TraceCheckUtils]: 51: Hoare triple {6459#(<= ~counter~0 3)} ~cond := #in~cond; {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,430 INFO L290 TraceCheckUtils]: 52: Hoare triple {6459#(<= ~counter~0 3)} assume !(0 == ~cond); {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,430 INFO L290 TraceCheckUtils]: 53: Hoare triple {6459#(<= ~counter~0 3)} assume true; {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,431 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {6459#(<= ~counter~0 3)} {6459#(<= ~counter~0 3)} #88#return; {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,431 INFO L272 TraceCheckUtils]: 55: Hoare triple {6459#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,432 INFO L290 TraceCheckUtils]: 56: Hoare triple {6459#(<= ~counter~0 3)} ~cond := #in~cond; {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,432 INFO L290 TraceCheckUtils]: 57: Hoare triple {6459#(<= ~counter~0 3)} assume !(0 == ~cond); {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,432 INFO L290 TraceCheckUtils]: 58: Hoare triple {6459#(<= ~counter~0 3)} assume true; {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,433 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6459#(<= ~counter~0 3)} {6459#(<= ~counter~0 3)} #90#return; {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,433 INFO L290 TraceCheckUtils]: 60: Hoare triple {6459#(<= ~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); {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,434 INFO L290 TraceCheckUtils]: 61: Hoare triple {6459#(<= ~counter~0 3)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,434 INFO L290 TraceCheckUtils]: 62: Hoare triple {6459#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6502#(<= |main_#t~post7| 3)} is VALID [2022-04-08 12:53:56,435 INFO L290 TraceCheckUtils]: 63: Hoare triple {6502#(<= |main_#t~post7| 3)} assume !(#t~post7 < 5);havoc #t~post7; {6308#false} is VALID [2022-04-08 12:53:56,435 INFO L272 TraceCheckUtils]: 64: Hoare triple {6308#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6308#false} is VALID [2022-04-08 12:53:56,435 INFO L290 TraceCheckUtils]: 65: Hoare triple {6308#false} ~cond := #in~cond; {6308#false} is VALID [2022-04-08 12:53:56,435 INFO L290 TraceCheckUtils]: 66: Hoare triple {6308#false} assume 0 == ~cond; {6308#false} is VALID [2022-04-08 12:53:56,435 INFO L290 TraceCheckUtils]: 67: Hoare triple {6308#false} assume !false; {6308#false} is VALID [2022-04-08 12:53:56,435 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-08 12:53:56,435 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:53:56,754 INFO L290 TraceCheckUtils]: 67: Hoare triple {6308#false} assume !false; {6308#false} is VALID [2022-04-08 12:53:56,754 INFO L290 TraceCheckUtils]: 66: Hoare triple {6308#false} assume 0 == ~cond; {6308#false} is VALID [2022-04-08 12:53:56,754 INFO L290 TraceCheckUtils]: 65: Hoare triple {6308#false} ~cond := #in~cond; {6308#false} is VALID [2022-04-08 12:53:56,754 INFO L272 TraceCheckUtils]: 64: Hoare triple {6308#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6308#false} is VALID [2022-04-08 12:53:56,755 INFO L290 TraceCheckUtils]: 63: Hoare triple {6530#(< |main_#t~post7| 5)} assume !(#t~post7 < 5);havoc #t~post7; {6308#false} is VALID [2022-04-08 12:53:56,755 INFO L290 TraceCheckUtils]: 62: Hoare triple {6534#(< ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6530#(< |main_#t~post7| 5)} is VALID [2022-04-08 12:53:56,755 INFO L290 TraceCheckUtils]: 61: Hoare triple {6534#(< ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6534#(< ~counter~0 5)} is VALID [2022-04-08 12:53:56,755 INFO L290 TraceCheckUtils]: 60: Hoare triple {6534#(< ~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); {6534#(< ~counter~0 5)} is VALID [2022-04-08 12:53:56,756 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6307#true} {6534#(< ~counter~0 5)} #90#return; {6534#(< ~counter~0 5)} is VALID [2022-04-08 12:53:56,756 INFO L290 TraceCheckUtils]: 58: Hoare triple {6307#true} assume true; {6307#true} is VALID [2022-04-08 12:53:56,756 INFO L290 TraceCheckUtils]: 57: Hoare triple {6307#true} assume !(0 == ~cond); {6307#true} is VALID [2022-04-08 12:53:56,756 INFO L290 TraceCheckUtils]: 56: Hoare triple {6307#true} ~cond := #in~cond; {6307#true} is VALID [2022-04-08 12:53:56,756 INFO L272 TraceCheckUtils]: 55: Hoare triple {6534#(< ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6307#true} is VALID [2022-04-08 12:53:56,757 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {6307#true} {6534#(< ~counter~0 5)} #88#return; {6534#(< ~counter~0 5)} is VALID [2022-04-08 12:53:56,757 INFO L290 TraceCheckUtils]: 53: Hoare triple {6307#true} assume true; {6307#true} is VALID [2022-04-08 12:53:56,757 INFO L290 TraceCheckUtils]: 52: Hoare triple {6307#true} assume !(0 == ~cond); {6307#true} is VALID [2022-04-08 12:53:56,757 INFO L290 TraceCheckUtils]: 51: Hoare triple {6307#true} ~cond := #in~cond; {6307#true} is VALID [2022-04-08 12:53:56,757 INFO L272 TraceCheckUtils]: 50: Hoare triple {6534#(< ~counter~0 5)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6307#true} is VALID [2022-04-08 12:53:56,757 INFO L290 TraceCheckUtils]: 49: Hoare triple {6534#(< ~counter~0 5)} assume !!(#t~post7 < 5);havoc #t~post7; {6534#(< ~counter~0 5)} is VALID [2022-04-08 12:53:56,758 INFO L290 TraceCheckUtils]: 48: Hoare triple {6459#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6534#(< ~counter~0 5)} is VALID [2022-04-08 12:53:56,758 INFO L290 TraceCheckUtils]: 47: Hoare triple {6459#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,758 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6307#true} {6459#(<= ~counter~0 3)} #86#return; {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,758 INFO L290 TraceCheckUtils]: 45: Hoare triple {6307#true} assume true; {6307#true} is VALID [2022-04-08 12:53:56,759 INFO L290 TraceCheckUtils]: 44: Hoare triple {6307#true} assume !(0 == ~cond); {6307#true} is VALID [2022-04-08 12:53:56,759 INFO L290 TraceCheckUtils]: 43: Hoare triple {6307#true} ~cond := #in~cond; {6307#true} is VALID [2022-04-08 12:53:56,759 INFO L272 TraceCheckUtils]: 42: Hoare triple {6459#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6307#true} is VALID [2022-04-08 12:53:56,759 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6307#true} {6459#(<= ~counter~0 3)} #84#return; {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,759 INFO L290 TraceCheckUtils]: 40: Hoare triple {6307#true} assume true; {6307#true} is VALID [2022-04-08 12:53:56,759 INFO L290 TraceCheckUtils]: 39: Hoare triple {6307#true} assume !(0 == ~cond); {6307#true} is VALID [2022-04-08 12:53:56,773 INFO L290 TraceCheckUtils]: 38: Hoare triple {6307#true} ~cond := #in~cond; {6307#true} is VALID [2022-04-08 12:53:56,773 INFO L272 TraceCheckUtils]: 37: Hoare triple {6459#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6307#true} is VALID [2022-04-08 12:53:56,775 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6307#true} {6459#(<= ~counter~0 3)} #82#return; {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,775 INFO L290 TraceCheckUtils]: 35: Hoare triple {6307#true} assume true; {6307#true} is VALID [2022-04-08 12:53:56,775 INFO L290 TraceCheckUtils]: 34: Hoare triple {6307#true} assume !(0 == ~cond); {6307#true} is VALID [2022-04-08 12:53:56,775 INFO L290 TraceCheckUtils]: 33: Hoare triple {6307#true} ~cond := #in~cond; {6307#true} is VALID [2022-04-08 12:53:56,775 INFO L272 TraceCheckUtils]: 32: Hoare triple {6459#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6307#true} is VALID [2022-04-08 12:53:56,775 INFO L290 TraceCheckUtils]: 31: Hoare triple {6459#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,776 INFO L290 TraceCheckUtils]: 30: Hoare triple {6404#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6459#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:56,776 INFO L290 TraceCheckUtils]: 29: Hoare triple {6404#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,777 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6307#true} {6404#(<= ~counter~0 2)} #86#return; {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,777 INFO L290 TraceCheckUtils]: 27: Hoare triple {6307#true} assume true; {6307#true} is VALID [2022-04-08 12:53:56,777 INFO L290 TraceCheckUtils]: 26: Hoare triple {6307#true} assume !(0 == ~cond); {6307#true} is VALID [2022-04-08 12:53:56,777 INFO L290 TraceCheckUtils]: 25: Hoare triple {6307#true} ~cond := #in~cond; {6307#true} is VALID [2022-04-08 12:53:56,777 INFO L272 TraceCheckUtils]: 24: Hoare triple {6404#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6307#true} is VALID [2022-04-08 12:53:56,777 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6307#true} {6404#(<= ~counter~0 2)} #84#return; {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,777 INFO L290 TraceCheckUtils]: 22: Hoare triple {6307#true} assume true; {6307#true} is VALID [2022-04-08 12:53:56,778 INFO L290 TraceCheckUtils]: 21: Hoare triple {6307#true} assume !(0 == ~cond); {6307#true} is VALID [2022-04-08 12:53:56,778 INFO L290 TraceCheckUtils]: 20: Hoare triple {6307#true} ~cond := #in~cond; {6307#true} is VALID [2022-04-08 12:53:56,778 INFO L272 TraceCheckUtils]: 19: Hoare triple {6404#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6307#true} is VALID [2022-04-08 12:53:56,778 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6307#true} {6404#(<= ~counter~0 2)} #82#return; {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,778 INFO L290 TraceCheckUtils]: 17: Hoare triple {6307#true} assume true; {6307#true} is VALID [2022-04-08 12:53:56,778 INFO L290 TraceCheckUtils]: 16: Hoare triple {6307#true} assume !(0 == ~cond); {6307#true} is VALID [2022-04-08 12:53:56,778 INFO L290 TraceCheckUtils]: 15: Hoare triple {6307#true} ~cond := #in~cond; {6307#true} is VALID [2022-04-08 12:53:56,778 INFO L272 TraceCheckUtils]: 14: Hoare triple {6404#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6307#true} is VALID [2022-04-08 12:53:56,778 INFO L290 TraceCheckUtils]: 13: Hoare triple {6404#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,779 INFO L290 TraceCheckUtils]: 12: Hoare triple {6349#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6404#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:56,779 INFO L290 TraceCheckUtils]: 11: Hoare triple {6349#(<= ~counter~0 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,780 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6307#true} {6349#(<= ~counter~0 1)} #80#return; {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,780 INFO L290 TraceCheckUtils]: 9: Hoare triple {6307#true} assume true; {6307#true} is VALID [2022-04-08 12:53:56,780 INFO L290 TraceCheckUtils]: 8: Hoare triple {6307#true} assume !(0 == ~cond); {6307#true} is VALID [2022-04-08 12:53:56,780 INFO L290 TraceCheckUtils]: 7: Hoare triple {6307#true} ~cond := #in~cond; {6307#true} is VALID [2022-04-08 12:53:56,780 INFO L272 TraceCheckUtils]: 6: Hoare triple {6349#(<= ~counter~0 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6307#true} is VALID [2022-04-08 12:53:56,780 INFO L290 TraceCheckUtils]: 5: Hoare triple {6349#(<= ~counter~0 1)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,780 INFO L272 TraceCheckUtils]: 4: Hoare triple {6349#(<= ~counter~0 1)} call #t~ret8 := main(); {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,781 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6349#(<= ~counter~0 1)} {6307#true} #96#return; {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,781 INFO L290 TraceCheckUtils]: 2: Hoare triple {6349#(<= ~counter~0 1)} assume true; {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,781 INFO L290 TraceCheckUtils]: 1: Hoare triple {6307#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6349#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:56,781 INFO L272 TraceCheckUtils]: 0: Hoare triple {6307#true} call ULTIMATE.init(); {6307#true} is VALID [2022-04-08 12:53:56,782 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-08 12:53:56,782 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:56,782 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1804827335] [2022-04-08 12:53:56,782 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:53:56,782 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [864847064] [2022-04-08 12:53:56,782 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [864847064] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:53:56,782 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:53:56,782 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-08 12:53:56,782 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:56,782 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1110612840] [2022-04-08 12:53:56,782 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1110612840] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:56,783 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:56,783 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 12:53:56,783 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1366839790] [2022-04-08 12:53:56,783 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:56,783 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) Word has length 68 [2022-04-08 12:53:56,783 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:56,784 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-08 12:53:56,822 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-08 12:53:56,822 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 12:53:56,822 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:56,822 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 12:53:56,823 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:53:56,823 INFO L87 Difference]: Start difference. First operand 99 states and 115 transitions. Second operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-08 12:53:57,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:57,262 INFO L93 Difference]: Finished difference Result 151 states and 174 transitions. [2022-04-08 12:53:57,262 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:53:57,262 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) Word has length 68 [2022-04-08 12:53:57,263 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:57,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-08 12:53:57,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 107 transitions. [2022-04-08 12:53:57,265 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-08 12:53:57,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 107 transitions. [2022-04-08 12:53:57,266 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 107 transitions. [2022-04-08 12:53:57,353 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-08 12:53:57,355 INFO L225 Difference]: With dead ends: 151 [2022-04-08 12:53:57,355 INFO L226 Difference]: Without dead ends: 136 [2022-04-08 12:53:57,355 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 127 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=32, Invalid=58, Unknown=0, NotChecked=0, Total=90 [2022-04-08 12:53:57,356 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 29 mSDsluCounter, 120 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 173 SdHoareTripleChecker+Invalid, 72 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:57,356 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 173 Invalid, 72 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:53:57,357 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2022-04-08 12:53:57,460 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 133. [2022-04-08 12:53:57,460 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:57,460 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:53:57,461 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:53:57,461 INFO L87 Difference]: Start difference. First operand 136 states. Second operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:53:57,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:57,464 INFO L93 Difference]: Finished difference Result 136 states and 156 transitions. [2022-04-08 12:53:57,464 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 156 transitions. [2022-04-08 12:53:57,465 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:57,465 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:57,465 INFO L74 IsIncluded]: Start isIncluded. First operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 136 states. [2022-04-08 12:53:57,465 INFO L87 Difference]: Start difference. First operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 136 states. [2022-04-08 12:53:57,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:57,469 INFO L93 Difference]: Finished difference Result 136 states and 156 transitions. [2022-04-08 12:53:57,469 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 156 transitions. [2022-04-08 12:53:57,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:57,470 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:57,470 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:57,470 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:57,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:53:57,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 154 transitions. [2022-04-08 12:53:57,473 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 154 transitions. Word has length 68 [2022-04-08 12:53:57,474 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:57,474 INFO L478 AbstractCegarLoop]: Abstraction has 133 states and 154 transitions. [2022-04-08 12:53:57,474 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-08 12:53:57,474 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 133 states and 154 transitions. [2022-04-08 12:53:57,632 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-08 12:53:57,632 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 154 transitions. [2022-04-08 12:53:57,633 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-08 12:53:57,633 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:57,633 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:57,649 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-08 12:53:57,835 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:57,835 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:57,836 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:57,836 INFO L85 PathProgramCache]: Analyzing trace with hash 1142595933, now seen corresponding path program 1 times [2022-04-08 12:53:57,836 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:57,836 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [309340418] [2022-04-08 12:54:03,142 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:54:03,142 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:54:03,142 INFO L85 PathProgramCache]: Analyzing trace with hash 1142595933, now seen corresponding path program 2 times [2022-04-08 12:54:03,142 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:54:03,142 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1214887345] [2022-04-08 12:54:03,142 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:54:03,143 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:54:03,152 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:54:03,152 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [656353341] [2022-04-08 12:54:03,152 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:54:03,153 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:54:03,153 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:54:03,155 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-08 12:54:03,185 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-08 12:54:03,219 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:54:03,219 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:54:03,220 INFO L263 TraceCheckSpWp]: Trace formula consists of 185 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-08 12:54:03,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:54:03,240 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:54:07,621 INFO L272 TraceCheckUtils]: 0: Hoare triple {7565#true} call ULTIMATE.init(); {7565#true} is VALID [2022-04-08 12:54:07,621 INFO L290 TraceCheckUtils]: 1: Hoare triple {7565#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7565#true} is VALID [2022-04-08 12:54:07,622 INFO L290 TraceCheckUtils]: 2: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:07,622 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7565#true} {7565#true} #96#return; {7565#true} is VALID [2022-04-08 12:54:07,622 INFO L272 TraceCheckUtils]: 4: Hoare triple {7565#true} call #t~ret8 := main(); {7565#true} is VALID [2022-04-08 12:54:07,622 INFO L290 TraceCheckUtils]: 5: Hoare triple {7565#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {7565#true} is VALID [2022-04-08 12:54:07,622 INFO L272 TraceCheckUtils]: 6: Hoare triple {7565#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7565#true} is VALID [2022-04-08 12:54:07,622 INFO L290 TraceCheckUtils]: 7: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-08 12:54:07,622 INFO L290 TraceCheckUtils]: 8: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-08 12:54:07,622 INFO L290 TraceCheckUtils]: 9: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:07,622 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7565#true} {7565#true} #80#return; {7565#true} is VALID [2022-04-08 12:54:07,623 INFO L290 TraceCheckUtils]: 11: Hoare triple {7565#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:07,623 INFO L290 TraceCheckUtils]: 12: Hoare triple {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:07,624 INFO L290 TraceCheckUtils]: 13: Hoare triple {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:07,624 INFO L272 TraceCheckUtils]: 14: Hoare triple {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7565#true} is VALID [2022-04-08 12:54:07,624 INFO L290 TraceCheckUtils]: 15: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-08 12:54:07,624 INFO L290 TraceCheckUtils]: 16: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-08 12:54:07,624 INFO L290 TraceCheckUtils]: 17: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:07,624 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7565#true} {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:07,624 INFO L272 TraceCheckUtils]: 19: Hoare triple {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7565#true} is VALID [2022-04-08 12:54:07,624 INFO L290 TraceCheckUtils]: 20: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-08 12:54:07,625 INFO L290 TraceCheckUtils]: 21: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-08 12:54:07,625 INFO L290 TraceCheckUtils]: 22: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:07,625 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7565#true} {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:07,625 INFO L272 TraceCheckUtils]: 24: Hoare triple {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7565#true} is VALID [2022-04-08 12:54:07,625 INFO L290 TraceCheckUtils]: 25: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-08 12:54:07,625 INFO L290 TraceCheckUtils]: 26: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-08 12:54:07,626 INFO L290 TraceCheckUtils]: 27: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:07,626 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7565#true} {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:07,627 INFO L290 TraceCheckUtils]: 29: Hoare triple {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:07,628 INFO L290 TraceCheckUtils]: 30: Hoare triple {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:07,628 INFO L290 TraceCheckUtils]: 31: Hoare triple {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:07,629 INFO L272 TraceCheckUtils]: 32: Hoare triple {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7565#true} is VALID [2022-04-08 12:54:07,629 INFO L290 TraceCheckUtils]: 33: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-08 12:54:07,629 INFO L290 TraceCheckUtils]: 34: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-08 12:54:07,629 INFO L290 TraceCheckUtils]: 35: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:07,630 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7565#true} {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:07,630 INFO L272 TraceCheckUtils]: 37: Hoare triple {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7565#true} is VALID [2022-04-08 12:54:07,630 INFO L290 TraceCheckUtils]: 38: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-08 12:54:07,630 INFO L290 TraceCheckUtils]: 39: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-08 12:54:07,630 INFO L290 TraceCheckUtils]: 40: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:07,631 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7565#true} {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:07,631 INFO L272 TraceCheckUtils]: 42: Hoare triple {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7565#true} is VALID [2022-04-08 12:54:07,631 INFO L290 TraceCheckUtils]: 43: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-08 12:54:07,631 INFO L290 TraceCheckUtils]: 44: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-08 12:54:07,631 INFO L290 TraceCheckUtils]: 45: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:07,632 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7565#true} {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #86#return; {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:07,632 INFO L290 TraceCheckUtils]: 47: Hoare triple {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:07,633 INFO L290 TraceCheckUtils]: 48: Hoare triple {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:07,633 INFO L290 TraceCheckUtils]: 49: Hoare triple {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(#t~post7 < 5);havoc #t~post7; {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:07,634 INFO L272 TraceCheckUtils]: 50: Hoare triple {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7565#true} is VALID [2022-04-08 12:54:07,634 INFO L290 TraceCheckUtils]: 51: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-08 12:54:07,634 INFO L290 TraceCheckUtils]: 52: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-08 12:54:07,634 INFO L290 TraceCheckUtils]: 53: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:07,635 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7565#true} {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #88#return; {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:07,635 INFO L272 TraceCheckUtils]: 55: Hoare triple {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7565#true} is VALID [2022-04-08 12:54:07,635 INFO L290 TraceCheckUtils]: 56: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-08 12:54:07,635 INFO L290 TraceCheckUtils]: 57: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-08 12:54:07,635 INFO L290 TraceCheckUtils]: 58: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:07,636 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7565#true} {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #90#return; {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:07,637 INFO L290 TraceCheckUtils]: 60: Hoare triple {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~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); {7753#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:07,638 INFO L290 TraceCheckUtils]: 61: Hoare triple {7753#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7757#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-08 12:54:07,639 INFO L290 TraceCheckUtils]: 62: Hoare triple {7757#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7757#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-08 12:54:07,639 INFO L290 TraceCheckUtils]: 63: Hoare triple {7757#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} assume !!(#t~post7 < 5);havoc #t~post7; {7757#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-08 12:54:07,640 INFO L272 TraceCheckUtils]: 64: Hoare triple {7757#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7767#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:54:07,641 INFO L290 TraceCheckUtils]: 65: Hoare triple {7767#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7771#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:54:07,641 INFO L290 TraceCheckUtils]: 66: Hoare triple {7771#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7566#false} is VALID [2022-04-08 12:54:07,641 INFO L290 TraceCheckUtils]: 67: Hoare triple {7566#false} assume !false; {7566#false} is VALID [2022-04-08 12:54:07,642 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-08 12:54:07,642 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:54:17,271 INFO L290 TraceCheckUtils]: 67: Hoare triple {7566#false} assume !false; {7566#false} is VALID [2022-04-08 12:54:17,271 INFO L290 TraceCheckUtils]: 66: Hoare triple {7771#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7566#false} is VALID [2022-04-08 12:54:17,272 INFO L290 TraceCheckUtils]: 65: Hoare triple {7767#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7771#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:54:17,273 INFO L272 TraceCheckUtils]: 64: Hoare triple {7787#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7767#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:54:17,273 INFO L290 TraceCheckUtils]: 63: Hoare triple {7787#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 5);havoc #t~post7; {7787#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 12:54:17,274 INFO L290 TraceCheckUtils]: 62: Hoare triple {7787#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7787#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 12:54:17,276 INFO L290 TraceCheckUtils]: 61: Hoare triple {7797#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7787#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 12:54:17,290 INFO L290 TraceCheckUtils]: 60: Hoare triple {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 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); {7797#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-08 12:54:17,291 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7565#true} {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #90#return; {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 12:54:17,292 INFO L290 TraceCheckUtils]: 58: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:17,292 INFO L290 TraceCheckUtils]: 57: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-08 12:54:17,292 INFO L290 TraceCheckUtils]: 56: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-08 12:54:17,292 INFO L272 TraceCheckUtils]: 55: Hoare triple {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7565#true} is VALID [2022-04-08 12:54:17,293 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7565#true} {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #88#return; {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 12:54:17,293 INFO L290 TraceCheckUtils]: 53: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:17,293 INFO L290 TraceCheckUtils]: 52: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-08 12:54:17,293 INFO L290 TraceCheckUtils]: 51: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-08 12:54:17,293 INFO L272 TraceCheckUtils]: 50: Hoare triple {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7565#true} is VALID [2022-04-08 12:54:17,295 INFO L290 TraceCheckUtils]: 49: Hoare triple {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(#t~post7 < 5);havoc #t~post7; {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 12:54:17,296 INFO L290 TraceCheckUtils]: 48: Hoare triple {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 12:54:17,297 INFO L290 TraceCheckUtils]: 47: Hoare triple {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 12:54:17,298 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7565#true} {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #86#return; {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:54:17,298 INFO L290 TraceCheckUtils]: 45: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:17,298 INFO L290 TraceCheckUtils]: 44: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-08 12:54:17,298 INFO L290 TraceCheckUtils]: 43: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-08 12:54:17,298 INFO L272 TraceCheckUtils]: 42: Hoare triple {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7565#true} is VALID [2022-04-08 12:54:17,299 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7565#true} {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #84#return; {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:54:17,299 INFO L290 TraceCheckUtils]: 40: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:17,299 INFO L290 TraceCheckUtils]: 39: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-08 12:54:17,300 INFO L290 TraceCheckUtils]: 38: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-08 12:54:17,300 INFO L272 TraceCheckUtils]: 37: Hoare triple {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7565#true} is VALID [2022-04-08 12:54:17,300 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7565#true} {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #82#return; {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:54:17,301 INFO L290 TraceCheckUtils]: 35: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:17,301 INFO L290 TraceCheckUtils]: 34: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-08 12:54:17,301 INFO L290 TraceCheckUtils]: 33: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-08 12:54:17,301 INFO L272 TraceCheckUtils]: 32: Hoare triple {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7565#true} is VALID [2022-04-08 12:54:17,302 INFO L290 TraceCheckUtils]: 31: Hoare triple {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:54:17,304 INFO L290 TraceCheckUtils]: 30: Hoare triple {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:54:17,308 INFO L290 TraceCheckUtils]: 29: Hoare triple {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:54:17,309 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7565#true} {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #86#return; {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:54:17,309 INFO L290 TraceCheckUtils]: 27: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:17,309 INFO L290 TraceCheckUtils]: 26: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-08 12:54:17,310 INFO L290 TraceCheckUtils]: 25: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-08 12:54:17,310 INFO L272 TraceCheckUtils]: 24: Hoare triple {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7565#true} is VALID [2022-04-08 12:54:17,310 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7565#true} {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #84#return; {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:54:17,310 INFO L290 TraceCheckUtils]: 22: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:17,311 INFO L290 TraceCheckUtils]: 21: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-08 12:54:17,311 INFO L290 TraceCheckUtils]: 20: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-08 12:54:17,311 INFO L272 TraceCheckUtils]: 19: Hoare triple {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7565#true} is VALID [2022-04-08 12:54:17,311 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7565#true} {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #82#return; {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:54:17,311 INFO L290 TraceCheckUtils]: 17: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:17,312 INFO L290 TraceCheckUtils]: 16: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-08 12:54:17,312 INFO L290 TraceCheckUtils]: 15: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-08 12:54:17,312 INFO L272 TraceCheckUtils]: 14: Hoare triple {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7565#true} is VALID [2022-04-08 12:54:17,312 INFO L290 TraceCheckUtils]: 13: Hoare triple {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:54:17,313 INFO L290 TraceCheckUtils]: 12: Hoare triple {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:54:17,314 INFO L290 TraceCheckUtils]: 11: Hoare triple {7565#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:54:17,314 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7565#true} {7565#true} #80#return; {7565#true} is VALID [2022-04-08 12:54:17,314 INFO L290 TraceCheckUtils]: 9: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:17,314 INFO L290 TraceCheckUtils]: 8: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-08 12:54:17,314 INFO L290 TraceCheckUtils]: 7: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-08 12:54:17,314 INFO L272 TraceCheckUtils]: 6: Hoare triple {7565#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7565#true} is VALID [2022-04-08 12:54:17,314 INFO L290 TraceCheckUtils]: 5: Hoare triple {7565#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {7565#true} is VALID [2022-04-08 12:54:17,314 INFO L272 TraceCheckUtils]: 4: Hoare triple {7565#true} call #t~ret8 := main(); {7565#true} is VALID [2022-04-08 12:54:17,315 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7565#true} {7565#true} #96#return; {7565#true} is VALID [2022-04-08 12:54:17,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-08 12:54:17,315 INFO L290 TraceCheckUtils]: 1: Hoare triple {7565#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7565#true} is VALID [2022-04-08 12:54:17,315 INFO L272 TraceCheckUtils]: 0: Hoare triple {7565#true} call ULTIMATE.init(); {7565#true} is VALID [2022-04-08 12:54:17,315 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-08 12:54:17,316 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:54:17,316 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1214887345] [2022-04-08 12:54:17,316 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:54:17,316 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [656353341] [2022-04-08 12:54:17,316 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [656353341] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:54:17,316 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:54:17,316 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-08 12:54:17,316 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:54:17,317 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [309340418] [2022-04-08 12:54:17,317 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [309340418] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:54:17,317 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:54:17,317 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 12:54:17,317 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1768045873] [2022-04-08 12:54:17,317 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:54:17,317 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 68 [2022-04-08 12:54:17,318 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:54:17,318 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 12:54:17,380 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-08 12:54:17,380 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 12:54:17,380 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:54:17,380 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 12:54:17,380 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-08 12:54:17,381 INFO L87 Difference]: Start difference. First operand 133 states and 154 transitions. Second operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 12:54:18,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:54:18,401 INFO L93 Difference]: Finished difference Result 178 states and 213 transitions. [2022-04-08 12:54:18,401 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 12:54:18,401 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 68 [2022-04-08 12:54:18,401 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:54:18,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 12:54:18,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-08 12:54:18,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 12:54:18,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-08 12:54:18,405 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-08 12:54:18,524 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:54:18,527 INFO L225 Difference]: With dead ends: 178 [2022-04-08 12:54:18,527 INFO L226 Difference]: Without dead ends: 143 [2022-04-08 12:54:18,528 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 122 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2022-04-08 12:54:18,528 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 12 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 183 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 207 SdHoareTripleChecker+Invalid, 196 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 183 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 12:54:18,528 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 207 Invalid, 196 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 183 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 12:54:18,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 143 states. [2022-04-08 12:54:18,660 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 143 to 141. [2022-04-08 12:54:18,660 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:54:18,661 INFO L82 GeneralOperation]: Start isEquivalent. First operand 143 states. Second operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:54:18,661 INFO L74 IsIncluded]: Start isIncluded. First operand 143 states. Second operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:54:18,661 INFO L87 Difference]: Start difference. First operand 143 states. Second operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:54:18,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:54:18,665 INFO L93 Difference]: Finished difference Result 143 states and 165 transitions. [2022-04-08 12:54:18,665 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 165 transitions. [2022-04-08 12:54:18,667 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:54:18,667 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:54:18,667 INFO L74 IsIncluded]: Start isIncluded. First operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) Second operand 143 states. [2022-04-08 12:54:18,668 INFO L87 Difference]: Start difference. First operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) Second operand 143 states. [2022-04-08 12:54:18,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:54:18,671 INFO L93 Difference]: Finished difference Result 143 states and 165 transitions. [2022-04-08 12:54:18,671 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 165 transitions. [2022-04-08 12:54:18,671 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:54:18,671 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:54:18,672 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:54:18,672 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:54:18,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:54:18,675 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 141 states to 141 states and 162 transitions. [2022-04-08 12:54:18,676 INFO L78 Accepts]: Start accepts. Automaton has 141 states and 162 transitions. Word has length 68 [2022-04-08 12:54:18,676 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:54:18,676 INFO L478 AbstractCegarLoop]: Abstraction has 141 states and 162 transitions. [2022-04-08 12:54:18,680 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 12:54:18,680 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 141 states and 162 transitions. [2022-04-08 12:54:18,873 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 162 edges. 162 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:54:18,873 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 162 transitions. [2022-04-08 12:54:18,874 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-08 12:54:18,874 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:54:18,874 INFO L499 BasicCegarLoop]: 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, 1, 1, 1, 1, 1, 1] [2022-04-08 12:54:18,890 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-08 12:54:19,074 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 12:54:19,075 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:54:19,075 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:54:19,075 INFO L85 PathProgramCache]: Analyzing trace with hash -1390565976, now seen corresponding path program 3 times [2022-04-08 12:54:19,075 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:54:19,075 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1134446938] [2022-04-08 12:54:25,726 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:54:25,727 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:54:25,727 INFO L85 PathProgramCache]: Analyzing trace with hash -1390565976, now seen corresponding path program 4 times [2022-04-08 12:54:25,727 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:54:25,727 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2104146795] [2022-04-08 12:54:25,727 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:54:25,727 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:54:25,740 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:54:25,740 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2144575235] [2022-04-08 12:54:25,740 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:54:25,740 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:54:25,740 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:54:25,744 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-08 12:54:25,744 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-08 12:54:25,797 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:54:25,797 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:54:25,798 INFO L263 TraceCheckSpWp]: Trace formula consists of 194 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-08 12:54:25,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:54:25,812 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:54:26,738 INFO L272 TraceCheckUtils]: 0: Hoare triple {8912#true} call ULTIMATE.init(); {8912#true} is VALID [2022-04-08 12:54:26,738 INFO L290 TraceCheckUtils]: 1: Hoare triple {8912#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8912#true} is VALID [2022-04-08 12:54:26,738 INFO L290 TraceCheckUtils]: 2: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:26,738 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8912#true} {8912#true} #96#return; {8912#true} is VALID [2022-04-08 12:54:26,738 INFO L272 TraceCheckUtils]: 4: Hoare triple {8912#true} call #t~ret8 := main(); {8912#true} is VALID [2022-04-08 12:54:26,738 INFO L290 TraceCheckUtils]: 5: Hoare triple {8912#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {8912#true} is VALID [2022-04-08 12:54:26,739 INFO L272 TraceCheckUtils]: 6: Hoare triple {8912#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:26,739 INFO L290 TraceCheckUtils]: 7: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:26,739 INFO L290 TraceCheckUtils]: 8: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:26,739 INFO L290 TraceCheckUtils]: 9: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:26,739 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8912#true} {8912#true} #80#return; {8912#true} is VALID [2022-04-08 12:54:26,739 INFO L290 TraceCheckUtils]: 11: Hoare triple {8912#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:54:26,740 INFO L290 TraceCheckUtils]: 12: Hoare triple {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:54:26,740 INFO L290 TraceCheckUtils]: 13: Hoare triple {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:54:26,740 INFO L272 TraceCheckUtils]: 14: Hoare triple {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:26,740 INFO L290 TraceCheckUtils]: 15: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:26,741 INFO L290 TraceCheckUtils]: 16: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:26,741 INFO L290 TraceCheckUtils]: 17: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:26,741 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8912#true} {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:54:26,741 INFO L272 TraceCheckUtils]: 19: Hoare triple {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:26,742 INFO L290 TraceCheckUtils]: 20: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:26,742 INFO L290 TraceCheckUtils]: 21: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:26,742 INFO L290 TraceCheckUtils]: 22: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:26,742 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8912#true} {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:54:26,742 INFO L272 TraceCheckUtils]: 24: Hoare triple {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:26,742 INFO L290 TraceCheckUtils]: 25: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:26,743 INFO L290 TraceCheckUtils]: 26: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:26,743 INFO L290 TraceCheckUtils]: 27: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:26,743 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8912#true} {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:54:26,744 INFO L290 TraceCheckUtils]: 29: Hoare triple {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:26,745 INFO L290 TraceCheckUtils]: 30: Hoare triple {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:26,745 INFO L290 TraceCheckUtils]: 31: Hoare triple {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:26,745 INFO L272 TraceCheckUtils]: 32: Hoare triple {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:26,745 INFO L290 TraceCheckUtils]: 33: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:26,746 INFO L290 TraceCheckUtils]: 34: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:26,746 INFO L290 TraceCheckUtils]: 35: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:26,746 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8912#true} {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:26,746 INFO L272 TraceCheckUtils]: 37: Hoare triple {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:26,746 INFO L290 TraceCheckUtils]: 38: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:26,747 INFO L290 TraceCheckUtils]: 39: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:26,747 INFO L290 TraceCheckUtils]: 40: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:26,747 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8912#true} {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:26,747 INFO L272 TraceCheckUtils]: 42: Hoare triple {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:26,747 INFO L290 TraceCheckUtils]: 43: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:26,748 INFO L290 TraceCheckUtils]: 44: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:26,748 INFO L290 TraceCheckUtils]: 45: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:26,748 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8912#true} {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #86#return; {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:26,752 INFO L290 TraceCheckUtils]: 47: Hoare triple {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 12:54:26,753 INFO L290 TraceCheckUtils]: 48: Hoare triple {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 12:54:26,754 INFO L290 TraceCheckUtils]: 49: Hoare triple {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(#t~post7 < 5);havoc #t~post7; {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 12:54:26,754 INFO L272 TraceCheckUtils]: 50: Hoare triple {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:26,754 INFO L290 TraceCheckUtils]: 51: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:26,754 INFO L290 TraceCheckUtils]: 52: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:26,754 INFO L290 TraceCheckUtils]: 53: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:26,755 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {8912#true} {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #88#return; {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 12:54:26,755 INFO L272 TraceCheckUtils]: 55: Hoare triple {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:26,755 INFO L290 TraceCheckUtils]: 56: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:26,755 INFO L290 TraceCheckUtils]: 57: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:26,755 INFO L290 TraceCheckUtils]: 58: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:26,756 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {8912#true} {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #90#return; {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 12:54:26,757 INFO L290 TraceCheckUtils]: 60: Hoare triple {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:54:26,757 INFO L290 TraceCheckUtils]: 61: Hoare triple {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:54:26,758 INFO L290 TraceCheckUtils]: 62: Hoare triple {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:54:26,758 INFO L290 TraceCheckUtils]: 63: Hoare triple {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post7 < 5);havoc #t~post7; {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:54:26,759 INFO L272 TraceCheckUtils]: 64: Hoare triple {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:26,759 INFO L290 TraceCheckUtils]: 65: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:26,759 INFO L290 TraceCheckUtils]: 66: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:26,759 INFO L290 TraceCheckUtils]: 67: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:26,759 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8912#true} {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #88#return; {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:54:26,760 INFO L272 TraceCheckUtils]: 69: Hoare triple {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9128#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:54:26,761 INFO L290 TraceCheckUtils]: 70: Hoare triple {9128#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9132#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:54:26,761 INFO L290 TraceCheckUtils]: 71: Hoare triple {9132#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8913#false} is VALID [2022-04-08 12:54:26,761 INFO L290 TraceCheckUtils]: 72: Hoare triple {8913#false} assume !false; {8913#false} is VALID [2022-04-08 12:54:26,761 INFO L134 CoverageAnalysis]: Checked inductivity of 172 backedges. 18 proven. 10 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-08 12:54:26,762 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:54:34,093 INFO L290 TraceCheckUtils]: 72: Hoare triple {8913#false} assume !false; {8913#false} is VALID [2022-04-08 12:54:34,094 INFO L290 TraceCheckUtils]: 71: Hoare triple {9132#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8913#false} is VALID [2022-04-08 12:54:34,094 INFO L290 TraceCheckUtils]: 70: Hoare triple {9128#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9132#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:54:34,094 INFO L272 TraceCheckUtils]: 69: Hoare triple {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9128#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:54:34,095 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8912#true} {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #88#return; {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:54:34,095 INFO L290 TraceCheckUtils]: 67: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:34,095 INFO L290 TraceCheckUtils]: 66: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:34,095 INFO L290 TraceCheckUtils]: 65: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:34,095 INFO L272 TraceCheckUtils]: 64: Hoare triple {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:34,096 INFO L290 TraceCheckUtils]: 63: Hoare triple {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 5);havoc #t~post7; {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:54:34,096 INFO L290 TraceCheckUtils]: 62: Hoare triple {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:54:34,096 INFO L290 TraceCheckUtils]: 61: Hoare triple {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:54:34,110 INFO L290 TraceCheckUtils]: 60: Hoare triple {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (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); {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:54:34,111 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {8912#true} {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #90#return; {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 12:54:34,111 INFO L290 TraceCheckUtils]: 58: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:34,111 INFO L290 TraceCheckUtils]: 57: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:34,111 INFO L290 TraceCheckUtils]: 56: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:34,111 INFO L272 TraceCheckUtils]: 55: Hoare triple {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:34,111 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {8912#true} {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #88#return; {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 12:54:34,111 INFO L290 TraceCheckUtils]: 53: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:34,112 INFO L290 TraceCheckUtils]: 52: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:34,112 INFO L290 TraceCheckUtils]: 51: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:34,112 INFO L272 TraceCheckUtils]: 50: Hoare triple {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:34,113 INFO L290 TraceCheckUtils]: 49: Hoare triple {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !!(#t~post7 < 5);havoc #t~post7; {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 12:54:34,114 INFO L290 TraceCheckUtils]: 48: Hoare triple {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 12:54:34,115 INFO L290 TraceCheckUtils]: 47: Hoare triple {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !(~r~0 >= ~d~0); {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 12:54:34,115 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8912#true} {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #86#return; {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 12:54:34,115 INFO L290 TraceCheckUtils]: 45: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:34,115 INFO L290 TraceCheckUtils]: 44: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:34,115 INFO L290 TraceCheckUtils]: 43: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:34,115 INFO L272 TraceCheckUtils]: 42: Hoare triple {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:34,116 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8912#true} {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #84#return; {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 12:54:34,116 INFO L290 TraceCheckUtils]: 40: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:34,116 INFO L290 TraceCheckUtils]: 39: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:34,116 INFO L290 TraceCheckUtils]: 38: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:34,116 INFO L272 TraceCheckUtils]: 37: Hoare triple {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:34,117 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8912#true} {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #82#return; {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 12:54:34,117 INFO L290 TraceCheckUtils]: 35: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:34,117 INFO L290 TraceCheckUtils]: 34: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:34,117 INFO L290 TraceCheckUtils]: 33: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:34,117 INFO L272 TraceCheckUtils]: 32: Hoare triple {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:34,118 INFO L290 TraceCheckUtils]: 31: Hoare triple {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !!(#t~post6 < 5);havoc #t~post6; {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 12:54:34,120 INFO L290 TraceCheckUtils]: 30: Hoare triple {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 12:54:34,124 INFO L290 TraceCheckUtils]: 29: Hoare triple {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 12:54:34,125 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8912#true} {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:54:34,125 INFO L290 TraceCheckUtils]: 27: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:34,125 INFO L290 TraceCheckUtils]: 26: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:34,125 INFO L290 TraceCheckUtils]: 25: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:34,125 INFO L272 TraceCheckUtils]: 24: Hoare triple {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:34,126 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8912#true} {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:54:34,126 INFO L290 TraceCheckUtils]: 22: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:34,126 INFO L290 TraceCheckUtils]: 21: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:34,126 INFO L290 TraceCheckUtils]: 20: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:34,126 INFO L272 TraceCheckUtils]: 19: Hoare triple {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:34,127 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8912#true} {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:54:34,127 INFO L290 TraceCheckUtils]: 17: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:34,127 INFO L290 TraceCheckUtils]: 16: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:34,127 INFO L290 TraceCheckUtils]: 15: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:34,127 INFO L272 TraceCheckUtils]: 14: Hoare triple {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:34,128 INFO L290 TraceCheckUtils]: 13: Hoare triple {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 5);havoc #t~post6; {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:54:34,128 INFO L290 TraceCheckUtils]: 12: Hoare triple {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:54:34,129 INFO L290 TraceCheckUtils]: 11: Hoare triple {8912#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:54:34,129 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8912#true} {8912#true} #80#return; {8912#true} is VALID [2022-04-08 12:54:34,129 INFO L290 TraceCheckUtils]: 9: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:34,129 INFO L290 TraceCheckUtils]: 8: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-08 12:54:34,129 INFO L290 TraceCheckUtils]: 7: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-08 12:54:34,129 INFO L272 TraceCheckUtils]: 6: Hoare triple {8912#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8912#true} is VALID [2022-04-08 12:54:34,129 INFO L290 TraceCheckUtils]: 5: Hoare triple {8912#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {8912#true} is VALID [2022-04-08 12:54:34,129 INFO L272 TraceCheckUtils]: 4: Hoare triple {8912#true} call #t~ret8 := main(); {8912#true} is VALID [2022-04-08 12:54:34,129 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8912#true} {8912#true} #96#return; {8912#true} is VALID [2022-04-08 12:54:34,129 INFO L290 TraceCheckUtils]: 2: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-08 12:54:34,130 INFO L290 TraceCheckUtils]: 1: Hoare triple {8912#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8912#true} is VALID [2022-04-08 12:54:34,130 INFO L272 TraceCheckUtils]: 0: Hoare triple {8912#true} call ULTIMATE.init(); {8912#true} is VALID [2022-04-08 12:54:34,130 INFO L134 CoverageAnalysis]: Checked inductivity of 172 backedges. 18 proven. 10 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-08 12:54:34,130 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:54:34,130 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2104146795] [2022-04-08 12:54:34,131 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:54:34,131 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2144575235] [2022-04-08 12:54:34,131 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2144575235] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:54:34,131 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:54:34,131 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-08 12:54:34,131 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:54:34,131 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1134446938] [2022-04-08 12:54:34,131 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1134446938] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:54:34,131 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:54:34,131 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:54:34,131 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [244089326] [2022-04-08 12:54:34,131 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:54:34,132 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-08 12:54:34,132 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:54:34,132 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 12:54:34,181 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-08 12:54:34,182 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:54:34,182 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:54:34,182 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:54:34,182 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-08 12:54:34,182 INFO L87 Difference]: Start difference. First operand 141 states and 162 transitions. Second operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 12:54:35,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:54:35,181 INFO L93 Difference]: Finished difference Result 168 states and 197 transitions. [2022-04-08 12:54:35,181 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:54:35,182 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-08 12:54:35,182 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:54:35,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 12:54:35,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 103 transitions. [2022-04-08 12:54:35,184 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 12:54:35,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 103 transitions. [2022-04-08 12:54:35,185 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 103 transitions. [2022-04-08 12:54:35,277 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-08 12:54:35,280 INFO L225 Difference]: With dead ends: 168 [2022-04-08 12:54:35,280 INFO L226 Difference]: Without dead ends: 143 [2022-04-08 12:54:35,280 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 134 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-08 12:54:35,280 INFO L913 BasicCegarLoop]: 55 mSDtfsCounter, 12 mSDsluCounter, 205 mSDsCounter, 0 mSdLazyCounter, 171 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 260 SdHoareTripleChecker+Invalid, 180 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 171 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 12:54:35,281 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 260 Invalid, 180 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 171 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 12:54:35,281 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 143 states. [2022-04-08 12:54:35,396 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 143 to 143. [2022-04-08 12:54:35,396 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:54:35,396 INFO L82 GeneralOperation]: Start isEquivalent. First operand 143 states. Second operand has 143 states, 93 states have (on average 1.1290322580645162) internal successors, (105), 97 states have internal predecessors, (105), 29 states have call successors, (29), 21 states have call predecessors, (29), 20 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:54:35,397 INFO L74 IsIncluded]: Start isIncluded. First operand 143 states. Second operand has 143 states, 93 states have (on average 1.1290322580645162) internal successors, (105), 97 states have internal predecessors, (105), 29 states have call successors, (29), 21 states have call predecessors, (29), 20 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:54:35,397 INFO L87 Difference]: Start difference. First operand 143 states. Second operand has 143 states, 93 states have (on average 1.1290322580645162) internal successors, (105), 97 states have internal predecessors, (105), 29 states have call successors, (29), 21 states have call predecessors, (29), 20 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:54:35,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:54:35,399 INFO L93 Difference]: Finished difference Result 143 states and 160 transitions. [2022-04-08 12:54:35,399 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 160 transitions. [2022-04-08 12:54:35,400 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:54:35,400 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:54:35,400 INFO L74 IsIncluded]: Start isIncluded. First operand has 143 states, 93 states have (on average 1.1290322580645162) internal successors, (105), 97 states have internal predecessors, (105), 29 states have call successors, (29), 21 states have call predecessors, (29), 20 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) Second operand 143 states. [2022-04-08 12:54:35,400 INFO L87 Difference]: Start difference. First operand has 143 states, 93 states have (on average 1.1290322580645162) internal successors, (105), 97 states have internal predecessors, (105), 29 states have call successors, (29), 21 states have call predecessors, (29), 20 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) Second operand 143 states. [2022-04-08 12:54:35,403 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:54:35,403 INFO L93 Difference]: Finished difference Result 143 states and 160 transitions. [2022-04-08 12:54:35,403 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 160 transitions. [2022-04-08 12:54:35,404 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:54:35,404 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:54:35,404 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:54:35,404 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:54:35,404 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 143 states, 93 states have (on average 1.1290322580645162) internal successors, (105), 97 states have internal predecessors, (105), 29 states have call successors, (29), 21 states have call predecessors, (29), 20 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:54:35,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 143 states to 143 states and 160 transitions. [2022-04-08 12:54:35,407 INFO L78 Accepts]: Start accepts. Automaton has 143 states and 160 transitions. Word has length 73 [2022-04-08 12:54:35,407 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:54:35,407 INFO L478 AbstractCegarLoop]: Abstraction has 143 states and 160 transitions. [2022-04-08 12:54:35,407 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 12:54:35,408 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 143 states and 160 transitions. [2022-04-08 12:54:35,577 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 160 edges. 160 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:54:35,577 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 160 transitions. [2022-04-08 12:54:35,577 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-08 12:54:35,578 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:54:35,578 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:54:35,594 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-08 12:54:35,778 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-08 12:54:35,778 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:54:35,779 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:54:35,779 INFO L85 PathProgramCache]: Analyzing trace with hash 1792978632, now seen corresponding path program 1 times [2022-04-08 12:54:35,779 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:54:35,779 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [456229919] [2022-04-08 12:54:42,112 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:54:42,112 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:54:42,112 INFO L85 PathProgramCache]: Analyzing trace with hash 1792978632, now seen corresponding path program 2 times [2022-04-08 12:54:42,112 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:54:42,112 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1514147475] [2022-04-08 12:54:42,112 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:54:42,112 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:54:42,124 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:54:42,124 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [958798954] [2022-04-08 12:54:42,124 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:54:42,124 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:54:42,125 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:54:42,128 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-08 12:54:42,132 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-08 12:54:42,238 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:54:42,238 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:54:42,240 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-08 12:54:42,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:54:42,259 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:55:17,533 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:55:20,525 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:55:36,360 INFO L272 TraceCheckUtils]: 0: Hoare triple {10273#true} call ULTIMATE.init(); {10273#true} is VALID [2022-04-08 12:55:36,360 INFO L290 TraceCheckUtils]: 1: Hoare triple {10273#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10273#true} is VALID [2022-04-08 12:55:36,360 INFO L290 TraceCheckUtils]: 2: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:55:36,360 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10273#true} {10273#true} #96#return; {10273#true} is VALID [2022-04-08 12:55:36,360 INFO L272 TraceCheckUtils]: 4: Hoare triple {10273#true} call #t~ret8 := main(); {10273#true} is VALID [2022-04-08 12:55:36,360 INFO L290 TraceCheckUtils]: 5: Hoare triple {10273#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {10273#true} is VALID [2022-04-08 12:55:36,361 INFO L272 TraceCheckUtils]: 6: Hoare triple {10273#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:55:36,361 INFO L290 TraceCheckUtils]: 7: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-08 12:55:36,361 INFO L290 TraceCheckUtils]: 8: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-08 12:55:36,361 INFO L290 TraceCheckUtils]: 9: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:55:36,361 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10273#true} {10273#true} #80#return; {10273#true} is VALID [2022-04-08 12:55:36,361 INFO L290 TraceCheckUtils]: 11: Hoare triple {10273#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:55:36,362 INFO L290 TraceCheckUtils]: 12: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:55:36,362 INFO L290 TraceCheckUtils]: 13: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:55:36,362 INFO L272 TraceCheckUtils]: 14: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:55:36,362 INFO L290 TraceCheckUtils]: 15: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-08 12:55:36,362 INFO L290 TraceCheckUtils]: 16: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-08 12:55:36,362 INFO L290 TraceCheckUtils]: 17: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:55:36,363 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10273#true} {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #82#return; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:55:36,363 INFO L272 TraceCheckUtils]: 19: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:55:36,363 INFO L290 TraceCheckUtils]: 20: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-08 12:55:36,363 INFO L290 TraceCheckUtils]: 21: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-08 12:55:36,363 INFO L290 TraceCheckUtils]: 22: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:55:36,363 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10273#true} {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #84#return; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:55:36,363 INFO L272 TraceCheckUtils]: 24: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:55:36,364 INFO L290 TraceCheckUtils]: 25: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-08 12:55:36,364 INFO L290 TraceCheckUtils]: 26: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-08 12:55:36,364 INFO L290 TraceCheckUtils]: 27: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:55:36,364 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10273#true} {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #86#return; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:55:36,365 INFO L290 TraceCheckUtils]: 29: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:55:36,365 INFO L290 TraceCheckUtils]: 30: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:55:36,365 INFO L290 TraceCheckUtils]: 31: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:55:36,365 INFO L272 TraceCheckUtils]: 32: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:55:36,365 INFO L290 TraceCheckUtils]: 33: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-08 12:55:36,365 INFO L290 TraceCheckUtils]: 34: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-08 12:55:36,365 INFO L290 TraceCheckUtils]: 35: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:55:36,366 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10273#true} {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #82#return; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:55:36,366 INFO L272 TraceCheckUtils]: 37: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:55:36,366 INFO L290 TraceCheckUtils]: 38: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-08 12:55:36,366 INFO L290 TraceCheckUtils]: 39: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-08 12:55:36,366 INFO L290 TraceCheckUtils]: 40: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:55:36,367 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10273#true} {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #84#return; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:55:36,367 INFO L272 TraceCheckUtils]: 42: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:55:36,367 INFO L290 TraceCheckUtils]: 43: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-08 12:55:36,367 INFO L290 TraceCheckUtils]: 44: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-08 12:55:36,367 INFO L290 TraceCheckUtils]: 45: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:55:36,367 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10273#true} {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #86#return; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:55:36,368 INFO L290 TraceCheckUtils]: 47: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:55:36,368 INFO L290 TraceCheckUtils]: 48: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:55:36,368 INFO L290 TraceCheckUtils]: 49: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(#t~post7 < 5);havoc #t~post7; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:55:36,368 INFO L272 TraceCheckUtils]: 50: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:55:36,368 INFO L290 TraceCheckUtils]: 51: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-08 12:55:36,369 INFO L290 TraceCheckUtils]: 52: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-08 12:55:36,369 INFO L290 TraceCheckUtils]: 53: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:55:36,369 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10273#true} {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #88#return; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:55:36,369 INFO L272 TraceCheckUtils]: 55: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:55:36,369 INFO L290 TraceCheckUtils]: 56: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-08 12:55:36,369 INFO L290 TraceCheckUtils]: 57: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-08 12:55:36,369 INFO L290 TraceCheckUtils]: 58: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:55:36,370 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10273#true} {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #90#return; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:55:36,370 INFO L290 TraceCheckUtils]: 60: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~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); {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:55:36,371 INFO L290 TraceCheckUtils]: 61: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10462#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-08 12:55:36,372 INFO L290 TraceCheckUtils]: 62: Hoare triple {10462#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10462#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-08 12:55:36,372 INFO L290 TraceCheckUtils]: 63: Hoare triple {10462#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} assume !!(#t~post7 < 5);havoc #t~post7; {10462#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-08 12:55:36,372 INFO L272 TraceCheckUtils]: 64: Hoare triple {10462#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:55:36,372 INFO L290 TraceCheckUtils]: 65: Hoare triple {10273#true} ~cond := #in~cond; {10475#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:55:36,373 INFO L290 TraceCheckUtils]: 66: Hoare triple {10475#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:55:36,373 INFO L290 TraceCheckUtils]: 67: Hoare triple {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:55:36,374 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} {10462#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} #88#return; {10486#(and (= main_~q~0 main_~p~0) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-08 12:55:36,374 INFO L272 TraceCheckUtils]: 69: Hoare triple {10486#(and (= main_~q~0 main_~p~0) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:55:36,374 INFO L290 TraceCheckUtils]: 70: Hoare triple {10273#true} ~cond := #in~cond; {10475#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:55:36,374 INFO L290 TraceCheckUtils]: 71: Hoare triple {10475#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:55:36,374 INFO L290 TraceCheckUtils]: 72: Hoare triple {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:55:38,378 WARN L284 TraceCheckUtils]: 73: Hoare quadruple {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} {10486#(and (= main_~q~0 main_~p~0) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} #90#return; {10502#(and (or (and (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 0) (= main_~q~0 0) (exists ((aux_div_aux_mod_main_~B~0_26_37 Int) (aux_mod_aux_mod_main_~B~0_26_37 Int)) (and (< (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37) 4294967296) (<= 0 aux_mod_aux_mod_main_~B~0_26_37) (<= 0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) (< aux_mod_aux_mod_main_~B~0_26_37 4294967296) (= (* main_~p~0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) main_~d~0)))) (and (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= (mod (div (+ main_~d~0 (* (- 1) (* (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0))) 4294967296) main_~p~0) 0) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0)))) (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0))) 4294967296) (not (= main_~q~0 0)) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (= (mod (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) 0))) (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is UNKNOWN [2022-04-08 12:55:38,380 INFO L290 TraceCheckUtils]: 74: Hoare triple {10502#(and (or (and (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 0) (= main_~q~0 0) (exists ((aux_div_aux_mod_main_~B~0_26_37 Int) (aux_mod_aux_mod_main_~B~0_26_37 Int)) (and (< (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37) 4294967296) (<= 0 aux_mod_aux_mod_main_~B~0_26_37) (<= 0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) (< aux_mod_aux_mod_main_~B~0_26_37 4294967296) (= (* main_~p~0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) main_~d~0)))) (and (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= (mod (div (+ main_~d~0 (* (- 1) (* (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0))) 4294967296) main_~p~0) 0) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0)))) (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0))) 4294967296) (not (= main_~q~0 0)) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (= (mod (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) 0))) (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} assume !(1 != ~p~0); {10506#(and (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0))) 4294967296) (= (mod (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) 0) (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= main_~q~0 1) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0)))))} is VALID [2022-04-08 12:55:38,383 INFO L272 TraceCheckUtils]: 75: Hoare triple {10506#(and (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0))) 4294967296) (= (mod (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) 0) (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= main_~q~0 1) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10510#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:55:38,383 INFO L290 TraceCheckUtils]: 76: Hoare triple {10510#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10514#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:55:38,384 INFO L290 TraceCheckUtils]: 77: Hoare triple {10514#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10274#false} is VALID [2022-04-08 12:55:38,384 INFO L290 TraceCheckUtils]: 78: Hoare triple {10274#false} assume !false; {10274#false} is VALID [2022-04-08 12:55:38,384 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 66 proven. 7 refuted. 0 times theorem prover too weak. 138 trivial. 0 not checked. [2022-04-08 12:55:38,384 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:56:28,985 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:56:34,091 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:57:02,884 INFO L290 TraceCheckUtils]: 78: Hoare triple {10274#false} assume !false; {10274#false} is VALID [2022-04-08 12:57:02,884 INFO L290 TraceCheckUtils]: 77: Hoare triple {10514#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10274#false} is VALID [2022-04-08 12:57:02,885 INFO L290 TraceCheckUtils]: 76: Hoare triple {10510#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10514#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:57:02,885 INFO L272 TraceCheckUtils]: 75: Hoare triple {10530#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10510#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:57:02,886 INFO L290 TraceCheckUtils]: 74: Hoare triple {10534#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {10530#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-08 12:57:02,886 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} {10538#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (= main_~p~0 1)))} #90#return; {10534#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-08 12:57:02,887 INFO L290 TraceCheckUtils]: 72: Hoare triple {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:57:02,887 INFO L290 TraceCheckUtils]: 71: Hoare triple {10548#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:57:02,887 INFO L290 TraceCheckUtils]: 70: Hoare triple {10273#true} ~cond := #in~cond; {10548#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:57:02,887 INFO L272 TraceCheckUtils]: 69: Hoare triple {10538#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:57:02,890 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} {10273#true} #88#return; {10538#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (= main_~p~0 1)))} is VALID [2022-04-08 12:57:02,890 INFO L290 TraceCheckUtils]: 67: Hoare triple {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:57:02,890 INFO L290 TraceCheckUtils]: 66: Hoare triple {10548#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:57:02,891 INFO L290 TraceCheckUtils]: 65: Hoare triple {10273#true} ~cond := #in~cond; {10548#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:57:02,891 INFO L272 TraceCheckUtils]: 64: Hoare triple {10273#true} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:57:02,891 INFO L290 TraceCheckUtils]: 63: Hoare triple {10273#true} assume !!(#t~post7 < 5);havoc #t~post7; {10273#true} is VALID [2022-04-08 12:57:02,891 INFO L290 TraceCheckUtils]: 62: Hoare triple {10273#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10273#true} is VALID [2022-04-08 12:57:02,891 INFO L290 TraceCheckUtils]: 61: Hoare triple {10273#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10273#true} is VALID [2022-04-08 12:57:02,891 INFO L290 TraceCheckUtils]: 60: Hoare triple {10273#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); {10273#true} is VALID [2022-04-08 12:57:02,891 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10273#true} {10273#true} #90#return; {10273#true} is VALID [2022-04-08 12:57:02,891 INFO L290 TraceCheckUtils]: 58: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:57:02,891 INFO L290 TraceCheckUtils]: 57: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-08 12:57:02,891 INFO L290 TraceCheckUtils]: 56: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-08 12:57:02,891 INFO L272 TraceCheckUtils]: 55: Hoare triple {10273#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:57:02,892 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10273#true} {10273#true} #88#return; {10273#true} is VALID [2022-04-08 12:57:02,892 INFO L290 TraceCheckUtils]: 53: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:57:02,892 INFO L290 TraceCheckUtils]: 52: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-08 12:57:02,892 INFO L290 TraceCheckUtils]: 51: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-08 12:57:02,892 INFO L272 TraceCheckUtils]: 50: Hoare triple {10273#true} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:57:02,892 INFO L290 TraceCheckUtils]: 49: Hoare triple {10273#true} assume !!(#t~post7 < 5);havoc #t~post7; {10273#true} is VALID [2022-04-08 12:57:02,892 INFO L290 TraceCheckUtils]: 48: Hoare triple {10273#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10273#true} is VALID [2022-04-08 12:57:02,892 INFO L290 TraceCheckUtils]: 47: Hoare triple {10273#true} assume !(~r~0 >= ~d~0); {10273#true} is VALID [2022-04-08 12:57:02,892 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10273#true} {10273#true} #86#return; {10273#true} is VALID [2022-04-08 12:57:02,892 INFO L290 TraceCheckUtils]: 45: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:57:02,892 INFO L290 TraceCheckUtils]: 44: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-08 12:57:02,893 INFO L290 TraceCheckUtils]: 43: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-08 12:57:02,893 INFO L272 TraceCheckUtils]: 42: Hoare triple {10273#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:57:02,893 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10273#true} {10273#true} #84#return; {10273#true} is VALID [2022-04-08 12:57:02,893 INFO L290 TraceCheckUtils]: 40: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:57:02,893 INFO L290 TraceCheckUtils]: 39: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-08 12:57:02,893 INFO L290 TraceCheckUtils]: 38: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-08 12:57:02,893 INFO L272 TraceCheckUtils]: 37: Hoare triple {10273#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:57:02,893 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10273#true} {10273#true} #82#return; {10273#true} is VALID [2022-04-08 12:57:02,893 INFO L290 TraceCheckUtils]: 35: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:57:02,893 INFO L290 TraceCheckUtils]: 34: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-08 12:57:02,893 INFO L290 TraceCheckUtils]: 33: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-08 12:57:02,893 INFO L272 TraceCheckUtils]: 32: Hoare triple {10273#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:57:02,894 INFO L290 TraceCheckUtils]: 31: Hoare triple {10273#true} assume !!(#t~post6 < 5);havoc #t~post6; {10273#true} is VALID [2022-04-08 12:57:02,894 INFO L290 TraceCheckUtils]: 30: Hoare triple {10273#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10273#true} is VALID [2022-04-08 12:57:02,894 INFO L290 TraceCheckUtils]: 29: Hoare triple {10273#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10273#true} is VALID [2022-04-08 12:57:02,894 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10273#true} {10273#true} #86#return; {10273#true} is VALID [2022-04-08 12:57:02,894 INFO L290 TraceCheckUtils]: 27: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:57:02,894 INFO L290 TraceCheckUtils]: 26: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-08 12:57:02,894 INFO L290 TraceCheckUtils]: 25: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-08 12:57:02,894 INFO L272 TraceCheckUtils]: 24: Hoare triple {10273#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:57:02,894 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10273#true} {10273#true} #84#return; {10273#true} is VALID [2022-04-08 12:57:02,894 INFO L290 TraceCheckUtils]: 22: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:57:02,894 INFO L290 TraceCheckUtils]: 21: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-08 12:57:02,895 INFO L290 TraceCheckUtils]: 20: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-08 12:57:02,895 INFO L272 TraceCheckUtils]: 19: Hoare triple {10273#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:57:02,895 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10273#true} {10273#true} #82#return; {10273#true} is VALID [2022-04-08 12:57:02,895 INFO L290 TraceCheckUtils]: 17: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:57:02,895 INFO L290 TraceCheckUtils]: 16: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-08 12:57:02,895 INFO L290 TraceCheckUtils]: 15: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-08 12:57:02,895 INFO L272 TraceCheckUtils]: 14: Hoare triple {10273#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:57:02,895 INFO L290 TraceCheckUtils]: 13: Hoare triple {10273#true} assume !!(#t~post6 < 5);havoc #t~post6; {10273#true} is VALID [2022-04-08 12:57:02,895 INFO L290 TraceCheckUtils]: 12: Hoare triple {10273#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10273#true} is VALID [2022-04-08 12:57:02,895 INFO L290 TraceCheckUtils]: 11: Hoare triple {10273#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10273#true} is VALID [2022-04-08 12:57:02,896 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10273#true} {10273#true} #80#return; {10273#true} is VALID [2022-04-08 12:57:02,896 INFO L290 TraceCheckUtils]: 9: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:57:02,896 INFO L290 TraceCheckUtils]: 8: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-08 12:57:02,896 INFO L290 TraceCheckUtils]: 7: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-08 12:57:02,896 INFO L272 TraceCheckUtils]: 6: Hoare triple {10273#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {10273#true} is VALID [2022-04-08 12:57:02,896 INFO L290 TraceCheckUtils]: 5: Hoare triple {10273#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {10273#true} is VALID [2022-04-08 12:57:02,896 INFO L272 TraceCheckUtils]: 4: Hoare triple {10273#true} call #t~ret8 := main(); {10273#true} is VALID [2022-04-08 12:57:02,896 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10273#true} {10273#true} #96#return; {10273#true} is VALID [2022-04-08 12:57:02,896 INFO L290 TraceCheckUtils]: 2: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-08 12:57:02,896 INFO L290 TraceCheckUtils]: 1: Hoare triple {10273#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10273#true} is VALID [2022-04-08 12:57:02,896 INFO L272 TraceCheckUtils]: 0: Hoare triple {10273#true} call ULTIMATE.init(); {10273#true} is VALID [2022-04-08 12:57:02,897 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-08 12:57:02,897 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:57:02,897 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1514147475] [2022-04-08 12:57:02,897 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:57:02,897 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [958798954] [2022-04-08 12:57:02,897 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [958798954] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:57:02,897 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:57:02,897 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-08 12:57:02,898 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:57:02,898 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [456229919] [2022-04-08 12:57:02,898 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [456229919] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:57:02,898 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:57:02,898 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 12:57:02,898 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1006229176] [2022-04-08 12:57:02,898 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:57:02,898 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 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 79 [2022-04-08 12:57:02,899 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:57:02,899 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 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-08 12:57:04,947 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 46 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 12:57:04,947 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 12:57:04,948 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:57:04,948 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 12:57:04,948 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=168, Unknown=0, NotChecked=0, Total=210 [2022-04-08 12:57:04,948 INFO L87 Difference]: Start difference. First operand 143 states and 160 transitions. Second operand has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 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-08 12:57:08,313 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-08 12:57:14,233 WARN L232 SmtUtils]: Spent 5.74s on a formula simplification. DAG size of input: 57 DAG size of output: 54 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 12:57:14,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:57:14,849 INFO L93 Difference]: Finished difference Result 159 states and 181 transitions. [2022-04-08 12:57:14,849 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 12:57:14,849 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 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 79 [2022-04-08 12:57:14,849 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:57:14,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 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-08 12:57:14,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-08 12:57:14,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 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-08 12:57:14,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-08 12:57:14,853 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 76 transitions. [2022-04-08 12:57:16,941 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 75 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 12:57:16,944 INFO L225 Difference]: With dead ends: 159 [2022-04-08 12:57:16,944 INFO L226 Difference]: Without dead ends: 129 [2022-04-08 12:57:16,946 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 143 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 7.0s TimeCoverageRelationStatistics Valid=62, Invalid=244, Unknown=0, NotChecked=0, Total=306 [2022-04-08 12:57:16,947 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 17 mSDsluCounter, 159 mSDsCounter, 0 mSdLazyCounter, 238 mSolverCounterSat, 3 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 197 SdHoareTripleChecker+Invalid, 247 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 238 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 5 IncrementalHoareTripleChecker+Unchecked, 2.8s IncrementalHoareTripleChecker+Time [2022-04-08 12:57:16,947 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 197 Invalid, 247 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 238 Invalid, 1 Unknown, 5 Unchecked, 2.8s Time] [2022-04-08 12:57:16,948 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-08 12:57:17,076 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 125. [2022-04-08 12:57:17,076 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:57:17,077 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 125 states, 80 states have (on average 1.1625) internal successors, (93), 84 states have internal predecessors, (93), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:57:17,077 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 125 states, 80 states have (on average 1.1625) internal successors, (93), 84 states have internal predecessors, (93), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:57:17,077 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 125 states, 80 states have (on average 1.1625) internal successors, (93), 84 states have internal predecessors, (93), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:57:17,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:57:17,080 INFO L93 Difference]: Finished difference Result 129 states and 150 transitions. [2022-04-08 12:57:17,080 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 150 transitions. [2022-04-08 12:57:17,081 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:57:17,081 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:57:17,081 INFO L74 IsIncluded]: Start isIncluded. First operand has 125 states, 80 states have (on average 1.1625) internal successors, (93), 84 states have internal predecessors, (93), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) Second operand 129 states. [2022-04-08 12:57:17,082 INFO L87 Difference]: Start difference. First operand has 125 states, 80 states have (on average 1.1625) internal successors, (93), 84 states have internal predecessors, (93), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) Second operand 129 states. [2022-04-08 12:57:17,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:57:17,085 INFO L93 Difference]: Finished difference Result 129 states and 150 transitions. [2022-04-08 12:57:17,085 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 150 transitions. [2022-04-08 12:57:17,085 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:57:17,085 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:57:17,085 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:57:17,086 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:57:17,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 125 states, 80 states have (on average 1.1625) internal successors, (93), 84 states have internal predecessors, (93), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:57:17,089 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 145 transitions. [2022-04-08 12:57:17,089 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 145 transitions. Word has length 79 [2022-04-08 12:57:17,089 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:57:17,089 INFO L478 AbstractCegarLoop]: Abstraction has 125 states and 145 transitions. [2022-04-08 12:57:17,089 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 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-08 12:57:17,089 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 125 states and 145 transitions. [2022-04-08 12:57:19,258 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 145 edges. 144 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 12:57:19,259 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 145 transitions. [2022-04-08 12:57:19,259 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-08 12:57:19,259 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:57:19,259 INFO L499 BasicCegarLoop]: 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, 1, 1, 1, 1, 1, 1] [2022-04-08 12:57:19,276 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-08 12:57:19,463 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-08 12:57:19,463 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:57:19,464 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:57:19,464 INFO L85 PathProgramCache]: Analyzing trace with hash 816704307, now seen corresponding path program 5 times [2022-04-08 12:57:19,464 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:57:19,464 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [359256061] [2022-04-08 12:57:24,847 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:57:24,847 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:57:24,847 INFO L85 PathProgramCache]: Analyzing trace with hash 816704307, now seen corresponding path program 6 times [2022-04-08 12:57:24,847 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:57:24,847 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1901880841] [2022-04-08 12:57:24,847 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:57:24,847 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:57:24,857 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:57:24,857 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1497227033] [2022-04-08 12:57:24,857 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 12:57:24,857 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:57:24,857 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:57:24,867 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-08 12:57:24,886 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-08 12:57:24,924 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-08 12:57:24,924 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:57:24,925 INFO L263 TraceCheckSpWp]: Trace formula consists of 207 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 12:57:24,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:57:24,939 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:57:25,240 INFO L272 TraceCheckUtils]: 0: Hoare triple {11593#true} call ULTIMATE.init(); {11593#true} is VALID [2022-04-08 12:57:25,241 INFO L290 TraceCheckUtils]: 1: Hoare triple {11593#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11601#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:25,241 INFO L290 TraceCheckUtils]: 2: Hoare triple {11601#(<= ~counter~0 0)} assume true; {11601#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:25,241 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11601#(<= ~counter~0 0)} {11593#true} #96#return; {11601#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:25,242 INFO L272 TraceCheckUtils]: 4: Hoare triple {11601#(<= ~counter~0 0)} call #t~ret8 := main(); {11601#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:25,242 INFO L290 TraceCheckUtils]: 5: Hoare triple {11601#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {11601#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:25,242 INFO L272 TraceCheckUtils]: 6: Hoare triple {11601#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11601#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:25,243 INFO L290 TraceCheckUtils]: 7: Hoare triple {11601#(<= ~counter~0 0)} ~cond := #in~cond; {11601#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:25,243 INFO L290 TraceCheckUtils]: 8: Hoare triple {11601#(<= ~counter~0 0)} assume !(0 == ~cond); {11601#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:25,243 INFO L290 TraceCheckUtils]: 9: Hoare triple {11601#(<= ~counter~0 0)} assume true; {11601#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:25,244 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11601#(<= ~counter~0 0)} {11601#(<= ~counter~0 0)} #80#return; {11601#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:25,244 INFO L290 TraceCheckUtils]: 11: Hoare triple {11601#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11601#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:25,244 INFO L290 TraceCheckUtils]: 12: Hoare triple {11601#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,245 INFO L290 TraceCheckUtils]: 13: Hoare triple {11635#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,245 INFO L272 TraceCheckUtils]: 14: Hoare triple {11635#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,245 INFO L290 TraceCheckUtils]: 15: Hoare triple {11635#(<= ~counter~0 1)} ~cond := #in~cond; {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,246 INFO L290 TraceCheckUtils]: 16: Hoare triple {11635#(<= ~counter~0 1)} assume !(0 == ~cond); {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,246 INFO L290 TraceCheckUtils]: 17: Hoare triple {11635#(<= ~counter~0 1)} assume true; {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,246 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {11635#(<= ~counter~0 1)} {11635#(<= ~counter~0 1)} #82#return; {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,247 INFO L272 TraceCheckUtils]: 19: Hoare triple {11635#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,247 INFO L290 TraceCheckUtils]: 20: Hoare triple {11635#(<= ~counter~0 1)} ~cond := #in~cond; {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,247 INFO L290 TraceCheckUtils]: 21: Hoare triple {11635#(<= ~counter~0 1)} assume !(0 == ~cond); {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,247 INFO L290 TraceCheckUtils]: 22: Hoare triple {11635#(<= ~counter~0 1)} assume true; {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,248 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11635#(<= ~counter~0 1)} {11635#(<= ~counter~0 1)} #84#return; {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,248 INFO L272 TraceCheckUtils]: 24: Hoare triple {11635#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,248 INFO L290 TraceCheckUtils]: 25: Hoare triple {11635#(<= ~counter~0 1)} ~cond := #in~cond; {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,249 INFO L290 TraceCheckUtils]: 26: Hoare triple {11635#(<= ~counter~0 1)} assume !(0 == ~cond); {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,249 INFO L290 TraceCheckUtils]: 27: Hoare triple {11635#(<= ~counter~0 1)} assume true; {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,249 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11635#(<= ~counter~0 1)} {11635#(<= ~counter~0 1)} #86#return; {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,250 INFO L290 TraceCheckUtils]: 29: Hoare triple {11635#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,250 INFO L290 TraceCheckUtils]: 30: Hoare triple {11635#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,250 INFO L290 TraceCheckUtils]: 31: Hoare triple {11690#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,251 INFO L272 TraceCheckUtils]: 32: Hoare triple {11690#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,251 INFO L290 TraceCheckUtils]: 33: Hoare triple {11690#(<= ~counter~0 2)} ~cond := #in~cond; {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,251 INFO L290 TraceCheckUtils]: 34: Hoare triple {11690#(<= ~counter~0 2)} assume !(0 == ~cond); {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,252 INFO L290 TraceCheckUtils]: 35: Hoare triple {11690#(<= ~counter~0 2)} assume true; {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,252 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11690#(<= ~counter~0 2)} {11690#(<= ~counter~0 2)} #82#return; {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,252 INFO L272 TraceCheckUtils]: 37: Hoare triple {11690#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,253 INFO L290 TraceCheckUtils]: 38: Hoare triple {11690#(<= ~counter~0 2)} ~cond := #in~cond; {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,253 INFO L290 TraceCheckUtils]: 39: Hoare triple {11690#(<= ~counter~0 2)} assume !(0 == ~cond); {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,253 INFO L290 TraceCheckUtils]: 40: Hoare triple {11690#(<= ~counter~0 2)} assume true; {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,254 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11690#(<= ~counter~0 2)} {11690#(<= ~counter~0 2)} #84#return; {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,254 INFO L272 TraceCheckUtils]: 42: Hoare triple {11690#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,255 INFO L290 TraceCheckUtils]: 43: Hoare triple {11690#(<= ~counter~0 2)} ~cond := #in~cond; {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,255 INFO L290 TraceCheckUtils]: 44: Hoare triple {11690#(<= ~counter~0 2)} assume !(0 == ~cond); {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,255 INFO L290 TraceCheckUtils]: 45: Hoare triple {11690#(<= ~counter~0 2)} assume true; {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,256 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {11690#(<= ~counter~0 2)} {11690#(<= ~counter~0 2)} #86#return; {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,256 INFO L290 TraceCheckUtils]: 47: Hoare triple {11690#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,256 INFO L290 TraceCheckUtils]: 48: Hoare triple {11690#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,257 INFO L290 TraceCheckUtils]: 49: Hoare triple {11745#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,257 INFO L272 TraceCheckUtils]: 50: Hoare triple {11745#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,257 INFO L290 TraceCheckUtils]: 51: Hoare triple {11745#(<= ~counter~0 3)} ~cond := #in~cond; {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,257 INFO L290 TraceCheckUtils]: 52: Hoare triple {11745#(<= ~counter~0 3)} assume !(0 == ~cond); {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,258 INFO L290 TraceCheckUtils]: 53: Hoare triple {11745#(<= ~counter~0 3)} assume true; {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,258 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {11745#(<= ~counter~0 3)} {11745#(<= ~counter~0 3)} #82#return; {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,258 INFO L272 TraceCheckUtils]: 55: Hoare triple {11745#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,259 INFO L290 TraceCheckUtils]: 56: Hoare triple {11745#(<= ~counter~0 3)} ~cond := #in~cond; {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,259 INFO L290 TraceCheckUtils]: 57: Hoare triple {11745#(<= ~counter~0 3)} assume !(0 == ~cond); {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,259 INFO L290 TraceCheckUtils]: 58: Hoare triple {11745#(<= ~counter~0 3)} assume true; {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,260 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {11745#(<= ~counter~0 3)} {11745#(<= ~counter~0 3)} #84#return; {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,260 INFO L272 TraceCheckUtils]: 60: Hoare triple {11745#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,260 INFO L290 TraceCheckUtils]: 61: Hoare triple {11745#(<= ~counter~0 3)} ~cond := #in~cond; {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,261 INFO L290 TraceCheckUtils]: 62: Hoare triple {11745#(<= ~counter~0 3)} assume !(0 == ~cond); {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,261 INFO L290 TraceCheckUtils]: 63: Hoare triple {11745#(<= ~counter~0 3)} assume true; {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,261 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {11745#(<= ~counter~0 3)} {11745#(<= ~counter~0 3)} #86#return; {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,262 INFO L290 TraceCheckUtils]: 65: Hoare triple {11745#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,262 INFO L290 TraceCheckUtils]: 66: Hoare triple {11745#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11800#(<= |main_#t~post6| 3)} is VALID [2022-04-08 12:57:25,262 INFO L290 TraceCheckUtils]: 67: Hoare triple {11800#(<= |main_#t~post6| 3)} assume !(#t~post6 < 5);havoc #t~post6; {11594#false} is VALID [2022-04-08 12:57:25,262 INFO L290 TraceCheckUtils]: 68: Hoare triple {11594#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11594#false} is VALID [2022-04-08 12:57:25,262 INFO L290 TraceCheckUtils]: 69: Hoare triple {11594#false} assume !(#t~post7 < 5);havoc #t~post7; {11594#false} is VALID [2022-04-08 12:57:25,262 INFO L272 TraceCheckUtils]: 70: Hoare triple {11594#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {11594#false} is VALID [2022-04-08 12:57:25,263 INFO L290 TraceCheckUtils]: 71: Hoare triple {11594#false} ~cond := #in~cond; {11594#false} is VALID [2022-04-08 12:57:25,263 INFO L290 TraceCheckUtils]: 72: Hoare triple {11594#false} assume !(0 == ~cond); {11594#false} is VALID [2022-04-08 12:57:25,263 INFO L290 TraceCheckUtils]: 73: Hoare triple {11594#false} assume true; {11594#false} is VALID [2022-04-08 12:57:25,263 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11594#false} {11594#false} #92#return; {11594#false} is VALID [2022-04-08 12:57:25,263 INFO L272 TraceCheckUtils]: 75: Hoare triple {11594#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {11594#false} is VALID [2022-04-08 12:57:25,263 INFO L290 TraceCheckUtils]: 76: Hoare triple {11594#false} ~cond := #in~cond; {11594#false} is VALID [2022-04-08 12:57:25,263 INFO L290 TraceCheckUtils]: 77: Hoare triple {11594#false} assume 0 == ~cond; {11594#false} is VALID [2022-04-08 12:57:25,263 INFO L290 TraceCheckUtils]: 78: Hoare triple {11594#false} assume !false; {11594#false} is VALID [2022-04-08 12:57:25,263 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-08 12:57:25,263 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:57:25,568 INFO L290 TraceCheckUtils]: 78: Hoare triple {11594#false} assume !false; {11594#false} is VALID [2022-04-08 12:57:25,568 INFO L290 TraceCheckUtils]: 77: Hoare triple {11594#false} assume 0 == ~cond; {11594#false} is VALID [2022-04-08 12:57:25,568 INFO L290 TraceCheckUtils]: 76: Hoare triple {11594#false} ~cond := #in~cond; {11594#false} is VALID [2022-04-08 12:57:25,568 INFO L272 TraceCheckUtils]: 75: Hoare triple {11594#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {11594#false} is VALID [2022-04-08 12:57:25,568 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11593#true} {11594#false} #92#return; {11594#false} is VALID [2022-04-08 12:57:25,568 INFO L290 TraceCheckUtils]: 73: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-08 12:57:25,568 INFO L290 TraceCheckUtils]: 72: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-08 12:57:25,568 INFO L290 TraceCheckUtils]: 71: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-08 12:57:25,568 INFO L272 TraceCheckUtils]: 70: Hoare triple {11594#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {11593#true} is VALID [2022-04-08 12:57:25,568 INFO L290 TraceCheckUtils]: 69: Hoare triple {11594#false} assume !(#t~post7 < 5);havoc #t~post7; {11594#false} is VALID [2022-04-08 12:57:25,569 INFO L290 TraceCheckUtils]: 68: Hoare triple {11594#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11594#false} is VALID [2022-04-08 12:57:25,569 INFO L290 TraceCheckUtils]: 67: Hoare triple {11870#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {11594#false} is VALID [2022-04-08 12:57:25,569 INFO L290 TraceCheckUtils]: 66: Hoare triple {11874#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11870#(< |main_#t~post6| 5)} is VALID [2022-04-08 12:57:25,569 INFO L290 TraceCheckUtils]: 65: Hoare triple {11874#(< ~counter~0 5)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11874#(< ~counter~0 5)} is VALID [2022-04-08 12:57:25,570 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {11593#true} {11874#(< ~counter~0 5)} #86#return; {11874#(< ~counter~0 5)} is VALID [2022-04-08 12:57:25,570 INFO L290 TraceCheckUtils]: 63: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-08 12:57:25,570 INFO L290 TraceCheckUtils]: 62: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-08 12:57:25,570 INFO L290 TraceCheckUtils]: 61: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-08 12:57:25,570 INFO L272 TraceCheckUtils]: 60: Hoare triple {11874#(< ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11593#true} is VALID [2022-04-08 12:57:25,571 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {11593#true} {11874#(< ~counter~0 5)} #84#return; {11874#(< ~counter~0 5)} is VALID [2022-04-08 12:57:25,571 INFO L290 TraceCheckUtils]: 58: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-08 12:57:25,571 INFO L290 TraceCheckUtils]: 57: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-08 12:57:25,571 INFO L290 TraceCheckUtils]: 56: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-08 12:57:25,571 INFO L272 TraceCheckUtils]: 55: Hoare triple {11874#(< ~counter~0 5)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11593#true} is VALID [2022-04-08 12:57:25,571 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {11593#true} {11874#(< ~counter~0 5)} #82#return; {11874#(< ~counter~0 5)} is VALID [2022-04-08 12:57:25,571 INFO L290 TraceCheckUtils]: 53: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-08 12:57:25,571 INFO L290 TraceCheckUtils]: 52: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-08 12:57:25,571 INFO L290 TraceCheckUtils]: 51: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-08 12:57:25,571 INFO L272 TraceCheckUtils]: 50: Hoare triple {11874#(< ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11593#true} is VALID [2022-04-08 12:57:25,572 INFO L290 TraceCheckUtils]: 49: Hoare triple {11874#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {11874#(< ~counter~0 5)} is VALID [2022-04-08 12:57:25,572 INFO L290 TraceCheckUtils]: 48: Hoare triple {11745#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11874#(< ~counter~0 5)} is VALID [2022-04-08 12:57:25,572 INFO L290 TraceCheckUtils]: 47: Hoare triple {11745#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,573 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {11593#true} {11745#(<= ~counter~0 3)} #86#return; {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,573 INFO L290 TraceCheckUtils]: 45: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-08 12:57:25,573 INFO L290 TraceCheckUtils]: 44: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-08 12:57:25,573 INFO L290 TraceCheckUtils]: 43: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-08 12:57:25,573 INFO L272 TraceCheckUtils]: 42: Hoare triple {11745#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11593#true} is VALID [2022-04-08 12:57:25,574 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11593#true} {11745#(<= ~counter~0 3)} #84#return; {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,574 INFO L290 TraceCheckUtils]: 40: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-08 12:57:25,574 INFO L290 TraceCheckUtils]: 39: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-08 12:57:25,574 INFO L290 TraceCheckUtils]: 38: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-08 12:57:25,574 INFO L272 TraceCheckUtils]: 37: Hoare triple {11745#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11593#true} is VALID [2022-04-08 12:57:25,574 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11593#true} {11745#(<= ~counter~0 3)} #82#return; {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,574 INFO L290 TraceCheckUtils]: 35: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-08 12:57:25,574 INFO L290 TraceCheckUtils]: 34: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-08 12:57:25,574 INFO L290 TraceCheckUtils]: 33: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-08 12:57:25,574 INFO L272 TraceCheckUtils]: 32: Hoare triple {11745#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11593#true} is VALID [2022-04-08 12:57:25,575 INFO L290 TraceCheckUtils]: 31: Hoare triple {11745#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,575 INFO L290 TraceCheckUtils]: 30: Hoare triple {11690#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11745#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:25,575 INFO L290 TraceCheckUtils]: 29: Hoare triple {11690#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,576 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11593#true} {11690#(<= ~counter~0 2)} #86#return; {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,576 INFO L290 TraceCheckUtils]: 27: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-08 12:57:25,576 INFO L290 TraceCheckUtils]: 26: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-08 12:57:25,576 INFO L290 TraceCheckUtils]: 25: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-08 12:57:25,576 INFO L272 TraceCheckUtils]: 24: Hoare triple {11690#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11593#true} is VALID [2022-04-08 12:57:25,576 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11593#true} {11690#(<= ~counter~0 2)} #84#return; {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,576 INFO L290 TraceCheckUtils]: 22: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-08 12:57:25,577 INFO L290 TraceCheckUtils]: 21: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-08 12:57:25,577 INFO L290 TraceCheckUtils]: 20: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-08 12:57:25,577 INFO L272 TraceCheckUtils]: 19: Hoare triple {11690#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11593#true} is VALID [2022-04-08 12:57:25,577 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {11593#true} {11690#(<= ~counter~0 2)} #82#return; {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,577 INFO L290 TraceCheckUtils]: 17: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-08 12:57:25,577 INFO L290 TraceCheckUtils]: 16: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-08 12:57:25,577 INFO L290 TraceCheckUtils]: 15: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-08 12:57:25,577 INFO L272 TraceCheckUtils]: 14: Hoare triple {11690#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11593#true} is VALID [2022-04-08 12:57:25,577 INFO L290 TraceCheckUtils]: 13: Hoare triple {11690#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,578 INFO L290 TraceCheckUtils]: 12: Hoare triple {11635#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11690#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:25,578 INFO L290 TraceCheckUtils]: 11: Hoare triple {11635#(<= ~counter~0 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,579 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11593#true} {11635#(<= ~counter~0 1)} #80#return; {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,579 INFO L290 TraceCheckUtils]: 9: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-08 12:57:25,579 INFO L290 TraceCheckUtils]: 8: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-08 12:57:25,579 INFO L290 TraceCheckUtils]: 7: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-08 12:57:25,579 INFO L272 TraceCheckUtils]: 6: Hoare triple {11635#(<= ~counter~0 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11593#true} is VALID [2022-04-08 12:57:25,579 INFO L290 TraceCheckUtils]: 5: Hoare triple {11635#(<= ~counter~0 1)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,579 INFO L272 TraceCheckUtils]: 4: Hoare triple {11635#(<= ~counter~0 1)} call #t~ret8 := main(); {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,580 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11635#(<= ~counter~0 1)} {11593#true} #96#return; {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,580 INFO L290 TraceCheckUtils]: 2: Hoare triple {11635#(<= ~counter~0 1)} assume true; {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,580 INFO L290 TraceCheckUtils]: 1: Hoare triple {11593#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11635#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:25,580 INFO L272 TraceCheckUtils]: 0: Hoare triple {11593#true} call ULTIMATE.init(); {11593#true} is VALID [2022-04-08 12:57:25,581 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-08 12:57:25,581 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:57:25,581 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1901880841] [2022-04-08 12:57:25,581 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:57:25,581 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1497227033] [2022-04-08 12:57:25,581 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1497227033] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:57:25,581 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:57:25,581 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-08 12:57:25,581 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:57:25,581 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [359256061] [2022-04-08 12:57:25,581 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [359256061] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:57:25,582 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:57:25,582 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 12:57:25,582 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1941277913] [2022-04-08 12:57:25,582 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:57:25,582 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Word has length 79 [2022-04-08 12:57:25,582 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:57:25,583 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:57:25,630 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:57:25,630 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 12:57:25,630 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:57:25,630 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 12:57:25,630 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:57:25,630 INFO L87 Difference]: Start difference. First operand 125 states and 145 transitions. Second operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:57:25,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:57:25,970 INFO L93 Difference]: Finished difference Result 170 states and 207 transitions. [2022-04-08 12:57:25,970 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 12:57:25,970 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Word has length 79 [2022-04-08 12:57:25,970 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:57:25,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:57:25,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 102 transitions. [2022-04-08 12:57:25,972 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:57:25,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 102 transitions. [2022-04-08 12:57:25,974 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 102 transitions. [2022-04-08 12:57:26,065 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:57:26,068 INFO L225 Difference]: With dead ends: 170 [2022-04-08 12:57:26,068 INFO L226 Difference]: Without dead ends: 127 [2022-04-08 12:57:26,068 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 149 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-08 12:57:26,069 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 7 mSDsluCounter, 109 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 157 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:57:26,069 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [7 Valid, 157 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:57:26,069 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2022-04-08 12:57:26,180 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 127. [2022-04-08 12:57:26,180 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:57:26,181 INFO L82 GeneralOperation]: Start isEquivalent. First operand 127 states. Second operand has 127 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:57:26,181 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand has 127 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:57:26,181 INFO L87 Difference]: Start difference. First operand 127 states. Second operand has 127 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:57:26,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:57:26,184 INFO L93 Difference]: Finished difference Result 127 states and 147 transitions. [2022-04-08 12:57:26,184 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 147 transitions. [2022-04-08 12:57:26,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:57:26,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:57:26,185 INFO L74 IsIncluded]: Start isIncluded. First operand has 127 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) Second operand 127 states. [2022-04-08 12:57:26,185 INFO L87 Difference]: Start difference. First operand has 127 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) Second operand 127 states. [2022-04-08 12:57:26,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:57:26,188 INFO L93 Difference]: Finished difference Result 127 states and 147 transitions. [2022-04-08 12:57:26,188 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 147 transitions. [2022-04-08 12:57:26,188 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:57:26,189 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:57:26,189 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:57:26,189 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:57:26,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 127 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:57:26,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 147 transitions. [2022-04-08 12:57:26,192 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 147 transitions. Word has length 79 [2022-04-08 12:57:26,192 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:57:26,192 INFO L478 AbstractCegarLoop]: Abstraction has 127 states and 147 transitions. [2022-04-08 12:57:26,192 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:57:26,192 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 127 states and 147 transitions. [2022-04-08 12:57:28,387 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 147 edges. 146 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 12:57:28,388 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 147 transitions. [2022-04-08 12:57:28,388 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 12:57:28,388 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:57:28,388 INFO L499 BasicCegarLoop]: 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, 1, 1, 1, 1, 1, 1] [2022-04-08 12:57:28,406 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-08 12:57:28,595 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-08 12:57:28,595 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:57:28,596 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:57:28,596 INFO L85 PathProgramCache]: Analyzing trace with hash -1069895175, now seen corresponding path program 3 times [2022-04-08 12:57:28,596 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:57:28,596 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [77976420] [2022-04-08 12:57:36,147 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:57:36,148 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:57:36,148 INFO L85 PathProgramCache]: Analyzing trace with hash -1069895175, now seen corresponding path program 4 times [2022-04-08 12:57:36,148 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:57:36,148 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [129030683] [2022-04-08 12:57:36,148 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:57:36,148 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:57:36,160 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:57:36,160 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1494330521] [2022-04-08 12:57:36,160 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:57:36,160 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:57:36,160 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:57:36,167 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-08 12:57:36,168 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-08 12:57:36,217 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:57:36,218 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:57:36,219 INFO L263 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 12:57:36,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:57:36,236 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:57:36,572 INFO L272 TraceCheckUtils]: 0: Hoare triple {12929#true} call ULTIMATE.init(); {12929#true} is VALID [2022-04-08 12:57:36,572 INFO L290 TraceCheckUtils]: 1: Hoare triple {12929#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12937#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:36,573 INFO L290 TraceCheckUtils]: 2: Hoare triple {12937#(<= ~counter~0 0)} assume true; {12937#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:36,573 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12937#(<= ~counter~0 0)} {12929#true} #96#return; {12937#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:36,573 INFO L272 TraceCheckUtils]: 4: Hoare triple {12937#(<= ~counter~0 0)} call #t~ret8 := main(); {12937#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:36,574 INFO L290 TraceCheckUtils]: 5: Hoare triple {12937#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {12937#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:36,574 INFO L272 TraceCheckUtils]: 6: Hoare triple {12937#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {12937#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:36,574 INFO L290 TraceCheckUtils]: 7: Hoare triple {12937#(<= ~counter~0 0)} ~cond := #in~cond; {12937#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:36,575 INFO L290 TraceCheckUtils]: 8: Hoare triple {12937#(<= ~counter~0 0)} assume !(0 == ~cond); {12937#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:36,575 INFO L290 TraceCheckUtils]: 9: Hoare triple {12937#(<= ~counter~0 0)} assume true; {12937#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:36,575 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12937#(<= ~counter~0 0)} {12937#(<= ~counter~0 0)} #80#return; {12937#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:36,575 INFO L290 TraceCheckUtils]: 11: Hoare triple {12937#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {12937#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:36,576 INFO L290 TraceCheckUtils]: 12: Hoare triple {12937#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,576 INFO L290 TraceCheckUtils]: 13: Hoare triple {12971#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,577 INFO L272 TraceCheckUtils]: 14: Hoare triple {12971#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,577 INFO L290 TraceCheckUtils]: 15: Hoare triple {12971#(<= ~counter~0 1)} ~cond := #in~cond; {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,577 INFO L290 TraceCheckUtils]: 16: Hoare triple {12971#(<= ~counter~0 1)} assume !(0 == ~cond); {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,578 INFO L290 TraceCheckUtils]: 17: Hoare triple {12971#(<= ~counter~0 1)} assume true; {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,578 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {12971#(<= ~counter~0 1)} {12971#(<= ~counter~0 1)} #82#return; {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,578 INFO L272 TraceCheckUtils]: 19: Hoare triple {12971#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,579 INFO L290 TraceCheckUtils]: 20: Hoare triple {12971#(<= ~counter~0 1)} ~cond := #in~cond; {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,579 INFO L290 TraceCheckUtils]: 21: Hoare triple {12971#(<= ~counter~0 1)} assume !(0 == ~cond); {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,579 INFO L290 TraceCheckUtils]: 22: Hoare triple {12971#(<= ~counter~0 1)} assume true; {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,580 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12971#(<= ~counter~0 1)} {12971#(<= ~counter~0 1)} #84#return; {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,580 INFO L272 TraceCheckUtils]: 24: Hoare triple {12971#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,580 INFO L290 TraceCheckUtils]: 25: Hoare triple {12971#(<= ~counter~0 1)} ~cond := #in~cond; {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,581 INFO L290 TraceCheckUtils]: 26: Hoare triple {12971#(<= ~counter~0 1)} assume !(0 == ~cond); {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,581 INFO L290 TraceCheckUtils]: 27: Hoare triple {12971#(<= ~counter~0 1)} assume true; {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,581 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {12971#(<= ~counter~0 1)} {12971#(<= ~counter~0 1)} #86#return; {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,582 INFO L290 TraceCheckUtils]: 29: Hoare triple {12971#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,582 INFO L290 TraceCheckUtils]: 30: Hoare triple {12971#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,582 INFO L290 TraceCheckUtils]: 31: Hoare triple {13026#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,583 INFO L272 TraceCheckUtils]: 32: Hoare triple {13026#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,583 INFO L290 TraceCheckUtils]: 33: Hoare triple {13026#(<= ~counter~0 2)} ~cond := #in~cond; {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,583 INFO L290 TraceCheckUtils]: 34: Hoare triple {13026#(<= ~counter~0 2)} assume !(0 == ~cond); {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,583 INFO L290 TraceCheckUtils]: 35: Hoare triple {13026#(<= ~counter~0 2)} assume true; {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,584 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13026#(<= ~counter~0 2)} {13026#(<= ~counter~0 2)} #82#return; {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,584 INFO L272 TraceCheckUtils]: 37: Hoare triple {13026#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,584 INFO L290 TraceCheckUtils]: 38: Hoare triple {13026#(<= ~counter~0 2)} ~cond := #in~cond; {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,585 INFO L290 TraceCheckUtils]: 39: Hoare triple {13026#(<= ~counter~0 2)} assume !(0 == ~cond); {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,585 INFO L290 TraceCheckUtils]: 40: Hoare triple {13026#(<= ~counter~0 2)} assume true; {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,585 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13026#(<= ~counter~0 2)} {13026#(<= ~counter~0 2)} #84#return; {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,586 INFO L272 TraceCheckUtils]: 42: Hoare triple {13026#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,586 INFO L290 TraceCheckUtils]: 43: Hoare triple {13026#(<= ~counter~0 2)} ~cond := #in~cond; {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,586 INFO L290 TraceCheckUtils]: 44: Hoare triple {13026#(<= ~counter~0 2)} assume !(0 == ~cond); {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,587 INFO L290 TraceCheckUtils]: 45: Hoare triple {13026#(<= ~counter~0 2)} assume true; {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,587 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {13026#(<= ~counter~0 2)} {13026#(<= ~counter~0 2)} #86#return; {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,588 INFO L290 TraceCheckUtils]: 47: Hoare triple {13026#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,588 INFO L290 TraceCheckUtils]: 48: Hoare triple {13026#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,589 INFO L290 TraceCheckUtils]: 49: Hoare triple {13081#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,589 INFO L272 TraceCheckUtils]: 50: Hoare triple {13081#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,590 INFO L290 TraceCheckUtils]: 51: Hoare triple {13081#(<= ~counter~0 3)} ~cond := #in~cond; {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,590 INFO L290 TraceCheckUtils]: 52: Hoare triple {13081#(<= ~counter~0 3)} assume !(0 == ~cond); {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,590 INFO L290 TraceCheckUtils]: 53: Hoare triple {13081#(<= ~counter~0 3)} assume true; {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,591 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {13081#(<= ~counter~0 3)} {13081#(<= ~counter~0 3)} #82#return; {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,591 INFO L272 TraceCheckUtils]: 55: Hoare triple {13081#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,592 INFO L290 TraceCheckUtils]: 56: Hoare triple {13081#(<= ~counter~0 3)} ~cond := #in~cond; {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,592 INFO L290 TraceCheckUtils]: 57: Hoare triple {13081#(<= ~counter~0 3)} assume !(0 == ~cond); {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,592 INFO L290 TraceCheckUtils]: 58: Hoare triple {13081#(<= ~counter~0 3)} assume true; {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,593 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13081#(<= ~counter~0 3)} {13081#(<= ~counter~0 3)} #84#return; {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,594 INFO L272 TraceCheckUtils]: 60: Hoare triple {13081#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,594 INFO L290 TraceCheckUtils]: 61: Hoare triple {13081#(<= ~counter~0 3)} ~cond := #in~cond; {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,594 INFO L290 TraceCheckUtils]: 62: Hoare triple {13081#(<= ~counter~0 3)} assume !(0 == ~cond); {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,595 INFO L290 TraceCheckUtils]: 63: Hoare triple {13081#(<= ~counter~0 3)} assume true; {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,595 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {13081#(<= ~counter~0 3)} {13081#(<= ~counter~0 3)} #86#return; {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,596 INFO L290 TraceCheckUtils]: 65: Hoare triple {13081#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,596 INFO L290 TraceCheckUtils]: 66: Hoare triple {13081#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,597 INFO L290 TraceCheckUtils]: 67: Hoare triple {13136#(<= ~counter~0 4)} assume !!(#t~post7 < 5);havoc #t~post7; {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,597 INFO L272 TraceCheckUtils]: 68: Hoare triple {13136#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,598 INFO L290 TraceCheckUtils]: 69: Hoare triple {13136#(<= ~counter~0 4)} ~cond := #in~cond; {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,598 INFO L290 TraceCheckUtils]: 70: Hoare triple {13136#(<= ~counter~0 4)} assume !(0 == ~cond); {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,598 INFO L290 TraceCheckUtils]: 71: Hoare triple {13136#(<= ~counter~0 4)} assume true; {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,599 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {13136#(<= ~counter~0 4)} {13136#(<= ~counter~0 4)} #88#return; {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,600 INFO L272 TraceCheckUtils]: 73: Hoare triple {13136#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,600 INFO L290 TraceCheckUtils]: 74: Hoare triple {13136#(<= ~counter~0 4)} ~cond := #in~cond; {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,600 INFO L290 TraceCheckUtils]: 75: Hoare triple {13136#(<= ~counter~0 4)} assume !(0 == ~cond); {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,601 INFO L290 TraceCheckUtils]: 76: Hoare triple {13136#(<= ~counter~0 4)} assume true; {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,601 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {13136#(<= ~counter~0 4)} {13136#(<= ~counter~0 4)} #90#return; {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,602 INFO L290 TraceCheckUtils]: 78: Hoare triple {13136#(<= ~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); {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,602 INFO L290 TraceCheckUtils]: 79: Hoare triple {13136#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,603 INFO L290 TraceCheckUtils]: 80: Hoare triple {13136#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13179#(<= |main_#t~post7| 4)} is VALID [2022-04-08 12:57:36,603 INFO L290 TraceCheckUtils]: 81: Hoare triple {13179#(<= |main_#t~post7| 4)} assume !(#t~post7 < 5);havoc #t~post7; {12930#false} is VALID [2022-04-08 12:57:36,603 INFO L272 TraceCheckUtils]: 82: Hoare triple {12930#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12930#false} is VALID [2022-04-08 12:57:36,603 INFO L290 TraceCheckUtils]: 83: Hoare triple {12930#false} ~cond := #in~cond; {12930#false} is VALID [2022-04-08 12:57:36,603 INFO L290 TraceCheckUtils]: 84: Hoare triple {12930#false} assume 0 == ~cond; {12930#false} is VALID [2022-04-08 12:57:36,603 INFO L290 TraceCheckUtils]: 85: Hoare triple {12930#false} assume !false; {12930#false} is VALID [2022-04-08 12:57:36,604 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-08 12:57:36,604 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:57:36,934 INFO L290 TraceCheckUtils]: 85: Hoare triple {12930#false} assume !false; {12930#false} is VALID [2022-04-08 12:57:36,935 INFO L290 TraceCheckUtils]: 84: Hoare triple {12930#false} assume 0 == ~cond; {12930#false} is VALID [2022-04-08 12:57:36,935 INFO L290 TraceCheckUtils]: 83: Hoare triple {12930#false} ~cond := #in~cond; {12930#false} is VALID [2022-04-08 12:57:36,935 INFO L272 TraceCheckUtils]: 82: Hoare triple {12930#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12930#false} is VALID [2022-04-08 12:57:36,935 INFO L290 TraceCheckUtils]: 81: Hoare triple {13179#(<= |main_#t~post7| 4)} assume !(#t~post7 < 5);havoc #t~post7; {12930#false} is VALID [2022-04-08 12:57:36,935 INFO L290 TraceCheckUtils]: 80: Hoare triple {13136#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13179#(<= |main_#t~post7| 4)} is VALID [2022-04-08 12:57:36,936 INFO L290 TraceCheckUtils]: 79: Hoare triple {13136#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,936 INFO L290 TraceCheckUtils]: 78: Hoare triple {13136#(<= ~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); {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,936 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {12929#true} {13136#(<= ~counter~0 4)} #90#return; {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,937 INFO L290 TraceCheckUtils]: 76: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-08 12:57:36,937 INFO L290 TraceCheckUtils]: 75: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-08 12:57:36,937 INFO L290 TraceCheckUtils]: 74: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-08 12:57:36,937 INFO L272 TraceCheckUtils]: 73: Hoare triple {13136#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12929#true} is VALID [2022-04-08 12:57:36,937 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {12929#true} {13136#(<= ~counter~0 4)} #88#return; {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,937 INFO L290 TraceCheckUtils]: 71: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-08 12:57:36,937 INFO L290 TraceCheckUtils]: 70: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-08 12:57:36,937 INFO L290 TraceCheckUtils]: 69: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-08 12:57:36,937 INFO L272 TraceCheckUtils]: 68: Hoare triple {13136#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12929#true} is VALID [2022-04-08 12:57:36,938 INFO L290 TraceCheckUtils]: 67: Hoare triple {13136#(<= ~counter~0 4)} assume !!(#t~post7 < 5);havoc #t~post7; {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,938 INFO L290 TraceCheckUtils]: 66: Hoare triple {13081#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13136#(<= ~counter~0 4)} is VALID [2022-04-08 12:57:36,939 INFO L290 TraceCheckUtils]: 65: Hoare triple {13081#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,939 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {12929#true} {13081#(<= ~counter~0 3)} #86#return; {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,939 INFO L290 TraceCheckUtils]: 63: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-08 12:57:36,939 INFO L290 TraceCheckUtils]: 62: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-08 12:57:36,939 INFO L290 TraceCheckUtils]: 61: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-08 12:57:36,939 INFO L272 TraceCheckUtils]: 60: Hoare triple {13081#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12929#true} is VALID [2022-04-08 12:57:36,940 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {12929#true} {13081#(<= ~counter~0 3)} #84#return; {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,940 INFO L290 TraceCheckUtils]: 58: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-08 12:57:36,940 INFO L290 TraceCheckUtils]: 57: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-08 12:57:36,940 INFO L290 TraceCheckUtils]: 56: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-08 12:57:36,940 INFO L272 TraceCheckUtils]: 55: Hoare triple {13081#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12929#true} is VALID [2022-04-08 12:57:36,940 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {12929#true} {13081#(<= ~counter~0 3)} #82#return; {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,940 INFO L290 TraceCheckUtils]: 53: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-08 12:57:36,940 INFO L290 TraceCheckUtils]: 52: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-08 12:57:36,940 INFO L290 TraceCheckUtils]: 51: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-08 12:57:36,941 INFO L272 TraceCheckUtils]: 50: Hoare triple {13081#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12929#true} is VALID [2022-04-08 12:57:36,941 INFO L290 TraceCheckUtils]: 49: Hoare triple {13081#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,941 INFO L290 TraceCheckUtils]: 48: Hoare triple {13026#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13081#(<= ~counter~0 3)} is VALID [2022-04-08 12:57:36,941 INFO L290 TraceCheckUtils]: 47: Hoare triple {13026#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,942 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {12929#true} {13026#(<= ~counter~0 2)} #86#return; {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,942 INFO L290 TraceCheckUtils]: 45: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-08 12:57:36,942 INFO L290 TraceCheckUtils]: 44: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-08 12:57:36,942 INFO L290 TraceCheckUtils]: 43: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-08 12:57:36,942 INFO L272 TraceCheckUtils]: 42: Hoare triple {13026#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12929#true} is VALID [2022-04-08 12:57:36,943 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12929#true} {13026#(<= ~counter~0 2)} #84#return; {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,943 INFO L290 TraceCheckUtils]: 40: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-08 12:57:36,943 INFO L290 TraceCheckUtils]: 39: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-08 12:57:36,943 INFO L290 TraceCheckUtils]: 38: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-08 12:57:36,943 INFO L272 TraceCheckUtils]: 37: Hoare triple {13026#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12929#true} is VALID [2022-04-08 12:57:36,943 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {12929#true} {13026#(<= ~counter~0 2)} #82#return; {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,943 INFO L290 TraceCheckUtils]: 35: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-08 12:57:36,943 INFO L290 TraceCheckUtils]: 34: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-08 12:57:36,943 INFO L290 TraceCheckUtils]: 33: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-08 12:57:36,943 INFO L272 TraceCheckUtils]: 32: Hoare triple {13026#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12929#true} is VALID [2022-04-08 12:57:36,944 INFO L290 TraceCheckUtils]: 31: Hoare triple {13026#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,944 INFO L290 TraceCheckUtils]: 30: Hoare triple {12971#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13026#(<= ~counter~0 2)} is VALID [2022-04-08 12:57:36,944 INFO L290 TraceCheckUtils]: 29: Hoare triple {12971#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,945 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {12929#true} {12971#(<= ~counter~0 1)} #86#return; {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,945 INFO L290 TraceCheckUtils]: 27: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-08 12:57:36,945 INFO L290 TraceCheckUtils]: 26: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-08 12:57:36,945 INFO L290 TraceCheckUtils]: 25: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-08 12:57:36,945 INFO L272 TraceCheckUtils]: 24: Hoare triple {12971#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12929#true} is VALID [2022-04-08 12:57:36,946 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12929#true} {12971#(<= ~counter~0 1)} #84#return; {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,946 INFO L290 TraceCheckUtils]: 22: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-08 12:57:36,946 INFO L290 TraceCheckUtils]: 21: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-08 12:57:36,946 INFO L290 TraceCheckUtils]: 20: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-08 12:57:36,946 INFO L272 TraceCheckUtils]: 19: Hoare triple {12971#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12929#true} is VALID [2022-04-08 12:57:36,946 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {12929#true} {12971#(<= ~counter~0 1)} #82#return; {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,946 INFO L290 TraceCheckUtils]: 17: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-08 12:57:36,946 INFO L290 TraceCheckUtils]: 16: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-08 12:57:36,946 INFO L290 TraceCheckUtils]: 15: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-08 12:57:36,946 INFO L272 TraceCheckUtils]: 14: Hoare triple {12971#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12929#true} is VALID [2022-04-08 12:57:36,947 INFO L290 TraceCheckUtils]: 13: Hoare triple {12971#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,947 INFO L290 TraceCheckUtils]: 12: Hoare triple {12937#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12971#(<= ~counter~0 1)} is VALID [2022-04-08 12:57:36,947 INFO L290 TraceCheckUtils]: 11: Hoare triple {12937#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {12937#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:36,948 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12929#true} {12937#(<= ~counter~0 0)} #80#return; {12937#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:36,948 INFO L290 TraceCheckUtils]: 9: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-08 12:57:36,948 INFO L290 TraceCheckUtils]: 8: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-08 12:57:36,948 INFO L290 TraceCheckUtils]: 7: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-08 12:57:36,948 INFO L272 TraceCheckUtils]: 6: Hoare triple {12937#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {12929#true} is VALID [2022-04-08 12:57:36,948 INFO L290 TraceCheckUtils]: 5: Hoare triple {12937#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {12937#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:36,949 INFO L272 TraceCheckUtils]: 4: Hoare triple {12937#(<= ~counter~0 0)} call #t~ret8 := main(); {12937#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:36,949 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12937#(<= ~counter~0 0)} {12929#true} #96#return; {12937#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:36,949 INFO L290 TraceCheckUtils]: 2: Hoare triple {12937#(<= ~counter~0 0)} assume true; {12937#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:36,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {12929#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12937#(<= ~counter~0 0)} is VALID [2022-04-08 12:57:36,950 INFO L272 TraceCheckUtils]: 0: Hoare triple {12929#true} call ULTIMATE.init(); {12929#true} is VALID [2022-04-08 12:57:36,950 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-08 12:57:36,950 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:57:36,950 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [129030683] [2022-04-08 12:57:36,950 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:57:36,950 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1494330521] [2022-04-08 12:57:36,950 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1494330521] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:57:36,950 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:57:36,951 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-04-08 12:57:36,951 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:57:36,951 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [77976420] [2022-04-08 12:57:36,951 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [77976420] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:57:36,951 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:57:36,951 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:57:36,951 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1786591618] [2022-04-08 12:57:36,951 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:57:36,951 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) Word has length 86 [2022-04-08 12:57:36,952 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:57:36,952 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 12:57:37,003 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:57:37,003 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:57:37,003 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:57:37,003 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:57:37,003 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=33, Unknown=0, NotChecked=0, Total=56 [2022-04-08 12:57:37,004 INFO L87 Difference]: Start difference. First operand 127 states and 147 transitions. Second operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 12:57:37,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:57:37,541 INFO L93 Difference]: Finished difference Result 179 states and 206 transitions. [2022-04-08 12:57:37,541 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 12:57:37,541 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) Word has length 86 [2022-04-08 12:57:37,542 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:57:37,542 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 12:57:37,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 119 transitions. [2022-04-08 12:57:37,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 12:57:37,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 119 transitions. [2022-04-08 12:57:37,546 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 119 transitions. [2022-04-08 12:57:37,649 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:57:37,653 INFO L225 Difference]: With dead ends: 179 [2022-04-08 12:57:37,653 INFO L226 Difference]: Without dead ends: 164 [2022-04-08 12:57:37,653 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 172 GetRequests, 164 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:57:37,654 INFO L913 BasicCegarLoop]: 56 mSDtfsCounter, 35 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 77 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 213 SdHoareTripleChecker+Invalid, 109 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 77 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 12:57:37,654 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 213 Invalid, 109 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 77 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 12:57:37,654 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-08 12:57:37,808 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 161. [2022-04-08 12:57:37,808 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:57:37,808 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:57:37,809 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:57:37,809 INFO L87 Difference]: Start difference. First operand 164 states. Second operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:57:37,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:57:37,813 INFO L93 Difference]: Finished difference Result 164 states and 188 transitions. [2022-04-08 12:57:37,813 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 188 transitions. [2022-04-08 12:57:37,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:57:37,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:57:37,814 INFO L74 IsIncluded]: Start isIncluded. First operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 164 states. [2022-04-08 12:57:37,814 INFO L87 Difference]: Start difference. First operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 164 states. [2022-04-08 12:57:37,817 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:57:37,818 INFO L93 Difference]: Finished difference Result 164 states and 188 transitions. [2022-04-08 12:57:37,818 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 188 transitions. [2022-04-08 12:57:37,818 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:57:37,818 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:57:37,818 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:57:37,818 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:57:37,819 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:57:37,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 161 states to 161 states and 186 transitions. [2022-04-08 12:57:37,823 INFO L78 Accepts]: Start accepts. Automaton has 161 states and 186 transitions. Word has length 86 [2022-04-08 12:57:37,823 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:57:37,823 INFO L478 AbstractCegarLoop]: Abstraction has 161 states and 186 transitions. [2022-04-08 12:57:37,823 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 12:57:37,824 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 161 states and 186 transitions. [2022-04-08 12:57:40,081 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 186 edges. 185 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 12:57:40,081 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 186 transitions. [2022-04-08 12:57:40,082 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 12:57:40,082 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:57:40,082 INFO L499 BasicCegarLoop]: 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, 1, 1, 1, 1, 1, 1] [2022-04-08 12:57:40,101 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-08 12:57:40,291 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:57:40,292 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:57:40,292 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:57:40,292 INFO L85 PathProgramCache]: Analyzing trace with hash -1068167297, now seen corresponding path program 5 times [2022-04-08 12:57:40,292 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:57:40,292 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1314814243] [2022-04-08 12:57:49,172 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:57:49,172 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:57:49,172 INFO L85 PathProgramCache]: Analyzing trace with hash -1068167297, now seen corresponding path program 6 times [2022-04-08 12:57:49,172 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:57:49,173 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1825671566] [2022-04-08 12:57:49,173 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:57:49,173 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:57:49,182 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:57:49,182 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1378375199] [2022-04-08 12:57:49,182 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 12:57:49,182 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:57:49,182 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:57:49,184 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-08 12:57:49,195 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-08 12:57:49,232 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 12:57:49,232 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:57:49,233 INFO L263 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 12:57:49,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:57:49,253 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:59:03,423 INFO L272 TraceCheckUtils]: 0: Hoare triple {14462#true} call ULTIMATE.init(); {14462#true} is VALID [2022-04-08 12:59:03,423 INFO L290 TraceCheckUtils]: 1: Hoare triple {14462#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {14462#true} is VALID [2022-04-08 12:59:03,424 INFO L290 TraceCheckUtils]: 2: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 12:59:03,424 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14462#true} {14462#true} #96#return; {14462#true} is VALID [2022-04-08 12:59:03,424 INFO L272 TraceCheckUtils]: 4: Hoare triple {14462#true} call #t~ret8 := main(); {14462#true} is VALID [2022-04-08 12:59:03,424 INFO L290 TraceCheckUtils]: 5: Hoare triple {14462#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {14462#true} is VALID [2022-04-08 12:59:03,424 INFO L272 TraceCheckUtils]: 6: Hoare triple {14462#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {14462#true} is VALID [2022-04-08 12:59:03,424 INFO L290 TraceCheckUtils]: 7: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 12:59:03,424 INFO L290 TraceCheckUtils]: 8: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 12:59:03,424 INFO L290 TraceCheckUtils]: 9: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 12:59:03,424 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14462#true} {14462#true} #80#return; {14462#true} is VALID [2022-04-08 12:59:03,425 INFO L290 TraceCheckUtils]: 11: Hoare triple {14462#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:59:03,425 INFO L290 TraceCheckUtils]: 12: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:59:03,426 INFO L290 TraceCheckUtils]: 13: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:59:03,426 INFO L272 TraceCheckUtils]: 14: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14462#true} is VALID [2022-04-08 12:59:03,426 INFO L290 TraceCheckUtils]: 15: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 12:59:03,426 INFO L290 TraceCheckUtils]: 16: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 12:59:03,426 INFO L290 TraceCheckUtils]: 17: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 12:59:03,426 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {14462#true} {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:59:03,427 INFO L272 TraceCheckUtils]: 19: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14462#true} is VALID [2022-04-08 12:59:03,427 INFO L290 TraceCheckUtils]: 20: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 12:59:03,427 INFO L290 TraceCheckUtils]: 21: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 12:59:03,427 INFO L290 TraceCheckUtils]: 22: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 12:59:03,427 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14462#true} {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:59:03,427 INFO L272 TraceCheckUtils]: 24: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14462#true} is VALID [2022-04-08 12:59:03,427 INFO L290 TraceCheckUtils]: 25: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 12:59:03,428 INFO L290 TraceCheckUtils]: 26: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 12:59:03,428 INFO L290 TraceCheckUtils]: 27: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 12:59:03,428 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {14462#true} {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #86#return; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:59:03,429 INFO L290 TraceCheckUtils]: 29: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:59:03,429 INFO L290 TraceCheckUtils]: 30: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:59:03,430 INFO L290 TraceCheckUtils]: 31: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:59:03,430 INFO L272 TraceCheckUtils]: 32: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14462#true} is VALID [2022-04-08 12:59:03,430 INFO L290 TraceCheckUtils]: 33: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 12:59:03,430 INFO L290 TraceCheckUtils]: 34: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 12:59:03,430 INFO L290 TraceCheckUtils]: 35: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 12:59:03,431 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14462#true} {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:59:03,431 INFO L272 TraceCheckUtils]: 37: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14462#true} is VALID [2022-04-08 12:59:03,431 INFO L290 TraceCheckUtils]: 38: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 12:59:03,431 INFO L290 TraceCheckUtils]: 39: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 12:59:03,431 INFO L290 TraceCheckUtils]: 40: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 12:59:03,431 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14462#true} {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:59:03,431 INFO L272 TraceCheckUtils]: 42: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14462#true} is VALID [2022-04-08 12:59:03,432 INFO L290 TraceCheckUtils]: 43: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 12:59:03,432 INFO L290 TraceCheckUtils]: 44: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 12:59:03,432 INFO L290 TraceCheckUtils]: 45: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 12:59:03,432 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {14462#true} {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #86#return; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:59:03,433 INFO L290 TraceCheckUtils]: 47: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 12:59:03,434 INFO L290 TraceCheckUtils]: 48: Hoare triple {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 12:59:03,434 INFO L290 TraceCheckUtils]: 49: Hoare triple {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(#t~post6 < 5);havoc #t~post6; {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 12:59:03,435 INFO L272 TraceCheckUtils]: 50: Hoare triple {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14462#true} is VALID [2022-04-08 12:59:03,435 INFO L290 TraceCheckUtils]: 51: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 12:59:03,435 INFO L290 TraceCheckUtils]: 52: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 12:59:03,435 INFO L290 TraceCheckUtils]: 53: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 12:59:03,435 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {14462#true} {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #82#return; {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 12:59:03,436 INFO L272 TraceCheckUtils]: 55: Hoare triple {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14462#true} is VALID [2022-04-08 12:59:03,436 INFO L290 TraceCheckUtils]: 56: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 12:59:03,436 INFO L290 TraceCheckUtils]: 57: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 12:59:03,436 INFO L290 TraceCheckUtils]: 58: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 12:59:03,436 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14462#true} {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #84#return; {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 12:59:03,437 INFO L272 TraceCheckUtils]: 60: Hoare triple {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14462#true} is VALID [2022-04-08 12:59:03,437 INFO L290 TraceCheckUtils]: 61: Hoare triple {14462#true} ~cond := #in~cond; {14652#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:59:03,437 INFO L290 TraceCheckUtils]: 62: Hoare triple {14652#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:59:03,438 INFO L290 TraceCheckUtils]: 63: Hoare triple {14656#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:59:03,438 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14656#(not (= |__VERIFIER_assert_#in~cond| 0))} {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #86#return; {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 12:59:03,439 INFO L290 TraceCheckUtils]: 65: Hoare triple {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 12:59:03,440 INFO L290 TraceCheckUtils]: 66: Hoare triple {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 12:59:03,440 INFO L290 TraceCheckUtils]: 67: Hoare triple {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(#t~post7 < 5);havoc #t~post7; {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 12:59:03,440 INFO L272 TraceCheckUtils]: 68: Hoare triple {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14462#true} is VALID [2022-04-08 12:59:03,440 INFO L290 TraceCheckUtils]: 69: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 12:59:03,440 INFO L290 TraceCheckUtils]: 70: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 12:59:03,440 INFO L290 TraceCheckUtils]: 71: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 12:59:03,441 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14462#true} {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #88#return; {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 12:59:03,441 INFO L272 TraceCheckUtils]: 73: Hoare triple {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14462#true} is VALID [2022-04-08 12:59:03,441 INFO L290 TraceCheckUtils]: 74: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 12:59:03,441 INFO L290 TraceCheckUtils]: 75: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 12:59:03,441 INFO L290 TraceCheckUtils]: 76: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 12:59:03,442 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {14462#true} {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #90#return; {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 12:59:03,447 INFO L290 TraceCheckUtils]: 78: Hoare triple {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 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); {14706#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} is VALID [2022-04-08 12:59:03,450 INFO L290 TraceCheckUtils]: 79: Hoare triple {14706#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:59:03,450 INFO L290 TraceCheckUtils]: 80: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:59:03,451 INFO L290 TraceCheckUtils]: 81: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 5);havoc #t~post7; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:59:03,451 INFO L272 TraceCheckUtils]: 82: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14720#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:59:03,452 INFO L290 TraceCheckUtils]: 83: Hoare triple {14720#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14724#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:59:03,452 INFO L290 TraceCheckUtils]: 84: Hoare triple {14724#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14463#false} is VALID [2022-04-08 12:59:03,452 INFO L290 TraceCheckUtils]: 85: Hoare triple {14463#false} assume !false; {14463#false} is VALID [2022-04-08 12:59:03,453 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-08 12:59:03,453 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:59:29,975 WARN L855 $PredicateComparison]: unable to prove that (let ((.cse13 (mod c_main_~B~0 4294967296))) (or (let ((.cse2 (= (mod c_main_~p~0 2) 0)) (.cse12 (div c_main_~p~0 2))) (let ((.cse1 (* (+ c_main_~q~0 .cse12 1) .cse13)) (.cse3 (* (+ c_main_~q~0 .cse12) .cse13)) (.cse4 (not .cse2)) (.cse5 (mod c_main_~A~0 4294967296)) (.cse6 (div c_main_~d~0 2)) (.cse7 (* (- 1) c_main_~r~0)) (.cse9 (< c_main_~d~0 0)) (.cse8 (= (mod c_main_~d~0 2) 0))) (and (or (let ((.cse0 (+ .cse5 .cse6 .cse7 1))) (and (or (= .cse0 .cse1) .cse2) (or (= .cse0 .cse3) .cse4))) .cse8 (not .cse9)) (or (let ((.cse10 (+ .cse5 .cse6 .cse7)) (.cse11 (< c_main_~p~0 0))) (and (or (= .cse10 .cse1) .cse2 (not .cse11)) (or (= .cse10 .cse3) (and .cse4 .cse11)))) (and .cse9 (not .cse8)))))) (not (= c_main_~d~0 (* c_main_~p~0 .cse13))))) is different from true [2022-04-08 13:00:48,044 INFO L290 TraceCheckUtils]: 85: Hoare triple {14463#false} assume !false; {14463#false} is VALID [2022-04-08 13:00:48,044 INFO L290 TraceCheckUtils]: 84: Hoare triple {14724#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14463#false} is VALID [2022-04-08 13:00:48,045 INFO L290 TraceCheckUtils]: 83: Hoare triple {14720#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14724#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:00:48,045 INFO L272 TraceCheckUtils]: 82: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14720#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:00:48,046 INFO L290 TraceCheckUtils]: 81: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 5);havoc #t~post7; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:48,046 INFO L290 TraceCheckUtils]: 80: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:48,048 INFO L290 TraceCheckUtils]: 79: Hoare triple {14749#(= (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) main_~d~0 (* (- 1) main_~r~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:48,058 INFO L290 TraceCheckUtils]: 78: Hoare triple {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 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); {14749#(= (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) main_~d~0 (* (- 1) main_~r~0)))} is VALID [2022-04-08 13:00:48,059 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {14462#true} {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #90#return; {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:00:48,059 INFO L290 TraceCheckUtils]: 76: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 13:00:48,059 INFO L290 TraceCheckUtils]: 75: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 13:00:48,059 INFO L290 TraceCheckUtils]: 74: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 13:00:48,059 INFO L272 TraceCheckUtils]: 73: Hoare triple {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14462#true} is VALID [2022-04-08 13:00:48,059 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14462#true} {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #88#return; {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:00:48,060 INFO L290 TraceCheckUtils]: 71: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 13:00:48,060 INFO L290 TraceCheckUtils]: 70: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 13:00:48,060 INFO L290 TraceCheckUtils]: 69: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 13:00:48,060 INFO L272 TraceCheckUtils]: 68: Hoare triple {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14462#true} is VALID [2022-04-08 13:00:48,061 INFO L290 TraceCheckUtils]: 67: Hoare triple {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(#t~post7 < 5);havoc #t~post7; {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:00:48,061 INFO L290 TraceCheckUtils]: 66: Hoare triple {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:00:48,062 INFO L290 TraceCheckUtils]: 65: Hoare triple {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !(~r~0 >= ~d~0); {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:00:48,064 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14656#(not (= |__VERIFIER_assert_#in~cond| 0))} {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #86#return; {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:00:48,065 INFO L290 TraceCheckUtils]: 63: Hoare triple {14656#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:00:48,065 INFO L290 TraceCheckUtils]: 62: Hoare triple {14806#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:00:48,065 INFO L290 TraceCheckUtils]: 61: Hoare triple {14462#true} ~cond := #in~cond; {14806#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 13:00:48,065 INFO L272 TraceCheckUtils]: 60: Hoare triple {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14462#true} is VALID [2022-04-08 13:00:48,066 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14462#true} {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #84#return; {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-08 13:00:48,066 INFO L290 TraceCheckUtils]: 58: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 13:00:48,066 INFO L290 TraceCheckUtils]: 57: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 13:00:48,066 INFO L290 TraceCheckUtils]: 56: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 13:00:48,066 INFO L272 TraceCheckUtils]: 55: Hoare triple {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14462#true} is VALID [2022-04-08 13:00:48,067 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {14462#true} {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #82#return; {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-08 13:00:48,067 INFO L290 TraceCheckUtils]: 53: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 13:00:48,067 INFO L290 TraceCheckUtils]: 52: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 13:00:48,067 INFO L290 TraceCheckUtils]: 51: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 13:00:48,067 INFO L272 TraceCheckUtils]: 50: Hoare triple {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14462#true} is VALID [2022-04-08 13:00:48,068 INFO L290 TraceCheckUtils]: 49: Hoare triple {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} assume !!(#t~post6 < 5);havoc #t~post6; {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-08 13:00:48,069 INFO L290 TraceCheckUtils]: 48: Hoare triple {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-08 13:00:48,073 INFO L290 TraceCheckUtils]: 47: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (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)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-08 13:00:48,074 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {14462#true} {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #86#return; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:48,074 INFO L290 TraceCheckUtils]: 45: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 13:00:48,074 INFO L290 TraceCheckUtils]: 44: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 13:00:48,074 INFO L290 TraceCheckUtils]: 43: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 13:00:48,074 INFO L272 TraceCheckUtils]: 42: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14462#true} is VALID [2022-04-08 13:00:48,074 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14462#true} {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #84#return; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:48,075 INFO L290 TraceCheckUtils]: 40: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 13:00:48,075 INFO L290 TraceCheckUtils]: 39: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 13:00:48,075 INFO L290 TraceCheckUtils]: 38: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 13:00:48,075 INFO L272 TraceCheckUtils]: 37: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14462#true} is VALID [2022-04-08 13:00:48,075 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14462#true} {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #82#return; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:48,075 INFO L290 TraceCheckUtils]: 35: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 13:00:48,075 INFO L290 TraceCheckUtils]: 34: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 13:00:48,075 INFO L290 TraceCheckUtils]: 33: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 13:00:48,075 INFO L272 TraceCheckUtils]: 32: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14462#true} is VALID [2022-04-08 13:00:48,076 INFO L290 TraceCheckUtils]: 31: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 5);havoc #t~post6; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:48,076 INFO L290 TraceCheckUtils]: 30: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:48,076 INFO L290 TraceCheckUtils]: 29: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:48,077 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {14462#true} {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #86#return; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:48,077 INFO L290 TraceCheckUtils]: 27: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 13:00:48,077 INFO L290 TraceCheckUtils]: 26: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 13:00:48,077 INFO L290 TraceCheckUtils]: 25: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 13:00:48,077 INFO L272 TraceCheckUtils]: 24: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14462#true} is VALID [2022-04-08 13:00:48,078 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14462#true} {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #84#return; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:48,078 INFO L290 TraceCheckUtils]: 22: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 13:00:48,078 INFO L290 TraceCheckUtils]: 21: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 13:00:48,078 INFO L290 TraceCheckUtils]: 20: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 13:00:48,078 INFO L272 TraceCheckUtils]: 19: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14462#true} is VALID [2022-04-08 13:00:48,078 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {14462#true} {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #82#return; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:48,078 INFO L290 TraceCheckUtils]: 17: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 13:00:48,078 INFO L290 TraceCheckUtils]: 16: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 13:00:48,078 INFO L290 TraceCheckUtils]: 15: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 13:00:48,078 INFO L272 TraceCheckUtils]: 14: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14462#true} is VALID [2022-04-08 13:00:48,079 INFO L290 TraceCheckUtils]: 13: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 5);havoc #t~post6; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:48,079 INFO L290 TraceCheckUtils]: 12: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:48,079 INFO L290 TraceCheckUtils]: 11: Hoare triple {14462#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:48,079 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14462#true} {14462#true} #80#return; {14462#true} is VALID [2022-04-08 13:00:48,080 INFO L290 TraceCheckUtils]: 9: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 13:00:48,080 INFO L290 TraceCheckUtils]: 8: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-08 13:00:48,080 INFO L290 TraceCheckUtils]: 7: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-08 13:00:48,083 INFO L272 TraceCheckUtils]: 6: Hoare triple {14462#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {14462#true} is VALID [2022-04-08 13:00:48,083 INFO L290 TraceCheckUtils]: 5: Hoare triple {14462#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {14462#true} is VALID [2022-04-08 13:00:48,083 INFO L272 TraceCheckUtils]: 4: Hoare triple {14462#true} call #t~ret8 := main(); {14462#true} is VALID [2022-04-08 13:00:48,083 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14462#true} {14462#true} #96#return; {14462#true} is VALID [2022-04-08 13:00:48,083 INFO L290 TraceCheckUtils]: 2: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-08 13:00:48,083 INFO L290 TraceCheckUtils]: 1: Hoare triple {14462#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {14462#true} is VALID [2022-04-08 13:00:48,083 INFO L272 TraceCheckUtils]: 0: Hoare triple {14462#true} call ULTIMATE.init(); {14462#true} is VALID [2022-04-08 13:00:48,084 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-08 13:00:48,084 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:00:48,084 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1825671566] [2022-04-08 13:00:48,084 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:00:48,085 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1378375199] [2022-04-08 13:00:48,085 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1378375199] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:00:48,085 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:00:48,085 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 15 [2022-04-08 13:00:48,085 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:00:48,085 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1314814243] [2022-04-08 13:00:48,085 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1314814243] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:00:48,085 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:00:48,085 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 13:00:48,085 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1845500214] [2022-04-08 13:00:48,085 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:00:48,086 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 86 [2022-04-08 13:00:48,087 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:00:48,087 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 13:00:48,141 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:00:48,142 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 13:00:48,142 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:00:48,142 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 13:00:48,142 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=142, Unknown=1, NotChecked=24, Total=210 [2022-04-08 13:00:48,142 INFO L87 Difference]: Start difference. First operand 161 states and 186 transitions. Second operand has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 13:00:53,429 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.02s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 13:00:56,065 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-08 13:01:03,660 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-08 13:01:05,666 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-08 13:01:07,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:01:07,299 INFO L93 Difference]: Finished difference Result 200 states and 235 transitions. [2022-04-08 13:01:07,299 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 13:01:07,299 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 86 [2022-04-08 13:01:07,300 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:01:07,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 13:01:07,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 109 transitions. [2022-04-08 13:01:07,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 13:01:07,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 109 transitions. [2022-04-08 13:01:07,304 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 109 transitions. [2022-04-08 13:01:07,437 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-08 13:01:07,440 INFO L225 Difference]: With dead ends: 200 [2022-04-08 13:01:07,440 INFO L226 Difference]: Without dead ends: 180 [2022-04-08 13:01:07,440 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 155 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 68 ImplicationChecksByTransitivity, 6.2s TimeCoverageRelationStatistics Valid=56, Invalid=187, Unknown=1, NotChecked=28, Total=272 [2022-04-08 13:01:07,441 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 40 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 280 mSolverCounterSat, 37 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 191 SdHoareTripleChecker+Invalid, 320 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 37 IncrementalHoareTripleChecker+Valid, 280 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 8.0s IncrementalHoareTripleChecker+Time [2022-04-08 13:01:07,441 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [54 Valid, 191 Invalid, 320 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [37 Valid, 280 Invalid, 3 Unknown, 0 Unchecked, 8.0s Time] [2022-04-08 13:01:07,441 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 180 states. [2022-04-08 13:01:07,592 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 180 to 173. [2022-04-08 13:01:07,592 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:01:07,592 INFO L82 GeneralOperation]: Start isEquivalent. First operand 180 states. Second operand has 173 states, 114 states have (on average 1.1666666666666667) internal successors, (133), 120 states have internal predecessors, (133), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 13:01:07,592 INFO L74 IsIncluded]: Start isIncluded. First operand 180 states. Second operand has 173 states, 114 states have (on average 1.1666666666666667) internal successors, (133), 120 states have internal predecessors, (133), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 13:01:07,592 INFO L87 Difference]: Start difference. First operand 180 states. Second operand has 173 states, 114 states have (on average 1.1666666666666667) internal successors, (133), 120 states have internal predecessors, (133), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 13:01:07,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:01:07,596 INFO L93 Difference]: Finished difference Result 180 states and 213 transitions. [2022-04-08 13:01:07,596 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 213 transitions. [2022-04-08 13:01:07,597 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:01:07,597 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:01:07,597 INFO L74 IsIncluded]: Start isIncluded. First operand has 173 states, 114 states have (on average 1.1666666666666667) internal successors, (133), 120 states have internal predecessors, (133), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) Second operand 180 states. [2022-04-08 13:01:07,598 INFO L87 Difference]: Start difference. First operand has 173 states, 114 states have (on average 1.1666666666666667) internal successors, (133), 120 states have internal predecessors, (133), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) Second operand 180 states. [2022-04-08 13:01:07,602 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:01:07,602 INFO L93 Difference]: Finished difference Result 180 states and 213 transitions. [2022-04-08 13:01:07,602 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 213 transitions. [2022-04-08 13:01:07,602 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:01:07,602 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:01:07,602 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:01:07,602 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:01:07,603 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 173 states, 114 states have (on average 1.1666666666666667) internal successors, (133), 120 states have internal predecessors, (133), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 13:01:07,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 173 states to 173 states and 203 transitions. [2022-04-08 13:01:07,607 INFO L78 Accepts]: Start accepts. Automaton has 173 states and 203 transitions. Word has length 86 [2022-04-08 13:01:07,607 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:01:07,607 INFO L478 AbstractCegarLoop]: Abstraction has 173 states and 203 transitions. [2022-04-08 13:01:07,607 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 13:01:07,607 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 173 states and 203 transitions. [2022-04-08 13:01:09,882 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 203 edges. 202 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:01:09,883 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 203 transitions. [2022-04-08 13:01:09,883 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-08 13:01:09,883 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:01:09,883 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:01:09,900 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-08 13:01:10,087 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-08 13:01:10,088 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:01:10,088 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:01:10,088 INFO L85 PathProgramCache]: Analyzing trace with hash -1271087930, now seen corresponding path program 7 times [2022-04-08 13:01:10,088 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:01:10,088 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1134137018] [2022-04-08 13:01:16,867 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:01:16,867 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:01:16,867 INFO L85 PathProgramCache]: Analyzing trace with hash -1271087930, now seen corresponding path program 8 times [2022-04-08 13:01:16,867 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:01:16,867 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1011454005] [2022-04-08 13:01:16,867 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:01:16,867 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:01:16,879 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:01:16,879 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1938531095] [2022-04-08 13:01:16,879 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:01:16,879 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:01:16,879 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:01:16,884 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-08 13:01:16,888 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-08 13:01:16,947 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:01:16,948 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:01:16,949 INFO L263 TraceCheckSpWp]: Trace formula consists of 231 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 13:01:16,969 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:01:16,971 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:01:18,689 INFO L272 TraceCheckUtils]: 0: Hoare triple {16102#true} call ULTIMATE.init(); {16102#true} is VALID [2022-04-08 13:01:18,689 INFO L290 TraceCheckUtils]: 1: Hoare triple {16102#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16102#true} is VALID [2022-04-08 13:01:18,689 INFO L290 TraceCheckUtils]: 2: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:18,690 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16102#true} {16102#true} #96#return; {16102#true} is VALID [2022-04-08 13:01:18,690 INFO L272 TraceCheckUtils]: 4: Hoare triple {16102#true} call #t~ret8 := main(); {16102#true} is VALID [2022-04-08 13:01:18,690 INFO L290 TraceCheckUtils]: 5: Hoare triple {16102#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {16102#true} is VALID [2022-04-08 13:01:18,690 INFO L272 TraceCheckUtils]: 6: Hoare triple {16102#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:18,690 INFO L290 TraceCheckUtils]: 7: Hoare triple {16102#true} ~cond := #in~cond; {16128#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 13:01:18,690 INFO L290 TraceCheckUtils]: 8: Hoare triple {16128#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {16132#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:01:18,691 INFO L290 TraceCheckUtils]: 9: Hoare triple {16132#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {16132#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:01:18,691 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16132#(not (= |assume_abort_if_not_#in~cond| 0))} {16102#true} #80#return; {16139#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-08 13:01:18,692 INFO L290 TraceCheckUtils]: 11: Hoare triple {16139#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 13:01:18,692 INFO L290 TraceCheckUtils]: 12: Hoare triple {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 13:01:18,693 INFO L290 TraceCheckUtils]: 13: Hoare triple {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 13:01:18,693 INFO L272 TraceCheckUtils]: 14: Hoare triple {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:18,693 INFO L290 TraceCheckUtils]: 15: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:18,693 INFO L290 TraceCheckUtils]: 16: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:18,693 INFO L290 TraceCheckUtils]: 17: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:18,694 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16102#true} {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 13:01:18,694 INFO L272 TraceCheckUtils]: 19: Hoare triple {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:18,694 INFO L290 TraceCheckUtils]: 20: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:18,694 INFO L290 TraceCheckUtils]: 21: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:18,694 INFO L290 TraceCheckUtils]: 22: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:18,694 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16102#true} {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 13:01:18,694 INFO L272 TraceCheckUtils]: 24: Hoare triple {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:18,694 INFO L290 TraceCheckUtils]: 25: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:18,694 INFO L290 TraceCheckUtils]: 26: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:18,695 INFO L290 TraceCheckUtils]: 27: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:18,695 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16102#true} {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 13:01:18,696 INFO L290 TraceCheckUtils]: 29: Hoare triple {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:01:18,696 INFO L290 TraceCheckUtils]: 30: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:01:18,697 INFO L290 TraceCheckUtils]: 31: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 5);havoc #t~post6; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:01:18,697 INFO L272 TraceCheckUtils]: 32: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:18,697 INFO L290 TraceCheckUtils]: 33: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:18,697 INFO L290 TraceCheckUtils]: 34: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:18,697 INFO L290 TraceCheckUtils]: 35: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:18,698 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16102#true} {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #82#return; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:01:18,698 INFO L272 TraceCheckUtils]: 37: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:18,698 INFO L290 TraceCheckUtils]: 38: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:18,698 INFO L290 TraceCheckUtils]: 39: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:18,698 INFO L290 TraceCheckUtils]: 40: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:18,698 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16102#true} {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #84#return; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:01:18,698 INFO L272 TraceCheckUtils]: 42: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:18,698 INFO L290 TraceCheckUtils]: 43: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:18,698 INFO L290 TraceCheckUtils]: 44: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:18,698 INFO L290 TraceCheckUtils]: 45: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:18,699 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16102#true} {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #86#return; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:01:18,700 INFO L290 TraceCheckUtils]: 47: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 13:01:18,702 INFO L290 TraceCheckUtils]: 48: Hoare triple {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 13:01:18,703 INFO L290 TraceCheckUtils]: 49: Hoare triple {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !!(#t~post6 < 5);havoc #t~post6; {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 13:01:18,703 INFO L272 TraceCheckUtils]: 50: Hoare triple {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:18,703 INFO L290 TraceCheckUtils]: 51: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:18,703 INFO L290 TraceCheckUtils]: 52: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:18,703 INFO L290 TraceCheckUtils]: 53: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:18,706 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {16102#true} {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #82#return; {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 13:01:18,706 INFO L272 TraceCheckUtils]: 55: Hoare triple {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:18,706 INFO L290 TraceCheckUtils]: 56: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:18,706 INFO L290 TraceCheckUtils]: 57: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:18,706 INFO L290 TraceCheckUtils]: 58: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:18,707 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16102#true} {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #84#return; {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 13:01:18,707 INFO L272 TraceCheckUtils]: 60: Hoare triple {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:18,707 INFO L290 TraceCheckUtils]: 61: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:18,707 INFO L290 TraceCheckUtils]: 62: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:18,707 INFO L290 TraceCheckUtils]: 63: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:18,707 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {16102#true} {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #86#return; {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 13:01:18,708 INFO L290 TraceCheckUtils]: 65: Hoare triple {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 13:01:18,708 INFO L290 TraceCheckUtils]: 66: Hoare triple {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 13:01:18,708 INFO L290 TraceCheckUtils]: 67: Hoare triple {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !!(#t~post7 < 5);havoc #t~post7; {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 13:01:18,708 INFO L272 TraceCheckUtils]: 68: Hoare triple {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:18,709 INFO L290 TraceCheckUtils]: 69: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:18,709 INFO L290 TraceCheckUtils]: 70: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:18,709 INFO L290 TraceCheckUtils]: 71: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:18,709 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {16102#true} {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #88#return; {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 13:01:18,709 INFO L272 TraceCheckUtils]: 73: Hoare triple {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:18,709 INFO L290 TraceCheckUtils]: 74: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:18,709 INFO L290 TraceCheckUtils]: 75: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:18,709 INFO L290 TraceCheckUtils]: 76: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:18,710 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {16102#true} {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #90#return; {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 13:01:18,711 INFO L290 TraceCheckUtils]: 78: Hoare triple {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= 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); {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:01:18,712 INFO L290 TraceCheckUtils]: 79: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:01:18,712 INFO L290 TraceCheckUtils]: 80: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:01:18,712 INFO L290 TraceCheckUtils]: 81: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 5);havoc #t~post7; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:01:18,713 INFO L272 TraceCheckUtils]: 82: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:18,713 INFO L290 TraceCheckUtils]: 83: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:18,713 INFO L290 TraceCheckUtils]: 84: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:18,713 INFO L290 TraceCheckUtils]: 85: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:18,713 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {16102#true} {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #88#return; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:01:18,714 INFO L272 TraceCheckUtils]: 87: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16375#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:01:18,714 INFO L290 TraceCheckUtils]: 88: Hoare triple {16375#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16379#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:01:18,714 INFO L290 TraceCheckUtils]: 89: Hoare triple {16379#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16103#false} is VALID [2022-04-08 13:01:18,714 INFO L290 TraceCheckUtils]: 90: Hoare triple {16103#false} assume !false; {16103#false} is VALID [2022-04-08 13:01:18,715 INFO L134 CoverageAnalysis]: Checked inductivity of 310 backedges. 24 proven. 22 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2022-04-08 13:01:18,715 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:01:27,521 INFO L290 TraceCheckUtils]: 90: Hoare triple {16103#false} assume !false; {16103#false} is VALID [2022-04-08 13:01:27,522 INFO L290 TraceCheckUtils]: 89: Hoare triple {16379#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16103#false} is VALID [2022-04-08 13:01:27,522 INFO L290 TraceCheckUtils]: 88: Hoare triple {16375#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16379#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:01:27,523 INFO L272 TraceCheckUtils]: 87: Hoare triple {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16375#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:01:27,523 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {16102#true} {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #88#return; {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:01:27,524 INFO L290 TraceCheckUtils]: 85: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:27,524 INFO L290 TraceCheckUtils]: 84: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:27,524 INFO L290 TraceCheckUtils]: 83: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:27,524 INFO L272 TraceCheckUtils]: 82: Hoare triple {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:27,524 INFO L290 TraceCheckUtils]: 81: Hoare triple {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 5);havoc #t~post7; {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:01:27,524 INFO L290 TraceCheckUtils]: 80: Hoare triple {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:01:27,525 INFO L290 TraceCheckUtils]: 79: Hoare triple {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:01:27,541 INFO L290 TraceCheckUtils]: 78: Hoare triple {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (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); {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:01:27,542 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {16102#true} {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #90#return; {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:01:27,542 INFO L290 TraceCheckUtils]: 76: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:27,542 INFO L290 TraceCheckUtils]: 75: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:27,542 INFO L290 TraceCheckUtils]: 74: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:27,542 INFO L272 TraceCheckUtils]: 73: Hoare triple {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:27,543 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {16102#true} {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #88#return; {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:01:27,543 INFO L290 TraceCheckUtils]: 71: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:27,543 INFO L290 TraceCheckUtils]: 70: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:27,543 INFO L290 TraceCheckUtils]: 69: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:27,543 INFO L272 TraceCheckUtils]: 68: Hoare triple {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:27,544 INFO L290 TraceCheckUtils]: 67: Hoare triple {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !!(#t~post7 < 5);havoc #t~post7; {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:01:27,545 INFO L290 TraceCheckUtils]: 66: Hoare triple {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:01:27,546 INFO L290 TraceCheckUtils]: 65: Hoare triple {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !(~r~0 >= ~d~0); {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:01:27,546 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {16102#true} {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #86#return; {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 13:01:27,546 INFO L290 TraceCheckUtils]: 63: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:27,546 INFO L290 TraceCheckUtils]: 62: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:27,546 INFO L290 TraceCheckUtils]: 61: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:27,546 INFO L272 TraceCheckUtils]: 60: Hoare triple {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:27,547 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16102#true} {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #84#return; {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 13:01:27,547 INFO L290 TraceCheckUtils]: 58: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:27,547 INFO L290 TraceCheckUtils]: 57: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:27,547 INFO L290 TraceCheckUtils]: 56: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:27,547 INFO L272 TraceCheckUtils]: 55: Hoare triple {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:27,548 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {16102#true} {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #82#return; {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 13:01:27,548 INFO L290 TraceCheckUtils]: 53: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:27,548 INFO L290 TraceCheckUtils]: 52: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:27,548 INFO L290 TraceCheckUtils]: 51: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:27,548 INFO L272 TraceCheckUtils]: 50: Hoare triple {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:27,549 INFO L290 TraceCheckUtils]: 49: Hoare triple {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !!(#t~post6 < 5);havoc #t~post6; {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 13:01:27,550 INFO L290 TraceCheckUtils]: 48: Hoare triple {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 13:01:27,553 INFO L290 TraceCheckUtils]: 47: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 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)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 13:01:27,553 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16102#true} {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:01:27,554 INFO L290 TraceCheckUtils]: 45: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:27,554 INFO L290 TraceCheckUtils]: 44: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:27,554 INFO L290 TraceCheckUtils]: 43: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:27,554 INFO L272 TraceCheckUtils]: 42: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:27,554 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16102#true} {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:01:27,554 INFO L290 TraceCheckUtils]: 40: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:27,554 INFO L290 TraceCheckUtils]: 39: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:27,554 INFO L290 TraceCheckUtils]: 38: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:27,554 INFO L272 TraceCheckUtils]: 37: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:27,555 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16102#true} {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:01:27,555 INFO L290 TraceCheckUtils]: 35: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:27,555 INFO L290 TraceCheckUtils]: 34: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:27,555 INFO L290 TraceCheckUtils]: 33: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:27,555 INFO L272 TraceCheckUtils]: 32: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:27,556 INFO L290 TraceCheckUtils]: 31: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 5);havoc #t~post6; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:01:27,556 INFO L290 TraceCheckUtils]: 30: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:01:27,557 INFO L290 TraceCheckUtils]: 29: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:01:27,558 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16102#true} {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:01:27,558 INFO L290 TraceCheckUtils]: 27: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:27,558 INFO L290 TraceCheckUtils]: 26: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:27,558 INFO L290 TraceCheckUtils]: 25: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:27,558 INFO L272 TraceCheckUtils]: 24: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:27,558 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16102#true} {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:01:27,558 INFO L290 TraceCheckUtils]: 22: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:27,559 INFO L290 TraceCheckUtils]: 21: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:27,559 INFO L290 TraceCheckUtils]: 20: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:27,559 INFO L272 TraceCheckUtils]: 19: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:27,559 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16102#true} {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:01:27,559 INFO L290 TraceCheckUtils]: 17: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:27,559 INFO L290 TraceCheckUtils]: 16: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:27,559 INFO L290 TraceCheckUtils]: 15: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:27,559 INFO L272 TraceCheckUtils]: 14: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:27,560 INFO L290 TraceCheckUtils]: 13: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 5);havoc #t~post6; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:01:27,560 INFO L290 TraceCheckUtils]: 12: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:01:27,560 INFO L290 TraceCheckUtils]: 11: Hoare triple {16102#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:01:27,561 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16102#true} {16102#true} #80#return; {16102#true} is VALID [2022-04-08 13:01:27,561 INFO L290 TraceCheckUtils]: 9: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:27,561 INFO L290 TraceCheckUtils]: 8: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-08 13:01:27,561 INFO L290 TraceCheckUtils]: 7: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-08 13:01:27,561 INFO L272 TraceCheckUtils]: 6: Hoare triple {16102#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {16102#true} is VALID [2022-04-08 13:01:27,561 INFO L290 TraceCheckUtils]: 5: Hoare triple {16102#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {16102#true} is VALID [2022-04-08 13:01:27,561 INFO L272 TraceCheckUtils]: 4: Hoare triple {16102#true} call #t~ret8 := main(); {16102#true} is VALID [2022-04-08 13:01:27,561 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16102#true} {16102#true} #96#return; {16102#true} is VALID [2022-04-08 13:01:27,561 INFO L290 TraceCheckUtils]: 2: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-08 13:01:27,561 INFO L290 TraceCheckUtils]: 1: Hoare triple {16102#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16102#true} is VALID [2022-04-08 13:01:27,561 INFO L272 TraceCheckUtils]: 0: Hoare triple {16102#true} call ULTIMATE.init(); {16102#true} is VALID [2022-04-08 13:01:27,563 INFO L134 CoverageAnalysis]: Checked inductivity of 310 backedges. 24 proven. 16 refuted. 0 times theorem prover too weak. 270 trivial. 0 not checked. [2022-04-08 13:01:27,563 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:01:27,563 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1011454005] [2022-04-08 13:01:27,564 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:01:27,564 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1938531095] [2022-04-08 13:01:27,564 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1938531095] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:01:27,564 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:01:27,564 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-08 13:01:27,565 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:01:27,565 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1134137018] [2022-04-08 13:01:27,565 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1134137018] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:01:27,565 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:01:27,566 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 13:01:27,566 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1966196133] [2022-04-08 13:01:27,566 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:01:27,566 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) Word has length 91 [2022-04-08 13:01:27,566 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:01:27,566 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 13:01:27,626 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-08 13:01:27,627 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 13:01:27,627 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:01:27,627 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 13:01:27,627 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=162, Unknown=0, NotChecked=0, Total=210 [2022-04-08 13:01:27,627 INFO L87 Difference]: Start difference. First operand 173 states and 203 transitions. Second operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 13:01:29,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:01:29,711 INFO L93 Difference]: Finished difference Result 257 states and 325 transitions. [2022-04-08 13:01:29,711 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 13:01:29,711 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) Word has length 91 [2022-04-08 13:01:29,711 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:01:29,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 13:01:29,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 124 transitions. [2022-04-08 13:01:29,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 13:01:29,715 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 124 transitions. [2022-04-08 13:01:29,717 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 124 transitions. [2022-04-08 13:01:29,891 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:01:29,896 INFO L225 Difference]: With dead ends: 257 [2022-04-08 13:01:29,896 INFO L226 Difference]: Without dead ends: 205 [2022-04-08 13:01:29,896 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 183 GetRequests, 165 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=56, Invalid=216, Unknown=0, NotChecked=0, Total=272 [2022-04-08 13:01:29,897 INFO L913 BasicCegarLoop]: 64 mSDtfsCounter, 42 mSDsluCounter, 295 mSDsCounter, 0 mSdLazyCounter, 312 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 359 SdHoareTripleChecker+Invalid, 337 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 312 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-08 13:01:29,897 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [54 Valid, 359 Invalid, 337 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 312 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-08 13:01:29,897 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 205 states. [2022-04-08 13:01:30,197 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 205 to 205. [2022-04-08 13:01:30,198 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:01:30,198 INFO L82 GeneralOperation]: Start isEquivalent. First operand 205 states. Second operand has 205 states, 134 states have (on average 1.171641791044776) internal successors, (157), 143 states have internal predecessors, (157), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-08 13:01:30,198 INFO L74 IsIncluded]: Start isIncluded. First operand 205 states. Second operand has 205 states, 134 states have (on average 1.171641791044776) internal successors, (157), 143 states have internal predecessors, (157), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-08 13:01:30,199 INFO L87 Difference]: Start difference. First operand 205 states. Second operand has 205 states, 134 states have (on average 1.171641791044776) internal successors, (157), 143 states have internal predecessors, (157), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-08 13:01:30,203 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:01:30,203 INFO L93 Difference]: Finished difference Result 205 states and 243 transitions. [2022-04-08 13:01:30,203 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 243 transitions. [2022-04-08 13:01:30,204 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:01:30,204 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:01:30,204 INFO L74 IsIncluded]: Start isIncluded. First operand has 205 states, 134 states have (on average 1.171641791044776) internal successors, (157), 143 states have internal predecessors, (157), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) Second operand 205 states. [2022-04-08 13:01:30,204 INFO L87 Difference]: Start difference. First operand has 205 states, 134 states have (on average 1.171641791044776) internal successors, (157), 143 states have internal predecessors, (157), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) Second operand 205 states. [2022-04-08 13:01:30,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:01:30,208 INFO L93 Difference]: Finished difference Result 205 states and 243 transitions. [2022-04-08 13:01:30,209 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 243 transitions. [2022-04-08 13:01:30,209 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:01:30,209 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:01:30,209 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:01:30,209 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:01:30,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 205 states, 134 states have (on average 1.171641791044776) internal successors, (157), 143 states have internal predecessors, (157), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-08 13:01:30,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 205 states to 205 states and 243 transitions. [2022-04-08 13:01:30,216 INFO L78 Accepts]: Start accepts. Automaton has 205 states and 243 transitions. Word has length 91 [2022-04-08 13:01:30,216 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:01:30,216 INFO L478 AbstractCegarLoop]: Abstraction has 205 states and 243 transitions. [2022-04-08 13:01:30,216 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 13:01:30,216 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 205 states and 243 transitions. [2022-04-08 13:01:32,587 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 243 edges. 242 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:01:32,587 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 243 transitions. [2022-04-08 13:01:32,589 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-08 13:01:32,589 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:01:32,589 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 5, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:01:32,614 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-08 13:01:32,803 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:01:32,804 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:01:32,804 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:01:32,804 INFO L85 PathProgramCache]: Analyzing trace with hash 114996177, now seen corresponding path program 7 times [2022-04-08 13:01:32,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:01:32,804 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [697245477] [2022-04-08 13:01:40,809 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:01:40,809 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:01:40,809 INFO L85 PathProgramCache]: Analyzing trace with hash 114996177, now seen corresponding path program 8 times [2022-04-08 13:01:40,809 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:01:40,809 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1005971279] [2022-04-08 13:01:40,809 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:01:40,809 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:01:40,819 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:01:40,819 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [65339319] [2022-04-08 13:01:40,819 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:01:40,819 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:01:40,819 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:01:40,822 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-08 13:01:40,823 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-08 13:01:40,870 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:01:40,871 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:01:40,871 INFO L263 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 13:01:40,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:01:40,893 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:01:41,239 INFO L272 TraceCheckUtils]: 0: Hoare triple {18000#true} call ULTIMATE.init(); {18000#true} is VALID [2022-04-08 13:01:41,240 INFO L290 TraceCheckUtils]: 1: Hoare triple {18000#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18008#(<= ~counter~0 0)} is VALID [2022-04-08 13:01:41,240 INFO L290 TraceCheckUtils]: 2: Hoare triple {18008#(<= ~counter~0 0)} assume true; {18008#(<= ~counter~0 0)} is VALID [2022-04-08 13:01:41,241 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18008#(<= ~counter~0 0)} {18000#true} #96#return; {18008#(<= ~counter~0 0)} is VALID [2022-04-08 13:01:41,241 INFO L272 TraceCheckUtils]: 4: Hoare triple {18008#(<= ~counter~0 0)} call #t~ret8 := main(); {18008#(<= ~counter~0 0)} is VALID [2022-04-08 13:01:41,241 INFO L290 TraceCheckUtils]: 5: Hoare triple {18008#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {18008#(<= ~counter~0 0)} is VALID [2022-04-08 13:01:41,242 INFO L272 TraceCheckUtils]: 6: Hoare triple {18008#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {18008#(<= ~counter~0 0)} is VALID [2022-04-08 13:01:41,242 INFO L290 TraceCheckUtils]: 7: Hoare triple {18008#(<= ~counter~0 0)} ~cond := #in~cond; {18008#(<= ~counter~0 0)} is VALID [2022-04-08 13:01:41,242 INFO L290 TraceCheckUtils]: 8: Hoare triple {18008#(<= ~counter~0 0)} assume !(0 == ~cond); {18008#(<= ~counter~0 0)} is VALID [2022-04-08 13:01:41,242 INFO L290 TraceCheckUtils]: 9: Hoare triple {18008#(<= ~counter~0 0)} assume true; {18008#(<= ~counter~0 0)} is VALID [2022-04-08 13:01:41,243 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18008#(<= ~counter~0 0)} {18008#(<= ~counter~0 0)} #80#return; {18008#(<= ~counter~0 0)} is VALID [2022-04-08 13:01:41,243 INFO L290 TraceCheckUtils]: 11: Hoare triple {18008#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {18008#(<= ~counter~0 0)} is VALID [2022-04-08 13:01:41,244 INFO L290 TraceCheckUtils]: 12: Hoare triple {18008#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,244 INFO L290 TraceCheckUtils]: 13: Hoare triple {18042#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,244 INFO L272 TraceCheckUtils]: 14: Hoare triple {18042#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,245 INFO L290 TraceCheckUtils]: 15: Hoare triple {18042#(<= ~counter~0 1)} ~cond := #in~cond; {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,245 INFO L290 TraceCheckUtils]: 16: Hoare triple {18042#(<= ~counter~0 1)} assume !(0 == ~cond); {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,245 INFO L290 TraceCheckUtils]: 17: Hoare triple {18042#(<= ~counter~0 1)} assume true; {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,245 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {18042#(<= ~counter~0 1)} {18042#(<= ~counter~0 1)} #82#return; {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,246 INFO L272 TraceCheckUtils]: 19: Hoare triple {18042#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,246 INFO L290 TraceCheckUtils]: 20: Hoare triple {18042#(<= ~counter~0 1)} ~cond := #in~cond; {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,246 INFO L290 TraceCheckUtils]: 21: Hoare triple {18042#(<= ~counter~0 1)} assume !(0 == ~cond); {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,247 INFO L290 TraceCheckUtils]: 22: Hoare triple {18042#(<= ~counter~0 1)} assume true; {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,247 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18042#(<= ~counter~0 1)} {18042#(<= ~counter~0 1)} #84#return; {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,248 INFO L272 TraceCheckUtils]: 24: Hoare triple {18042#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,248 INFO L290 TraceCheckUtils]: 25: Hoare triple {18042#(<= ~counter~0 1)} ~cond := #in~cond; {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,248 INFO L290 TraceCheckUtils]: 26: Hoare triple {18042#(<= ~counter~0 1)} assume !(0 == ~cond); {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,248 INFO L290 TraceCheckUtils]: 27: Hoare triple {18042#(<= ~counter~0 1)} assume true; {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,249 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18042#(<= ~counter~0 1)} {18042#(<= ~counter~0 1)} #86#return; {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,249 INFO L290 TraceCheckUtils]: 29: Hoare triple {18042#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,249 INFO L290 TraceCheckUtils]: 30: Hoare triple {18042#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,250 INFO L290 TraceCheckUtils]: 31: Hoare triple {18097#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,250 INFO L272 TraceCheckUtils]: 32: Hoare triple {18097#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,250 INFO L290 TraceCheckUtils]: 33: Hoare triple {18097#(<= ~counter~0 2)} ~cond := #in~cond; {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,251 INFO L290 TraceCheckUtils]: 34: Hoare triple {18097#(<= ~counter~0 2)} assume !(0 == ~cond); {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,251 INFO L290 TraceCheckUtils]: 35: Hoare triple {18097#(<= ~counter~0 2)} assume true; {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,251 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18097#(<= ~counter~0 2)} {18097#(<= ~counter~0 2)} #82#return; {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,252 INFO L272 TraceCheckUtils]: 37: Hoare triple {18097#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,252 INFO L290 TraceCheckUtils]: 38: Hoare triple {18097#(<= ~counter~0 2)} ~cond := #in~cond; {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,252 INFO L290 TraceCheckUtils]: 39: Hoare triple {18097#(<= ~counter~0 2)} assume !(0 == ~cond); {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,252 INFO L290 TraceCheckUtils]: 40: Hoare triple {18097#(<= ~counter~0 2)} assume true; {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,253 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18097#(<= ~counter~0 2)} {18097#(<= ~counter~0 2)} #84#return; {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,253 INFO L272 TraceCheckUtils]: 42: Hoare triple {18097#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,254 INFO L290 TraceCheckUtils]: 43: Hoare triple {18097#(<= ~counter~0 2)} ~cond := #in~cond; {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,254 INFO L290 TraceCheckUtils]: 44: Hoare triple {18097#(<= ~counter~0 2)} assume !(0 == ~cond); {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,254 INFO L290 TraceCheckUtils]: 45: Hoare triple {18097#(<= ~counter~0 2)} assume true; {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,254 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {18097#(<= ~counter~0 2)} {18097#(<= ~counter~0 2)} #86#return; {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,255 INFO L290 TraceCheckUtils]: 47: Hoare triple {18097#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,255 INFO L290 TraceCheckUtils]: 48: Hoare triple {18097#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,256 INFO L290 TraceCheckUtils]: 49: Hoare triple {18152#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,256 INFO L272 TraceCheckUtils]: 50: Hoare triple {18152#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,256 INFO L290 TraceCheckUtils]: 51: Hoare triple {18152#(<= ~counter~0 3)} ~cond := #in~cond; {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,256 INFO L290 TraceCheckUtils]: 52: Hoare triple {18152#(<= ~counter~0 3)} assume !(0 == ~cond); {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,257 INFO L290 TraceCheckUtils]: 53: Hoare triple {18152#(<= ~counter~0 3)} assume true; {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,257 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {18152#(<= ~counter~0 3)} {18152#(<= ~counter~0 3)} #82#return; {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,257 INFO L272 TraceCheckUtils]: 55: Hoare triple {18152#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,258 INFO L290 TraceCheckUtils]: 56: Hoare triple {18152#(<= ~counter~0 3)} ~cond := #in~cond; {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,258 INFO L290 TraceCheckUtils]: 57: Hoare triple {18152#(<= ~counter~0 3)} assume !(0 == ~cond); {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,258 INFO L290 TraceCheckUtils]: 58: Hoare triple {18152#(<= ~counter~0 3)} assume true; {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,259 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18152#(<= ~counter~0 3)} {18152#(<= ~counter~0 3)} #84#return; {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,259 INFO L272 TraceCheckUtils]: 60: Hoare triple {18152#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,259 INFO L290 TraceCheckUtils]: 61: Hoare triple {18152#(<= ~counter~0 3)} ~cond := #in~cond; {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,260 INFO L290 TraceCheckUtils]: 62: Hoare triple {18152#(<= ~counter~0 3)} assume !(0 == ~cond); {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,260 INFO L290 TraceCheckUtils]: 63: Hoare triple {18152#(<= ~counter~0 3)} assume true; {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,260 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18152#(<= ~counter~0 3)} {18152#(<= ~counter~0 3)} #86#return; {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,261 INFO L290 TraceCheckUtils]: 65: Hoare triple {18152#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,261 INFO L290 TraceCheckUtils]: 66: Hoare triple {18152#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,261 INFO L290 TraceCheckUtils]: 67: Hoare triple {18207#(<= ~counter~0 4)} assume !!(#t~post6 < 5);havoc #t~post6; {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,262 INFO L272 TraceCheckUtils]: 68: Hoare triple {18207#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,262 INFO L290 TraceCheckUtils]: 69: Hoare triple {18207#(<= ~counter~0 4)} ~cond := #in~cond; {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,262 INFO L290 TraceCheckUtils]: 70: Hoare triple {18207#(<= ~counter~0 4)} assume !(0 == ~cond); {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,262 INFO L290 TraceCheckUtils]: 71: Hoare triple {18207#(<= ~counter~0 4)} assume true; {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,263 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {18207#(<= ~counter~0 4)} {18207#(<= ~counter~0 4)} #82#return; {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,263 INFO L272 TraceCheckUtils]: 73: Hoare triple {18207#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,263 INFO L290 TraceCheckUtils]: 74: Hoare triple {18207#(<= ~counter~0 4)} ~cond := #in~cond; {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,264 INFO L290 TraceCheckUtils]: 75: Hoare triple {18207#(<= ~counter~0 4)} assume !(0 == ~cond); {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,264 INFO L290 TraceCheckUtils]: 76: Hoare triple {18207#(<= ~counter~0 4)} assume true; {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,264 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {18207#(<= ~counter~0 4)} {18207#(<= ~counter~0 4)} #84#return; {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,265 INFO L272 TraceCheckUtils]: 78: Hoare triple {18207#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,265 INFO L290 TraceCheckUtils]: 79: Hoare triple {18207#(<= ~counter~0 4)} ~cond := #in~cond; {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,265 INFO L290 TraceCheckUtils]: 80: Hoare triple {18207#(<= ~counter~0 4)} assume !(0 == ~cond); {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,266 INFO L290 TraceCheckUtils]: 81: Hoare triple {18207#(<= ~counter~0 4)} assume true; {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,266 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {18207#(<= ~counter~0 4)} {18207#(<= ~counter~0 4)} #86#return; {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,266 INFO L290 TraceCheckUtils]: 83: Hoare triple {18207#(<= ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,267 INFO L290 TraceCheckUtils]: 84: Hoare triple {18207#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18262#(<= |main_#t~post6| 4)} is VALID [2022-04-08 13:01:41,267 INFO L290 TraceCheckUtils]: 85: Hoare triple {18262#(<= |main_#t~post6| 4)} assume !(#t~post6 < 5);havoc #t~post6; {18001#false} is VALID [2022-04-08 13:01:41,267 INFO L290 TraceCheckUtils]: 86: Hoare triple {18001#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18001#false} is VALID [2022-04-08 13:01:41,267 INFO L290 TraceCheckUtils]: 87: Hoare triple {18001#false} assume !(#t~post7 < 5);havoc #t~post7; {18001#false} is VALID [2022-04-08 13:01:41,267 INFO L272 TraceCheckUtils]: 88: Hoare triple {18001#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {18001#false} is VALID [2022-04-08 13:01:41,267 INFO L290 TraceCheckUtils]: 89: Hoare triple {18001#false} ~cond := #in~cond; {18001#false} is VALID [2022-04-08 13:01:41,267 INFO L290 TraceCheckUtils]: 90: Hoare triple {18001#false} assume !(0 == ~cond); {18001#false} is VALID [2022-04-08 13:01:41,267 INFO L290 TraceCheckUtils]: 91: Hoare triple {18001#false} assume true; {18001#false} is VALID [2022-04-08 13:01:41,267 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {18001#false} {18001#false} #92#return; {18001#false} is VALID [2022-04-08 13:01:41,267 INFO L272 TraceCheckUtils]: 93: Hoare triple {18001#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {18001#false} is VALID [2022-04-08 13:01:41,267 INFO L290 TraceCheckUtils]: 94: Hoare triple {18001#false} ~cond := #in~cond; {18001#false} is VALID [2022-04-08 13:01:41,268 INFO L290 TraceCheckUtils]: 95: Hoare triple {18001#false} assume 0 == ~cond; {18001#false} is VALID [2022-04-08 13:01:41,268 INFO L290 TraceCheckUtils]: 96: Hoare triple {18001#false} assume !false; {18001#false} is VALID [2022-04-08 13:01:41,268 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-08 13:01:41,268 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:01:41,610 INFO L290 TraceCheckUtils]: 96: Hoare triple {18001#false} assume !false; {18001#false} is VALID [2022-04-08 13:01:41,610 INFO L290 TraceCheckUtils]: 95: Hoare triple {18001#false} assume 0 == ~cond; {18001#false} is VALID [2022-04-08 13:01:41,610 INFO L290 TraceCheckUtils]: 94: Hoare triple {18001#false} ~cond := #in~cond; {18001#false} is VALID [2022-04-08 13:01:41,610 INFO L272 TraceCheckUtils]: 93: Hoare triple {18001#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {18001#false} is VALID [2022-04-08 13:01:41,610 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {18000#true} {18001#false} #92#return; {18001#false} is VALID [2022-04-08 13:01:41,610 INFO L290 TraceCheckUtils]: 91: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-08 13:01:41,610 INFO L290 TraceCheckUtils]: 90: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-08 13:01:41,610 INFO L290 TraceCheckUtils]: 89: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-08 13:01:41,610 INFO L272 TraceCheckUtils]: 88: Hoare triple {18001#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {18000#true} is VALID [2022-04-08 13:01:41,610 INFO L290 TraceCheckUtils]: 87: Hoare triple {18001#false} assume !(#t~post7 < 5);havoc #t~post7; {18001#false} is VALID [2022-04-08 13:01:41,610 INFO L290 TraceCheckUtils]: 86: Hoare triple {18001#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18001#false} is VALID [2022-04-08 13:01:41,611 INFO L290 TraceCheckUtils]: 85: Hoare triple {18262#(<= |main_#t~post6| 4)} assume !(#t~post6 < 5);havoc #t~post6; {18001#false} is VALID [2022-04-08 13:01:41,611 INFO L290 TraceCheckUtils]: 84: Hoare triple {18207#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18262#(<= |main_#t~post6| 4)} is VALID [2022-04-08 13:01:41,611 INFO L290 TraceCheckUtils]: 83: Hoare triple {18207#(<= ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,612 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {18000#true} {18207#(<= ~counter~0 4)} #86#return; {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,612 INFO L290 TraceCheckUtils]: 81: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-08 13:01:41,612 INFO L290 TraceCheckUtils]: 80: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-08 13:01:41,612 INFO L290 TraceCheckUtils]: 79: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-08 13:01:41,612 INFO L272 TraceCheckUtils]: 78: Hoare triple {18207#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18000#true} is VALID [2022-04-08 13:01:41,613 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {18000#true} {18207#(<= ~counter~0 4)} #84#return; {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,613 INFO L290 TraceCheckUtils]: 76: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-08 13:01:41,613 INFO L290 TraceCheckUtils]: 75: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-08 13:01:41,613 INFO L290 TraceCheckUtils]: 74: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-08 13:01:41,613 INFO L272 TraceCheckUtils]: 73: Hoare triple {18207#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18000#true} is VALID [2022-04-08 13:01:41,613 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {18000#true} {18207#(<= ~counter~0 4)} #82#return; {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,613 INFO L290 TraceCheckUtils]: 71: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-08 13:01:41,613 INFO L290 TraceCheckUtils]: 70: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-08 13:01:41,613 INFO L290 TraceCheckUtils]: 69: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-08 13:01:41,613 INFO L272 TraceCheckUtils]: 68: Hoare triple {18207#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18000#true} is VALID [2022-04-08 13:01:41,614 INFO L290 TraceCheckUtils]: 67: Hoare triple {18207#(<= ~counter~0 4)} assume !!(#t~post6 < 5);havoc #t~post6; {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,614 INFO L290 TraceCheckUtils]: 66: Hoare triple {18152#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18207#(<= ~counter~0 4)} is VALID [2022-04-08 13:01:41,614 INFO L290 TraceCheckUtils]: 65: Hoare triple {18152#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,615 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18000#true} {18152#(<= ~counter~0 3)} #86#return; {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,615 INFO L290 TraceCheckUtils]: 63: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-08 13:01:41,615 INFO L290 TraceCheckUtils]: 62: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-08 13:01:41,615 INFO L290 TraceCheckUtils]: 61: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-08 13:01:41,615 INFO L272 TraceCheckUtils]: 60: Hoare triple {18152#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18000#true} is VALID [2022-04-08 13:01:41,616 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18000#true} {18152#(<= ~counter~0 3)} #84#return; {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,616 INFO L290 TraceCheckUtils]: 58: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-08 13:01:41,616 INFO L290 TraceCheckUtils]: 57: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-08 13:01:41,616 INFO L290 TraceCheckUtils]: 56: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-08 13:01:41,616 INFO L272 TraceCheckUtils]: 55: Hoare triple {18152#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18000#true} is VALID [2022-04-08 13:01:41,616 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {18000#true} {18152#(<= ~counter~0 3)} #82#return; {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,616 INFO L290 TraceCheckUtils]: 53: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-08 13:01:41,616 INFO L290 TraceCheckUtils]: 52: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-08 13:01:41,616 INFO L290 TraceCheckUtils]: 51: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-08 13:01:41,616 INFO L272 TraceCheckUtils]: 50: Hoare triple {18152#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18000#true} is VALID [2022-04-08 13:01:41,617 INFO L290 TraceCheckUtils]: 49: Hoare triple {18152#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,617 INFO L290 TraceCheckUtils]: 48: Hoare triple {18097#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18152#(<= ~counter~0 3)} is VALID [2022-04-08 13:01:41,617 INFO L290 TraceCheckUtils]: 47: Hoare triple {18097#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,618 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {18000#true} {18097#(<= ~counter~0 2)} #86#return; {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,618 INFO L290 TraceCheckUtils]: 45: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-08 13:01:41,618 INFO L290 TraceCheckUtils]: 44: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-08 13:01:41,618 INFO L290 TraceCheckUtils]: 43: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-08 13:01:41,618 INFO L272 TraceCheckUtils]: 42: Hoare triple {18097#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18000#true} is VALID [2022-04-08 13:01:41,618 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18000#true} {18097#(<= ~counter~0 2)} #84#return; {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,618 INFO L290 TraceCheckUtils]: 40: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-08 13:01:41,619 INFO L290 TraceCheckUtils]: 39: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-08 13:01:41,619 INFO L290 TraceCheckUtils]: 38: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-08 13:01:41,619 INFO L272 TraceCheckUtils]: 37: Hoare triple {18097#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18000#true} is VALID [2022-04-08 13:01:41,619 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18000#true} {18097#(<= ~counter~0 2)} #82#return; {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,619 INFO L290 TraceCheckUtils]: 35: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-08 13:01:41,619 INFO L290 TraceCheckUtils]: 34: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-08 13:01:41,619 INFO L290 TraceCheckUtils]: 33: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-08 13:01:41,619 INFO L272 TraceCheckUtils]: 32: Hoare triple {18097#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18000#true} is VALID [2022-04-08 13:01:41,620 INFO L290 TraceCheckUtils]: 31: Hoare triple {18097#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,620 INFO L290 TraceCheckUtils]: 30: Hoare triple {18042#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18097#(<= ~counter~0 2)} is VALID [2022-04-08 13:01:41,620 INFO L290 TraceCheckUtils]: 29: Hoare triple {18042#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,621 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18000#true} {18042#(<= ~counter~0 1)} #86#return; {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,621 INFO L290 TraceCheckUtils]: 27: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-08 13:01:41,621 INFO L290 TraceCheckUtils]: 26: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-08 13:01:41,621 INFO L290 TraceCheckUtils]: 25: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-08 13:01:41,621 INFO L272 TraceCheckUtils]: 24: Hoare triple {18042#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18000#true} is VALID [2022-04-08 13:01:41,621 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18000#true} {18042#(<= ~counter~0 1)} #84#return; {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,621 INFO L290 TraceCheckUtils]: 22: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-08 13:01:41,621 INFO L290 TraceCheckUtils]: 21: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-08 13:01:41,622 INFO L290 TraceCheckUtils]: 20: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-08 13:01:41,622 INFO L272 TraceCheckUtils]: 19: Hoare triple {18042#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18000#true} is VALID [2022-04-08 13:01:41,622 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {18000#true} {18042#(<= ~counter~0 1)} #82#return; {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,622 INFO L290 TraceCheckUtils]: 17: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-08 13:01:41,622 INFO L290 TraceCheckUtils]: 16: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-08 13:01:41,622 INFO L290 TraceCheckUtils]: 15: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-08 13:01:41,622 INFO L272 TraceCheckUtils]: 14: Hoare triple {18042#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18000#true} is VALID [2022-04-08 13:01:41,622 INFO L290 TraceCheckUtils]: 13: Hoare triple {18042#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,623 INFO L290 TraceCheckUtils]: 12: Hoare triple {18008#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18042#(<= ~counter~0 1)} is VALID [2022-04-08 13:01:41,623 INFO L290 TraceCheckUtils]: 11: Hoare triple {18008#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {18008#(<= ~counter~0 0)} is VALID [2022-04-08 13:01:41,623 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18000#true} {18008#(<= ~counter~0 0)} #80#return; {18008#(<= ~counter~0 0)} is VALID [2022-04-08 13:01:41,624 INFO L290 TraceCheckUtils]: 9: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-08 13:01:41,624 INFO L290 TraceCheckUtils]: 8: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-08 13:01:41,624 INFO L290 TraceCheckUtils]: 7: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-08 13:01:41,624 INFO L272 TraceCheckUtils]: 6: Hoare triple {18008#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {18000#true} is VALID [2022-04-08 13:01:41,624 INFO L290 TraceCheckUtils]: 5: Hoare triple {18008#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {18008#(<= ~counter~0 0)} is VALID [2022-04-08 13:01:41,624 INFO L272 TraceCheckUtils]: 4: Hoare triple {18008#(<= ~counter~0 0)} call #t~ret8 := main(); {18008#(<= ~counter~0 0)} is VALID [2022-04-08 13:01:41,625 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18008#(<= ~counter~0 0)} {18000#true} #96#return; {18008#(<= ~counter~0 0)} is VALID [2022-04-08 13:01:41,625 INFO L290 TraceCheckUtils]: 2: Hoare triple {18008#(<= ~counter~0 0)} assume true; {18008#(<= ~counter~0 0)} is VALID [2022-04-08 13:01:41,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {18000#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18008#(<= ~counter~0 0)} is VALID [2022-04-08 13:01:41,625 INFO L272 TraceCheckUtils]: 0: Hoare triple {18000#true} call ULTIMATE.init(); {18000#true} is VALID [2022-04-08 13:01:41,626 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-08 13:01:41,626 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:01:41,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1005971279] [2022-04-08 13:01:41,626 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:01:41,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [65339319] [2022-04-08 13:01:41,626 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [65339319] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:01:41,626 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:01:41,626 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-04-08 13:01:41,626 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:01:41,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [697245477] [2022-04-08 13:01:41,627 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [697245477] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:01:41,627 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:01:41,627 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 13:01:41,627 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [818638295] [2022-04-08 13:01:41,627 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:01:41,627 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 97 [2022-04-08 13:01:41,627 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:01:41,627 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 13:01:41,683 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-08 13:01:41,683 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 13:01:41,684 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:01:41,684 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 13:01:41,684 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=33, Unknown=0, NotChecked=0, Total=56 [2022-04-08 13:01:41,684 INFO L87 Difference]: Start difference. First operand 205 states and 243 transitions. Second operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 13:01:42,240 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:01:42,240 INFO L93 Difference]: Finished difference Result 266 states and 328 transitions. [2022-04-08 13:01:42,240 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 13:01:42,240 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 97 [2022-04-08 13:01:42,241 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:01:42,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 13:01:42,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 124 transitions. [2022-04-08 13:01:42,243 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 13:01:42,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 124 transitions. [2022-04-08 13:01:42,244 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 124 transitions. [2022-04-08 13:01:42,371 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:01:42,375 INFO L225 Difference]: With dead ends: 266 [2022-04-08 13:01:42,375 INFO L226 Difference]: Without dead ends: 207 [2022-04-08 13:01:42,376 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 197 GetRequests, 186 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-08 13:01:42,377 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 23 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 66 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 164 SdHoareTripleChecker+Invalid, 77 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 66 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 13:01:42,377 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 164 Invalid, 77 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 66 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 13:01:42,382 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 207 states. [2022-04-08 13:01:42,631 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 207 to 207. [2022-04-08 13:01:42,631 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:01:42,632 INFO L82 GeneralOperation]: Start isEquivalent. First operand 207 states. Second operand has 207 states, 136 states have (on average 1.1691176470588236) internal successors, (159), 145 states have internal predecessors, (159), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-08 13:01:42,633 INFO L74 IsIncluded]: Start isIncluded. First operand 207 states. Second operand has 207 states, 136 states have (on average 1.1691176470588236) internal successors, (159), 145 states have internal predecessors, (159), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-08 13:01:42,633 INFO L87 Difference]: Start difference. First operand 207 states. Second operand has 207 states, 136 states have (on average 1.1691176470588236) internal successors, (159), 145 states have internal predecessors, (159), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-08 13:01:42,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:01:42,638 INFO L93 Difference]: Finished difference Result 207 states and 245 transitions. [2022-04-08 13:01:42,638 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 245 transitions. [2022-04-08 13:01:42,638 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:01:42,638 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:01:42,639 INFO L74 IsIncluded]: Start isIncluded. First operand has 207 states, 136 states have (on average 1.1691176470588236) internal successors, (159), 145 states have internal predecessors, (159), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) Second operand 207 states. [2022-04-08 13:01:42,639 INFO L87 Difference]: Start difference. First operand has 207 states, 136 states have (on average 1.1691176470588236) internal successors, (159), 145 states have internal predecessors, (159), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) Second operand 207 states. [2022-04-08 13:01:42,643 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:01:42,643 INFO L93 Difference]: Finished difference Result 207 states and 245 transitions. [2022-04-08 13:01:42,643 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 245 transitions. [2022-04-08 13:01:42,644 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:01:42,644 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:01:42,644 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:01:42,644 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:01:42,644 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 207 states, 136 states have (on average 1.1691176470588236) internal successors, (159), 145 states have internal predecessors, (159), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-08 13:01:42,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 207 states to 207 states and 245 transitions. [2022-04-08 13:01:42,649 INFO L78 Accepts]: Start accepts. Automaton has 207 states and 245 transitions. Word has length 97 [2022-04-08 13:01:42,649 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:01:42,650 INFO L478 AbstractCegarLoop]: Abstraction has 207 states and 245 transitions. [2022-04-08 13:01:42,650 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 13:01:42,650 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 207 states and 245 transitions. [2022-04-08 13:01:44,996 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 245 edges. 244 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:01:44,996 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 245 transitions. [2022-04-08 13:01:44,997 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-08 13:01:44,997 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:01:44,997 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:01:45,015 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Ended with exit code 0 [2022-04-08 13:01:45,198 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:01:45,198 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:01:45,198 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:01:45,198 INFO L85 PathProgramCache]: Analyzing trace with hash -545719131, now seen corresponding path program 5 times [2022-04-08 13:01:45,199 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:01:45,199 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [260060521] [2022-04-08 13:01:52,105 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:01:52,105 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:01:52,105 INFO L85 PathProgramCache]: Analyzing trace with hash -545719131, now seen corresponding path program 6 times [2022-04-08 13:01:52,105 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:01:52,105 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [370384091] [2022-04-08 13:01:52,106 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:01:52,106 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:01:52,115 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:01:52,115 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1333210413] [2022-04-08 13:01:52,115 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 13:01:52,115 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:01:52,116 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:01:52,123 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-08 13:01:52,129 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-08 13:01:52,268 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-08 13:01:52,269 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:01:52,270 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-08 13:01:52,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:01:52,292 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:02:22,419 INFO L272 TraceCheckUtils]: 0: Hoare triple {19957#true} call ULTIMATE.init(); {19957#true} is VALID [2022-04-08 13:02:22,419 INFO L290 TraceCheckUtils]: 1: Hoare triple {19957#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {19957#true} is VALID [2022-04-08 13:02:22,419 INFO L290 TraceCheckUtils]: 2: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:02:22,419 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19957#true} {19957#true} #96#return; {19957#true} is VALID [2022-04-08 13:02:22,419 INFO L272 TraceCheckUtils]: 4: Hoare triple {19957#true} call #t~ret8 := main(); {19957#true} is VALID [2022-04-08 13:02:22,419 INFO L290 TraceCheckUtils]: 5: Hoare triple {19957#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {19957#true} is VALID [2022-04-08 13:02:22,419 INFO L272 TraceCheckUtils]: 6: Hoare triple {19957#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:02:22,419 INFO L290 TraceCheckUtils]: 7: Hoare triple {19957#true} ~cond := #in~cond; {19983#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 13:02:22,420 INFO L290 TraceCheckUtils]: 8: Hoare triple {19983#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {19987#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:02:22,420 INFO L290 TraceCheckUtils]: 9: Hoare triple {19987#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {19987#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:02:22,420 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19987#(not (= |assume_abort_if_not_#in~cond| 0))} {19957#true} #80#return; {19994#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-08 13:02:22,423 INFO L290 TraceCheckUtils]: 11: Hoare triple {19994#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 13:02:22,423 INFO L290 TraceCheckUtils]: 12: Hoare triple {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 13:02:22,424 INFO L290 TraceCheckUtils]: 13: Hoare triple {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 13:02:22,424 INFO L272 TraceCheckUtils]: 14: Hoare triple {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:02:22,424 INFO L290 TraceCheckUtils]: 15: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:02:22,424 INFO L290 TraceCheckUtils]: 16: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:02:22,424 INFO L290 TraceCheckUtils]: 17: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:02:22,424 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {19957#true} {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} #82#return; {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 13:02:22,425 INFO L272 TraceCheckUtils]: 19: Hoare triple {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:02:22,425 INFO L290 TraceCheckUtils]: 20: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:02:22,425 INFO L290 TraceCheckUtils]: 21: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:02:22,425 INFO L290 TraceCheckUtils]: 22: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:02:22,425 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19957#true} {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} #84#return; {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 13:02:22,425 INFO L272 TraceCheckUtils]: 24: Hoare triple {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:02:22,425 INFO L290 TraceCheckUtils]: 25: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:02:22,425 INFO L290 TraceCheckUtils]: 26: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:02:22,425 INFO L290 TraceCheckUtils]: 27: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:02:22,426 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {19957#true} {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} #86#return; {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 13:02:22,428 INFO L290 TraceCheckUtils]: 29: Hoare triple {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 13:02:22,429 INFO L290 TraceCheckUtils]: 30: Hoare triple {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 13:02:22,429 INFO L290 TraceCheckUtils]: 31: Hoare triple {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 13:02:22,429 INFO L272 TraceCheckUtils]: 32: Hoare triple {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:02:22,429 INFO L290 TraceCheckUtils]: 33: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:02:22,429 INFO L290 TraceCheckUtils]: 34: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:02:22,429 INFO L290 TraceCheckUtils]: 35: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:02:22,430 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {19957#true} {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #82#return; {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 13:02:22,430 INFO L272 TraceCheckUtils]: 37: Hoare triple {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:02:22,430 INFO L290 TraceCheckUtils]: 38: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:02:22,430 INFO L290 TraceCheckUtils]: 39: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:02:22,430 INFO L290 TraceCheckUtils]: 40: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:02:22,431 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19957#true} {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #84#return; {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 13:02:22,431 INFO L272 TraceCheckUtils]: 42: Hoare triple {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:02:22,431 INFO L290 TraceCheckUtils]: 43: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:02:22,431 INFO L290 TraceCheckUtils]: 44: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:02:22,431 INFO L290 TraceCheckUtils]: 45: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:02:22,431 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {19957#true} {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #86#return; {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 13:02:22,434 INFO L290 TraceCheckUtils]: 47: Hoare triple {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-08 13:02:22,434 INFO L290 TraceCheckUtils]: 48: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-08 13:02:22,435 INFO L290 TraceCheckUtils]: 49: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} assume !!(#t~post6 < 5);havoc #t~post6; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-08 13:02:22,435 INFO L272 TraceCheckUtils]: 50: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:02:22,435 INFO L290 TraceCheckUtils]: 51: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:02:22,435 INFO L290 TraceCheckUtils]: 52: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:02:22,435 INFO L290 TraceCheckUtils]: 53: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:02:22,435 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {19957#true} {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} #82#return; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-08 13:02:22,435 INFO L272 TraceCheckUtils]: 55: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:02:22,436 INFO L290 TraceCheckUtils]: 56: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:02:22,436 INFO L290 TraceCheckUtils]: 57: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:02:22,436 INFO L290 TraceCheckUtils]: 58: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:02:22,436 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {19957#true} {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} #84#return; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-08 13:02:22,436 INFO L272 TraceCheckUtils]: 60: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:02:22,436 INFO L290 TraceCheckUtils]: 61: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:02:22,436 INFO L290 TraceCheckUtils]: 62: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:02:22,436 INFO L290 TraceCheckUtils]: 63: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:02:22,437 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {19957#true} {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} #86#return; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-08 13:02:22,437 INFO L290 TraceCheckUtils]: 65: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} assume !(~r~0 >= ~d~0); {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-08 13:02:22,438 INFO L290 TraceCheckUtils]: 66: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-08 13:02:22,438 INFO L290 TraceCheckUtils]: 67: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} assume !!(#t~post7 < 5);havoc #t~post7; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-08 13:02:22,438 INFO L272 TraceCheckUtils]: 68: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:02:22,438 INFO L290 TraceCheckUtils]: 69: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:02:22,438 INFO L290 TraceCheckUtils]: 70: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:02:22,439 INFO L290 TraceCheckUtils]: 71: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:02:22,439 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {19957#true} {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} #88#return; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-08 13:02:22,439 INFO L272 TraceCheckUtils]: 73: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:02:22,439 INFO L290 TraceCheckUtils]: 74: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:02:22,439 INFO L290 TraceCheckUtils]: 75: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:02:22,439 INFO L290 TraceCheckUtils]: 76: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:02:22,440 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {19957#true} {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} #90#return; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-08 13:02:22,442 INFO L290 TraceCheckUtils]: 78: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} 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); {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 13:02:22,444 INFO L290 TraceCheckUtils]: 79: Hoare triple {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} is VALID [2022-04-08 13:02:22,444 INFO L290 TraceCheckUtils]: 80: Hoare triple {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} is VALID [2022-04-08 13:02:22,444 INFO L290 TraceCheckUtils]: 81: Hoare triple {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} assume !!(#t~post7 < 5);havoc #t~post7; {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} is VALID [2022-04-08 13:02:22,445 INFO L272 TraceCheckUtils]: 82: Hoare triple {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:02:22,445 INFO L290 TraceCheckUtils]: 83: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:02:22,445 INFO L290 TraceCheckUtils]: 84: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:02:22,445 INFO L290 TraceCheckUtils]: 85: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:02:22,445 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {19957#true} {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} #88#return; {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} is VALID [2022-04-08 13:02:22,445 INFO L272 TraceCheckUtils]: 87: Hoare triple {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:02:22,445 INFO L290 TraceCheckUtils]: 88: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:02:22,445 INFO L290 TraceCheckUtils]: 89: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:02:22,446 INFO L290 TraceCheckUtils]: 90: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:02:22,446 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {19957#true} {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} #90#return; {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} is VALID [2022-04-08 13:02:22,449 INFO L290 TraceCheckUtils]: 92: Hoare triple {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {20245#(and (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296) (= main_~q~0 2) (= (mod (+ (mod main_~A~0 4294967296) main_~r~0) 2) 0) (<= 1 (mod (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= main_~p~0 1))} is VALID [2022-04-08 13:02:22,452 INFO L290 TraceCheckUtils]: 93: Hoare triple {20245#(and (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296) (= main_~q~0 2) (= (mod (+ (mod main_~A~0 4294967296) main_~r~0) 2) 0) (<= 1 (mod (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20249#(and (<= 1 (mod (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296)) (= (mod (+ (mod main_~A~0 4294967296) main_~d~0 main_~r~0) 2) 0) (< (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= 0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-08 13:02:22,452 INFO L290 TraceCheckUtils]: 94: Hoare triple {20249#(and (<= 1 (mod (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296)) (= (mod (+ (mod main_~A~0 4294967296) main_~d~0 main_~r~0) 2) 0) (< (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= 0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20249#(and (<= 1 (mod (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296)) (= (mod (+ (mod main_~A~0 4294967296) main_~d~0 main_~r~0) 2) 0) (< (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= 0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-08 13:02:22,453 INFO L290 TraceCheckUtils]: 95: Hoare triple {20249#(and (<= 1 (mod (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296)) (= (mod (+ (mod main_~A~0 4294967296) main_~d~0 main_~r~0) 2) 0) (< (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= 0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1))} assume !(#t~post7 < 5);havoc #t~post7; {20249#(and (<= 1 (mod (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296)) (= (mod (+ (mod main_~A~0 4294967296) main_~d~0 main_~r~0) 2) 0) (< (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= 0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-08 13:02:22,455 INFO L272 TraceCheckUtils]: 96: Hoare triple {20249#(and (<= 1 (mod (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296)) (= (mod (+ (mod main_~A~0 4294967296) main_~d~0 main_~r~0) 2) 0) (< (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= 0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {20259#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:02:22,455 INFO L290 TraceCheckUtils]: 97: Hoare triple {20259#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20263#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:02:22,455 INFO L290 TraceCheckUtils]: 98: Hoare triple {20263#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19958#false} is VALID [2022-04-08 13:02:22,456 INFO L290 TraceCheckUtils]: 99: Hoare triple {19958#false} assume !false; {19958#false} is VALID [2022-04-08 13:02:22,456 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-08 13:02:22,456 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:03:14,921 INFO L290 TraceCheckUtils]: 99: Hoare triple {19958#false} assume !false; {19958#false} is VALID [2022-04-08 13:03:14,922 INFO L290 TraceCheckUtils]: 98: Hoare triple {20263#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19958#false} is VALID [2022-04-08 13:03:14,922 INFO L290 TraceCheckUtils]: 97: Hoare triple {20259#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20263#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:03:14,922 INFO L272 TraceCheckUtils]: 96: Hoare triple {20279#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {20259#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:03:14,923 INFO L290 TraceCheckUtils]: 95: Hoare triple {20279#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} assume !(#t~post7 < 5);havoc #t~post7; {20279#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-08 13:03:14,923 INFO L290 TraceCheckUtils]: 94: Hoare triple {20279#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20279#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-08 13:03:14,925 INFO L290 TraceCheckUtils]: 93: Hoare triple {20289#(= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 main_~p~0) main_~d~0) (* (- 1) main_~d~0) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20279#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-08 13:03:14,963 INFO L290 TraceCheckUtils]: 92: Hoare triple {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {20289#(= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 main_~p~0) main_~d~0) (* (- 1) main_~d~0) main_~r~0))} is VALID [2022-04-08 13:03:14,964 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {19957#true} {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #90#return; {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 13:03:14,964 INFO L290 TraceCheckUtils]: 90: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:03:14,964 INFO L290 TraceCheckUtils]: 89: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:03:14,964 INFO L290 TraceCheckUtils]: 88: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:03:14,964 INFO L272 TraceCheckUtils]: 87: Hoare triple {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:03:14,964 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {19957#true} {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #88#return; {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 13:03:14,964 INFO L290 TraceCheckUtils]: 85: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:03:14,965 INFO L290 TraceCheckUtils]: 84: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:03:14,965 INFO L290 TraceCheckUtils]: 83: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:03:14,965 INFO L272 TraceCheckUtils]: 82: Hoare triple {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:03:14,966 INFO L290 TraceCheckUtils]: 81: Hoare triple {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !!(#t~post7 < 5);havoc #t~post7; {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 13:03:14,967 INFO L290 TraceCheckUtils]: 80: Hoare triple {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 13:03:15,020 INFO L290 TraceCheckUtils]: 79: Hoare triple {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 13:03:15,208 INFO L290 TraceCheckUtils]: 78: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (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); {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} is VALID [2022-04-08 13:03:15,209 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {19957#true} {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} #90#return; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:03:15,209 INFO L290 TraceCheckUtils]: 76: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:03:15,209 INFO L290 TraceCheckUtils]: 75: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:03:15,209 INFO L290 TraceCheckUtils]: 74: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:03:15,209 INFO L272 TraceCheckUtils]: 73: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:03:15,212 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {19957#true} {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} #88#return; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:03:15,212 INFO L290 TraceCheckUtils]: 71: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:03:15,212 INFO L290 TraceCheckUtils]: 70: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:03:15,212 INFO L290 TraceCheckUtils]: 69: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:03:15,212 INFO L272 TraceCheckUtils]: 68: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:03:15,217 INFO L290 TraceCheckUtils]: 67: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} assume !!(#t~post7 < 5);havoc #t~post7; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:03:15,221 INFO L290 TraceCheckUtils]: 66: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:03:15,232 INFO L290 TraceCheckUtils]: 65: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} assume !(~r~0 >= ~d~0); {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:03:15,233 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {19957#true} {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} #86#return; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:03:15,234 INFO L290 TraceCheckUtils]: 63: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:03:15,234 INFO L290 TraceCheckUtils]: 62: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:03:15,234 INFO L290 TraceCheckUtils]: 61: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:03:15,234 INFO L272 TraceCheckUtils]: 60: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:03:15,236 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {19957#true} {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} #84#return; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:03:15,236 INFO L290 TraceCheckUtils]: 58: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:03:15,236 INFO L290 TraceCheckUtils]: 57: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:03:15,236 INFO L290 TraceCheckUtils]: 56: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:03:15,236 INFO L272 TraceCheckUtils]: 55: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:03:15,237 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {19957#true} {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} #82#return; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:03:15,238 INFO L290 TraceCheckUtils]: 53: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:03:15,238 INFO L290 TraceCheckUtils]: 52: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:03:15,238 INFO L290 TraceCheckUtils]: 51: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:03:15,238 INFO L272 TraceCheckUtils]: 50: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:03:15,243 INFO L290 TraceCheckUtils]: 49: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} assume !!(#t~post6 < 5);havoc #t~post6; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:03:15,251 INFO L290 TraceCheckUtils]: 48: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:03:15,421 INFO L290 TraceCheckUtils]: 47: Hoare triple {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) 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 (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (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)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ 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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:03:15,422 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {19957#true} {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} #86#return; {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} is VALID [2022-04-08 13:03:15,422 INFO L290 TraceCheckUtils]: 45: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:03:15,422 INFO L290 TraceCheckUtils]: 44: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:03:15,422 INFO L290 TraceCheckUtils]: 43: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:03:15,423 INFO L272 TraceCheckUtils]: 42: Hoare triple {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:03:15,423 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19957#true} {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} #84#return; {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} is VALID [2022-04-08 13:03:15,423 INFO L290 TraceCheckUtils]: 40: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:03:15,423 INFO L290 TraceCheckUtils]: 39: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:03:15,423 INFO L290 TraceCheckUtils]: 38: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:03:15,423 INFO L272 TraceCheckUtils]: 37: Hoare triple {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:03:15,424 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {19957#true} {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} #82#return; {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} is VALID [2022-04-08 13:03:15,424 INFO L290 TraceCheckUtils]: 35: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:03:15,424 INFO L290 TraceCheckUtils]: 34: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:03:15,424 INFO L290 TraceCheckUtils]: 33: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:03:15,424 INFO L272 TraceCheckUtils]: 32: Hoare triple {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:03:15,426 INFO L290 TraceCheckUtils]: 31: Hoare triple {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} assume !!(#t~post6 < 5);havoc #t~post6; {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} is VALID [2022-04-08 13:03:15,427 INFO L290 TraceCheckUtils]: 30: Hoare triple {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} is VALID [2022-04-08 13:03:15,431 INFO L290 TraceCheckUtils]: 29: Hoare triple {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} is VALID [2022-04-08 13:03:15,431 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {19957#true} {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} #86#return; {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} is VALID [2022-04-08 13:03:15,432 INFO L290 TraceCheckUtils]: 27: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:03:15,432 INFO L290 TraceCheckUtils]: 26: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:03:15,432 INFO L290 TraceCheckUtils]: 25: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:03:15,432 INFO L272 TraceCheckUtils]: 24: Hoare triple {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:03:15,432 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19957#true} {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} #84#return; {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} is VALID [2022-04-08 13:03:15,432 INFO L290 TraceCheckUtils]: 22: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:03:15,432 INFO L290 TraceCheckUtils]: 21: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:03:15,432 INFO L290 TraceCheckUtils]: 20: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:03:15,432 INFO L272 TraceCheckUtils]: 19: Hoare triple {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:03:15,433 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {19957#true} {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} #82#return; {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} is VALID [2022-04-08 13:03:15,433 INFO L290 TraceCheckUtils]: 17: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:03:15,433 INFO L290 TraceCheckUtils]: 16: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:03:15,433 INFO L290 TraceCheckUtils]: 15: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:03:15,433 INFO L272 TraceCheckUtils]: 14: Hoare triple {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:03:15,434 INFO L290 TraceCheckUtils]: 13: Hoare triple {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} assume !!(#t~post6 < 5);havoc #t~post6; {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} is VALID [2022-04-08 13:03:15,434 INFO L290 TraceCheckUtils]: 12: Hoare triple {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} is VALID [2022-04-08 13:03:15,434 INFO L290 TraceCheckUtils]: 11: Hoare triple {19957#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} is VALID [2022-04-08 13:03:15,434 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19957#true} {19957#true} #80#return; {19957#true} is VALID [2022-04-08 13:03:15,434 INFO L290 TraceCheckUtils]: 9: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:03:15,434 INFO L290 TraceCheckUtils]: 8: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-08 13:03:15,435 INFO L290 TraceCheckUtils]: 7: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-08 13:03:15,435 INFO L272 TraceCheckUtils]: 6: Hoare triple {19957#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {19957#true} is VALID [2022-04-08 13:03:15,435 INFO L290 TraceCheckUtils]: 5: Hoare triple {19957#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {19957#true} is VALID [2022-04-08 13:03:15,435 INFO L272 TraceCheckUtils]: 4: Hoare triple {19957#true} call #t~ret8 := main(); {19957#true} is VALID [2022-04-08 13:03:15,435 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19957#true} {19957#true} #96#return; {19957#true} is VALID [2022-04-08 13:03:15,435 INFO L290 TraceCheckUtils]: 2: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-08 13:03:15,435 INFO L290 TraceCheckUtils]: 1: Hoare triple {19957#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {19957#true} is VALID [2022-04-08 13:03:15,435 INFO L272 TraceCheckUtils]: 0: Hoare triple {19957#true} call ULTIMATE.init(); {19957#true} is VALID [2022-04-08 13:03:15,436 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-08 13:03:15,436 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:03:15,436 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [370384091] [2022-04-08 13:03:15,436 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:03:15,436 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1333210413] [2022-04-08 13:03:15,436 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1333210413] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:03:15,436 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:03:15,436 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 19 [2022-04-08 13:03:15,437 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:03:15,437 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [260060521] [2022-04-08 13:03:15,437 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [260060521] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:03:15,437 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:03:15,437 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 13:03:15,437 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2015663780] [2022-04-08 13:03:15,437 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:03:15,437 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) Word has length 100 [2022-04-08 13:03:15,438 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:03:15,438 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 13:03:15,670 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-08 13:03:15,670 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 13:03:15,670 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:03:15,671 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 13:03:15,671 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=293, Unknown=0, NotChecked=0, Total=342 [2022-04-08 13:03:15,671 INFO L87 Difference]: Start difference. First operand 207 states and 245 transitions. Second operand has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 13:03:25,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:03:25,456 INFO L93 Difference]: Finished difference Result 221 states and 258 transitions. [2022-04-08 13:03:25,456 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 13:03:25,456 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) Word has length 100 [2022-04-08 13:03:25,457 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:03:25,457 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 13:03:25,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 119 transitions. [2022-04-08 13:03:25,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 13:03:25,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 119 transitions. [2022-04-08 13:03:25,461 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 119 transitions. [2022-04-08 13:03:25,920 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:03:25,924 INFO L225 Difference]: With dead ends: 221 [2022-04-08 13:03:25,924 INFO L226 Difference]: Without dead ends: 206 [2022-04-08 13:03:25,924 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 207 GetRequests, 179 SyntacticMatches, 3 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 7.6s TimeCoverageRelationStatistics Valid=95, Invalid=607, Unknown=0, NotChecked=0, Total=702 [2022-04-08 13:03:25,925 INFO L913 BasicCegarLoop]: 71 mSDtfsCounter, 48 mSDsluCounter, 399 mSDsCounter, 0 mSdLazyCounter, 574 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 470 SdHoareTripleChecker+Invalid, 618 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 574 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.1s IncrementalHoareTripleChecker+Time [2022-04-08 13:03:25,925 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [54 Valid, 470 Invalid, 618 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 574 Invalid, 0 Unknown, 0 Unchecked, 6.1s Time] [2022-04-08 13:03:25,925 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states. [2022-04-08 13:03:26,225 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 205. [2022-04-08 13:03:26,225 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:03:26,226 INFO L82 GeneralOperation]: Start isEquivalent. First operand 206 states. Second operand has 205 states, 136 states have (on average 1.1470588235294117) internal successors, (156), 144 states have internal predecessors, (156), 42 states have call successors, (42), 27 states have call predecessors, (42), 26 states have return successors, (38), 33 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 13:03:26,226 INFO L74 IsIncluded]: Start isIncluded. First operand 206 states. Second operand has 205 states, 136 states have (on average 1.1470588235294117) internal successors, (156), 144 states have internal predecessors, (156), 42 states have call successors, (42), 27 states have call predecessors, (42), 26 states have return successors, (38), 33 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 13:03:26,226 INFO L87 Difference]: Start difference. First operand 206 states. Second operand has 205 states, 136 states have (on average 1.1470588235294117) internal successors, (156), 144 states have internal predecessors, (156), 42 states have call successors, (42), 27 states have call predecessors, (42), 26 states have return successors, (38), 33 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 13:03:26,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:03:26,230 INFO L93 Difference]: Finished difference Result 206 states and 237 transitions. [2022-04-08 13:03:26,230 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 237 transitions. [2022-04-08 13:03:26,231 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:03:26,231 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:03:26,231 INFO L74 IsIncluded]: Start isIncluded. First operand has 205 states, 136 states have (on average 1.1470588235294117) internal successors, (156), 144 states have internal predecessors, (156), 42 states have call successors, (42), 27 states have call predecessors, (42), 26 states have return successors, (38), 33 states have call predecessors, (38), 38 states have call successors, (38) Second operand 206 states. [2022-04-08 13:03:26,231 INFO L87 Difference]: Start difference. First operand has 205 states, 136 states have (on average 1.1470588235294117) internal successors, (156), 144 states have internal predecessors, (156), 42 states have call successors, (42), 27 states have call predecessors, (42), 26 states have return successors, (38), 33 states have call predecessors, (38), 38 states have call successors, (38) Second operand 206 states. [2022-04-08 13:03:26,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:03:26,236 INFO L93 Difference]: Finished difference Result 206 states and 237 transitions. [2022-04-08 13:03:26,236 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 237 transitions. [2022-04-08 13:03:26,237 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:03:26,237 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:03:26,237 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:03:26,237 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:03:26,237 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 205 states, 136 states have (on average 1.1470588235294117) internal successors, (156), 144 states have internal predecessors, (156), 42 states have call successors, (42), 27 states have call predecessors, (42), 26 states have return successors, (38), 33 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 13:03:26,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 205 states to 205 states and 236 transitions. [2022-04-08 13:03:26,242 INFO L78 Accepts]: Start accepts. Automaton has 205 states and 236 transitions. Word has length 100 [2022-04-08 13:03:26,242 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:03:26,242 INFO L478 AbstractCegarLoop]: Abstraction has 205 states and 236 transitions. [2022-04-08 13:03:26,243 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 13:03:26,243 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 205 states and 236 transitions. [2022-04-08 13:03:28,776 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 236 edges. 235 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:03:28,777 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 236 transitions. [2022-04-08 13:03:28,778 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-08 13:03:28,778 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:03:28,778 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:03:28,803 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-08 13:03:28,978 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:03:28,978 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:03:28,979 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:03:28,979 INFO L85 PathProgramCache]: Analyzing trace with hash -543991253, now seen corresponding path program 9 times [2022-04-08 13:03:28,979 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:03:28,979 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [966760319] [2022-04-08 13:03:37,971 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:03:37,971 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:03:37,971 INFO L85 PathProgramCache]: Analyzing trace with hash -543991253, now seen corresponding path program 10 times [2022-04-08 13:03:37,971 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:03:37,972 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [540836853] [2022-04-08 13:03:37,972 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:03:37,972 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:03:37,982 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:03:37,982 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1892466682] [2022-04-08 13:03:37,982 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 13:03:37,983 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:03:37,983 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:03:37,988 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-08 13:03:37,991 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-08 13:03:38,046 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 13:03:38,046 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:03:38,047 INFO L263 TraceCheckSpWp]: Trace formula consists of 255 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-08 13:03:38,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:03:38,067 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:03:38,513 INFO L272 TraceCheckUtils]: 0: Hoare triple {21855#true} call ULTIMATE.init(); {21855#true} is VALID [2022-04-08 13:03:38,513 INFO L290 TraceCheckUtils]: 1: Hoare triple {21855#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {21863#(<= 0 ~counter~0)} is VALID [2022-04-08 13:03:38,514 INFO L290 TraceCheckUtils]: 2: Hoare triple {21863#(<= 0 ~counter~0)} assume true; {21863#(<= 0 ~counter~0)} is VALID [2022-04-08 13:03:38,514 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21863#(<= 0 ~counter~0)} {21855#true} #96#return; {21863#(<= 0 ~counter~0)} is VALID [2022-04-08 13:03:38,514 INFO L272 TraceCheckUtils]: 4: Hoare triple {21863#(<= 0 ~counter~0)} call #t~ret8 := main(); {21863#(<= 0 ~counter~0)} is VALID [2022-04-08 13:03:38,515 INFO L290 TraceCheckUtils]: 5: Hoare triple {21863#(<= 0 ~counter~0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {21863#(<= 0 ~counter~0)} is VALID [2022-04-08 13:03:38,515 INFO L272 TraceCheckUtils]: 6: Hoare triple {21863#(<= 0 ~counter~0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {21863#(<= 0 ~counter~0)} is VALID [2022-04-08 13:03:38,515 INFO L290 TraceCheckUtils]: 7: Hoare triple {21863#(<= 0 ~counter~0)} ~cond := #in~cond; {21863#(<= 0 ~counter~0)} is VALID [2022-04-08 13:03:38,516 INFO L290 TraceCheckUtils]: 8: Hoare triple {21863#(<= 0 ~counter~0)} assume !(0 == ~cond); {21863#(<= 0 ~counter~0)} is VALID [2022-04-08 13:03:38,516 INFO L290 TraceCheckUtils]: 9: Hoare triple {21863#(<= 0 ~counter~0)} assume true; {21863#(<= 0 ~counter~0)} is VALID [2022-04-08 13:03:38,516 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21863#(<= 0 ~counter~0)} {21863#(<= 0 ~counter~0)} #80#return; {21863#(<= 0 ~counter~0)} is VALID [2022-04-08 13:03:38,516 INFO L290 TraceCheckUtils]: 11: Hoare triple {21863#(<= 0 ~counter~0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {21863#(<= 0 ~counter~0)} is VALID [2022-04-08 13:03:38,517 INFO L290 TraceCheckUtils]: 12: Hoare triple {21863#(<= 0 ~counter~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,517 INFO L290 TraceCheckUtils]: 13: Hoare triple {21897#(<= 1 ~counter~0)} assume !!(#t~post6 < 5);havoc #t~post6; {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,518 INFO L272 TraceCheckUtils]: 14: Hoare triple {21897#(<= 1 ~counter~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,518 INFO L290 TraceCheckUtils]: 15: Hoare triple {21897#(<= 1 ~counter~0)} ~cond := #in~cond; {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,518 INFO L290 TraceCheckUtils]: 16: Hoare triple {21897#(<= 1 ~counter~0)} assume !(0 == ~cond); {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,519 INFO L290 TraceCheckUtils]: 17: Hoare triple {21897#(<= 1 ~counter~0)} assume true; {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,519 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {21897#(<= 1 ~counter~0)} {21897#(<= 1 ~counter~0)} #82#return; {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,519 INFO L272 TraceCheckUtils]: 19: Hoare triple {21897#(<= 1 ~counter~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,520 INFO L290 TraceCheckUtils]: 20: Hoare triple {21897#(<= 1 ~counter~0)} ~cond := #in~cond; {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,520 INFO L290 TraceCheckUtils]: 21: Hoare triple {21897#(<= 1 ~counter~0)} assume !(0 == ~cond); {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,520 INFO L290 TraceCheckUtils]: 22: Hoare triple {21897#(<= 1 ~counter~0)} assume true; {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,521 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {21897#(<= 1 ~counter~0)} {21897#(<= 1 ~counter~0)} #84#return; {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,521 INFO L272 TraceCheckUtils]: 24: Hoare triple {21897#(<= 1 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,521 INFO L290 TraceCheckUtils]: 25: Hoare triple {21897#(<= 1 ~counter~0)} ~cond := #in~cond; {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,522 INFO L290 TraceCheckUtils]: 26: Hoare triple {21897#(<= 1 ~counter~0)} assume !(0 == ~cond); {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,522 INFO L290 TraceCheckUtils]: 27: Hoare triple {21897#(<= 1 ~counter~0)} assume true; {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,522 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {21897#(<= 1 ~counter~0)} {21897#(<= 1 ~counter~0)} #86#return; {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,523 INFO L290 TraceCheckUtils]: 29: Hoare triple {21897#(<= 1 ~counter~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,523 INFO L290 TraceCheckUtils]: 30: Hoare triple {21897#(<= 1 ~counter~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,523 INFO L290 TraceCheckUtils]: 31: Hoare triple {21952#(<= 2 ~counter~0)} assume !!(#t~post6 < 5);havoc #t~post6; {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,524 INFO L272 TraceCheckUtils]: 32: Hoare triple {21952#(<= 2 ~counter~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,524 INFO L290 TraceCheckUtils]: 33: Hoare triple {21952#(<= 2 ~counter~0)} ~cond := #in~cond; {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,524 INFO L290 TraceCheckUtils]: 34: Hoare triple {21952#(<= 2 ~counter~0)} assume !(0 == ~cond); {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,524 INFO L290 TraceCheckUtils]: 35: Hoare triple {21952#(<= 2 ~counter~0)} assume true; {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,525 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {21952#(<= 2 ~counter~0)} {21952#(<= 2 ~counter~0)} #82#return; {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,525 INFO L272 TraceCheckUtils]: 37: Hoare triple {21952#(<= 2 ~counter~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,526 INFO L290 TraceCheckUtils]: 38: Hoare triple {21952#(<= 2 ~counter~0)} ~cond := #in~cond; {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,526 INFO L290 TraceCheckUtils]: 39: Hoare triple {21952#(<= 2 ~counter~0)} assume !(0 == ~cond); {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,526 INFO L290 TraceCheckUtils]: 40: Hoare triple {21952#(<= 2 ~counter~0)} assume true; {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,526 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21952#(<= 2 ~counter~0)} {21952#(<= 2 ~counter~0)} #84#return; {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,527 INFO L272 TraceCheckUtils]: 42: Hoare triple {21952#(<= 2 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,527 INFO L290 TraceCheckUtils]: 43: Hoare triple {21952#(<= 2 ~counter~0)} ~cond := #in~cond; {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,527 INFO L290 TraceCheckUtils]: 44: Hoare triple {21952#(<= 2 ~counter~0)} assume !(0 == ~cond); {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,528 INFO L290 TraceCheckUtils]: 45: Hoare triple {21952#(<= 2 ~counter~0)} assume true; {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,528 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {21952#(<= 2 ~counter~0)} {21952#(<= 2 ~counter~0)} #86#return; {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,528 INFO L290 TraceCheckUtils]: 47: Hoare triple {21952#(<= 2 ~counter~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,529 INFO L290 TraceCheckUtils]: 48: Hoare triple {21952#(<= 2 ~counter~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,529 INFO L290 TraceCheckUtils]: 49: Hoare triple {22007#(<= 3 ~counter~0)} assume !!(#t~post6 < 5);havoc #t~post6; {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,530 INFO L272 TraceCheckUtils]: 50: Hoare triple {22007#(<= 3 ~counter~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,530 INFO L290 TraceCheckUtils]: 51: Hoare triple {22007#(<= 3 ~counter~0)} ~cond := #in~cond; {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,530 INFO L290 TraceCheckUtils]: 52: Hoare triple {22007#(<= 3 ~counter~0)} assume !(0 == ~cond); {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,530 INFO L290 TraceCheckUtils]: 53: Hoare triple {22007#(<= 3 ~counter~0)} assume true; {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,531 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {22007#(<= 3 ~counter~0)} {22007#(<= 3 ~counter~0)} #82#return; {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,531 INFO L272 TraceCheckUtils]: 55: Hoare triple {22007#(<= 3 ~counter~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,531 INFO L290 TraceCheckUtils]: 56: Hoare triple {22007#(<= 3 ~counter~0)} ~cond := #in~cond; {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,532 INFO L290 TraceCheckUtils]: 57: Hoare triple {22007#(<= 3 ~counter~0)} assume !(0 == ~cond); {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,532 INFO L290 TraceCheckUtils]: 58: Hoare triple {22007#(<= 3 ~counter~0)} assume true; {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,532 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {22007#(<= 3 ~counter~0)} {22007#(<= 3 ~counter~0)} #84#return; {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,533 INFO L272 TraceCheckUtils]: 60: Hoare triple {22007#(<= 3 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,533 INFO L290 TraceCheckUtils]: 61: Hoare triple {22007#(<= 3 ~counter~0)} ~cond := #in~cond; {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,533 INFO L290 TraceCheckUtils]: 62: Hoare triple {22007#(<= 3 ~counter~0)} assume !(0 == ~cond); {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,534 INFO L290 TraceCheckUtils]: 63: Hoare triple {22007#(<= 3 ~counter~0)} assume true; {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,534 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22007#(<= 3 ~counter~0)} {22007#(<= 3 ~counter~0)} #86#return; {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,534 INFO L290 TraceCheckUtils]: 65: Hoare triple {22007#(<= 3 ~counter~0)} assume !(~r~0 >= ~d~0); {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,535 INFO L290 TraceCheckUtils]: 66: Hoare triple {22007#(<= 3 ~counter~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,535 INFO L290 TraceCheckUtils]: 67: Hoare triple {22062#(<= 4 ~counter~0)} assume !!(#t~post7 < 5);havoc #t~post7; {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,536 INFO L272 TraceCheckUtils]: 68: Hoare triple {22062#(<= 4 ~counter~0)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,536 INFO L290 TraceCheckUtils]: 69: Hoare triple {22062#(<= 4 ~counter~0)} ~cond := #in~cond; {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,536 INFO L290 TraceCheckUtils]: 70: Hoare triple {22062#(<= 4 ~counter~0)} assume !(0 == ~cond); {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,536 INFO L290 TraceCheckUtils]: 71: Hoare triple {22062#(<= 4 ~counter~0)} assume true; {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,543 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {22062#(<= 4 ~counter~0)} {22062#(<= 4 ~counter~0)} #88#return; {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,543 INFO L272 TraceCheckUtils]: 73: Hoare triple {22062#(<= 4 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,544 INFO L290 TraceCheckUtils]: 74: Hoare triple {22062#(<= 4 ~counter~0)} ~cond := #in~cond; {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,544 INFO L290 TraceCheckUtils]: 75: Hoare triple {22062#(<= 4 ~counter~0)} assume !(0 == ~cond); {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,544 INFO L290 TraceCheckUtils]: 76: Hoare triple {22062#(<= 4 ~counter~0)} assume true; {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,545 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {22062#(<= 4 ~counter~0)} {22062#(<= 4 ~counter~0)} #90#return; {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,545 INFO L290 TraceCheckUtils]: 78: Hoare triple {22062#(<= 4 ~counter~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); {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,545 INFO L290 TraceCheckUtils]: 79: Hoare triple {22062#(<= 4 ~counter~0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,546 INFO L290 TraceCheckUtils]: 80: Hoare triple {22062#(<= 4 ~counter~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,546 INFO L290 TraceCheckUtils]: 81: Hoare triple {22105#(<= 5 ~counter~0)} assume !!(#t~post7 < 5);havoc #t~post7; {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,547 INFO L272 TraceCheckUtils]: 82: Hoare triple {22105#(<= 5 ~counter~0)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,547 INFO L290 TraceCheckUtils]: 83: Hoare triple {22105#(<= 5 ~counter~0)} ~cond := #in~cond; {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,547 INFO L290 TraceCheckUtils]: 84: Hoare triple {22105#(<= 5 ~counter~0)} assume !(0 == ~cond); {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,548 INFO L290 TraceCheckUtils]: 85: Hoare triple {22105#(<= 5 ~counter~0)} assume true; {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,548 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {22105#(<= 5 ~counter~0)} {22105#(<= 5 ~counter~0)} #88#return; {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,548 INFO L272 TraceCheckUtils]: 87: Hoare triple {22105#(<= 5 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,549 INFO L290 TraceCheckUtils]: 88: Hoare triple {22105#(<= 5 ~counter~0)} ~cond := #in~cond; {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,549 INFO L290 TraceCheckUtils]: 89: Hoare triple {22105#(<= 5 ~counter~0)} assume !(0 == ~cond); {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,549 INFO L290 TraceCheckUtils]: 90: Hoare triple {22105#(<= 5 ~counter~0)} assume true; {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,550 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {22105#(<= 5 ~counter~0)} {22105#(<= 5 ~counter~0)} #90#return; {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,550 INFO L290 TraceCheckUtils]: 92: Hoare triple {22105#(<= 5 ~counter~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); {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,550 INFO L290 TraceCheckUtils]: 93: Hoare triple {22105#(<= 5 ~counter~0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,551 INFO L290 TraceCheckUtils]: 94: Hoare triple {22105#(<= 5 ~counter~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22148#(<= 5 |main_#t~post7|)} is VALID [2022-04-08 13:03:38,551 INFO L290 TraceCheckUtils]: 95: Hoare triple {22148#(<= 5 |main_#t~post7|)} assume !!(#t~post7 < 5);havoc #t~post7; {21856#false} is VALID [2022-04-08 13:03:38,551 INFO L272 TraceCheckUtils]: 96: Hoare triple {21856#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {21856#false} is VALID [2022-04-08 13:03:38,551 INFO L290 TraceCheckUtils]: 97: Hoare triple {21856#false} ~cond := #in~cond; {21856#false} is VALID [2022-04-08 13:03:38,551 INFO L290 TraceCheckUtils]: 98: Hoare triple {21856#false} assume 0 == ~cond; {21856#false} is VALID [2022-04-08 13:03:38,551 INFO L290 TraceCheckUtils]: 99: Hoare triple {21856#false} assume !false; {21856#false} is VALID [2022-04-08 13:03:38,551 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 322 proven. 2 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-08 13:03:38,552 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:03:38,953 INFO L290 TraceCheckUtils]: 99: Hoare triple {21856#false} assume !false; {21856#false} is VALID [2022-04-08 13:03:38,953 INFO L290 TraceCheckUtils]: 98: Hoare triple {21856#false} assume 0 == ~cond; {21856#false} is VALID [2022-04-08 13:03:38,953 INFO L290 TraceCheckUtils]: 97: Hoare triple {21856#false} ~cond := #in~cond; {21856#false} is VALID [2022-04-08 13:03:38,953 INFO L272 TraceCheckUtils]: 96: Hoare triple {21856#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {21856#false} is VALID [2022-04-08 13:03:38,954 INFO L290 TraceCheckUtils]: 95: Hoare triple {22148#(<= 5 |main_#t~post7|)} assume !!(#t~post7 < 5);havoc #t~post7; {21856#false} is VALID [2022-04-08 13:03:38,954 INFO L290 TraceCheckUtils]: 94: Hoare triple {22105#(<= 5 ~counter~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22148#(<= 5 |main_#t~post7|)} is VALID [2022-04-08 13:03:38,954 INFO L290 TraceCheckUtils]: 93: Hoare triple {22105#(<= 5 ~counter~0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,954 INFO L290 TraceCheckUtils]: 92: Hoare triple {22105#(<= 5 ~counter~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); {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,955 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {21855#true} {22105#(<= 5 ~counter~0)} #90#return; {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,955 INFO L290 TraceCheckUtils]: 90: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-08 13:03:38,955 INFO L290 TraceCheckUtils]: 89: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-08 13:03:38,955 INFO L290 TraceCheckUtils]: 88: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-08 13:03:38,955 INFO L272 TraceCheckUtils]: 87: Hoare triple {22105#(<= 5 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21855#true} is VALID [2022-04-08 13:03:38,956 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {21855#true} {22105#(<= 5 ~counter~0)} #88#return; {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,956 INFO L290 TraceCheckUtils]: 85: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-08 13:03:38,956 INFO L290 TraceCheckUtils]: 84: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-08 13:03:38,956 INFO L290 TraceCheckUtils]: 83: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-08 13:03:38,956 INFO L272 TraceCheckUtils]: 82: Hoare triple {22105#(<= 5 ~counter~0)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {21855#true} is VALID [2022-04-08 13:03:38,956 INFO L290 TraceCheckUtils]: 81: Hoare triple {22105#(<= 5 ~counter~0)} assume !!(#t~post7 < 5);havoc #t~post7; {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,957 INFO L290 TraceCheckUtils]: 80: Hoare triple {22062#(<= 4 ~counter~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22105#(<= 5 ~counter~0)} is VALID [2022-04-08 13:03:38,957 INFO L290 TraceCheckUtils]: 79: Hoare triple {22062#(<= 4 ~counter~0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,957 INFO L290 TraceCheckUtils]: 78: Hoare triple {22062#(<= 4 ~counter~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); {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,958 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {21855#true} {22062#(<= 4 ~counter~0)} #90#return; {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,958 INFO L290 TraceCheckUtils]: 76: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-08 13:03:38,958 INFO L290 TraceCheckUtils]: 75: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-08 13:03:38,958 INFO L290 TraceCheckUtils]: 74: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-08 13:03:38,958 INFO L272 TraceCheckUtils]: 73: Hoare triple {22062#(<= 4 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21855#true} is VALID [2022-04-08 13:03:38,959 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {21855#true} {22062#(<= 4 ~counter~0)} #88#return; {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,959 INFO L290 TraceCheckUtils]: 71: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-08 13:03:38,959 INFO L290 TraceCheckUtils]: 70: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-08 13:03:38,959 INFO L290 TraceCheckUtils]: 69: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-08 13:03:38,959 INFO L272 TraceCheckUtils]: 68: Hoare triple {22062#(<= 4 ~counter~0)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {21855#true} is VALID [2022-04-08 13:03:38,959 INFO L290 TraceCheckUtils]: 67: Hoare triple {22062#(<= 4 ~counter~0)} assume !!(#t~post7 < 5);havoc #t~post7; {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,960 INFO L290 TraceCheckUtils]: 66: Hoare triple {22007#(<= 3 ~counter~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22062#(<= 4 ~counter~0)} is VALID [2022-04-08 13:03:38,960 INFO L290 TraceCheckUtils]: 65: Hoare triple {22007#(<= 3 ~counter~0)} assume !(~r~0 >= ~d~0); {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,960 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {21855#true} {22007#(<= 3 ~counter~0)} #86#return; {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,960 INFO L290 TraceCheckUtils]: 63: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-08 13:03:38,960 INFO L290 TraceCheckUtils]: 62: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-08 13:03:38,960 INFO L290 TraceCheckUtils]: 61: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-08 13:03:38,960 INFO L272 TraceCheckUtils]: 60: Hoare triple {22007#(<= 3 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21855#true} is VALID [2022-04-08 13:03:38,961 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {21855#true} {22007#(<= 3 ~counter~0)} #84#return; {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,961 INFO L290 TraceCheckUtils]: 58: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-08 13:03:38,961 INFO L290 TraceCheckUtils]: 57: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-08 13:03:38,961 INFO L290 TraceCheckUtils]: 56: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-08 13:03:38,961 INFO L272 TraceCheckUtils]: 55: Hoare triple {22007#(<= 3 ~counter~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21855#true} is VALID [2022-04-08 13:03:38,961 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {21855#true} {22007#(<= 3 ~counter~0)} #82#return; {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,962 INFO L290 TraceCheckUtils]: 53: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-08 13:03:38,962 INFO L290 TraceCheckUtils]: 52: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-08 13:03:38,962 INFO L290 TraceCheckUtils]: 51: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-08 13:03:38,962 INFO L272 TraceCheckUtils]: 50: Hoare triple {22007#(<= 3 ~counter~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21855#true} is VALID [2022-04-08 13:03:38,962 INFO L290 TraceCheckUtils]: 49: Hoare triple {22007#(<= 3 ~counter~0)} assume !!(#t~post6 < 5);havoc #t~post6; {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,962 INFO L290 TraceCheckUtils]: 48: Hoare triple {21952#(<= 2 ~counter~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22007#(<= 3 ~counter~0)} is VALID [2022-04-08 13:03:38,963 INFO L290 TraceCheckUtils]: 47: Hoare triple {21952#(<= 2 ~counter~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,963 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {21855#true} {21952#(<= 2 ~counter~0)} #86#return; {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,963 INFO L290 TraceCheckUtils]: 45: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-08 13:03:38,963 INFO L290 TraceCheckUtils]: 44: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-08 13:03:38,963 INFO L290 TraceCheckUtils]: 43: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-08 13:03:38,963 INFO L272 TraceCheckUtils]: 42: Hoare triple {21952#(<= 2 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21855#true} is VALID [2022-04-08 13:03:38,964 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21855#true} {21952#(<= 2 ~counter~0)} #84#return; {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,964 INFO L290 TraceCheckUtils]: 40: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-08 13:03:38,964 INFO L290 TraceCheckUtils]: 39: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-08 13:03:38,964 INFO L290 TraceCheckUtils]: 38: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-08 13:03:38,964 INFO L272 TraceCheckUtils]: 37: Hoare triple {21952#(<= 2 ~counter~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21855#true} is VALID [2022-04-08 13:03:38,964 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {21855#true} {21952#(<= 2 ~counter~0)} #82#return; {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,964 INFO L290 TraceCheckUtils]: 35: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-08 13:03:38,965 INFO L290 TraceCheckUtils]: 34: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-08 13:03:38,965 INFO L290 TraceCheckUtils]: 33: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-08 13:03:38,965 INFO L272 TraceCheckUtils]: 32: Hoare triple {21952#(<= 2 ~counter~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21855#true} is VALID [2022-04-08 13:03:38,965 INFO L290 TraceCheckUtils]: 31: Hoare triple {21952#(<= 2 ~counter~0)} assume !!(#t~post6 < 5);havoc #t~post6; {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,965 INFO L290 TraceCheckUtils]: 30: Hoare triple {21897#(<= 1 ~counter~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21952#(<= 2 ~counter~0)} is VALID [2022-04-08 13:03:38,966 INFO L290 TraceCheckUtils]: 29: Hoare triple {21897#(<= 1 ~counter~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,966 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {21855#true} {21897#(<= 1 ~counter~0)} #86#return; {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,966 INFO L290 TraceCheckUtils]: 27: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-08 13:03:38,966 INFO L290 TraceCheckUtils]: 26: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-08 13:03:38,966 INFO L290 TraceCheckUtils]: 25: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-08 13:03:38,966 INFO L272 TraceCheckUtils]: 24: Hoare triple {21897#(<= 1 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21855#true} is VALID [2022-04-08 13:03:38,967 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {21855#true} {21897#(<= 1 ~counter~0)} #84#return; {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,967 INFO L290 TraceCheckUtils]: 22: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-08 13:03:38,967 INFO L290 TraceCheckUtils]: 21: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-08 13:03:38,967 INFO L290 TraceCheckUtils]: 20: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-08 13:03:38,967 INFO L272 TraceCheckUtils]: 19: Hoare triple {21897#(<= 1 ~counter~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21855#true} is VALID [2022-04-08 13:03:38,967 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {21855#true} {21897#(<= 1 ~counter~0)} #82#return; {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,967 INFO L290 TraceCheckUtils]: 17: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-08 13:03:38,967 INFO L290 TraceCheckUtils]: 16: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-08 13:03:38,968 INFO L290 TraceCheckUtils]: 15: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-08 13:03:38,968 INFO L272 TraceCheckUtils]: 14: Hoare triple {21897#(<= 1 ~counter~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21855#true} is VALID [2022-04-08 13:03:38,968 INFO L290 TraceCheckUtils]: 13: Hoare triple {21897#(<= 1 ~counter~0)} assume !!(#t~post6 < 5);havoc #t~post6; {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,968 INFO L290 TraceCheckUtils]: 12: Hoare triple {21863#(<= 0 ~counter~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21897#(<= 1 ~counter~0)} is VALID [2022-04-08 13:03:38,969 INFO L290 TraceCheckUtils]: 11: Hoare triple {21863#(<= 0 ~counter~0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {21863#(<= 0 ~counter~0)} is VALID [2022-04-08 13:03:38,969 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21855#true} {21863#(<= 0 ~counter~0)} #80#return; {21863#(<= 0 ~counter~0)} is VALID [2022-04-08 13:03:38,969 INFO L290 TraceCheckUtils]: 9: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-08 13:03:38,969 INFO L290 TraceCheckUtils]: 8: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-08 13:03:38,969 INFO L290 TraceCheckUtils]: 7: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-08 13:03:38,969 INFO L272 TraceCheckUtils]: 6: Hoare triple {21863#(<= 0 ~counter~0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {21855#true} is VALID [2022-04-08 13:03:38,969 INFO L290 TraceCheckUtils]: 5: Hoare triple {21863#(<= 0 ~counter~0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {21863#(<= 0 ~counter~0)} is VALID [2022-04-08 13:03:38,970 INFO L272 TraceCheckUtils]: 4: Hoare triple {21863#(<= 0 ~counter~0)} call #t~ret8 := main(); {21863#(<= 0 ~counter~0)} is VALID [2022-04-08 13:03:38,970 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21863#(<= 0 ~counter~0)} {21855#true} #96#return; {21863#(<= 0 ~counter~0)} is VALID [2022-04-08 13:03:38,970 INFO L290 TraceCheckUtils]: 2: Hoare triple {21863#(<= 0 ~counter~0)} assume true; {21863#(<= 0 ~counter~0)} is VALID [2022-04-08 13:03:38,971 INFO L290 TraceCheckUtils]: 1: Hoare triple {21855#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {21863#(<= 0 ~counter~0)} is VALID [2022-04-08 13:03:38,971 INFO L272 TraceCheckUtils]: 0: Hoare triple {21855#true} call ULTIMATE.init(); {21855#true} is VALID [2022-04-08 13:03:38,971 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 54 proven. 2 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-08 13:03:38,971 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:03:38,971 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [540836853] [2022-04-08 13:03:38,971 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:03:38,972 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1892466682] [2022-04-08 13:03:38,972 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1892466682] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:03:38,972 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:03:38,972 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 9 [2022-04-08 13:03:38,972 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:03:38,972 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [966760319] [2022-04-08 13:03:38,972 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [966760319] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:03:38,972 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:03:38,972 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 13:03:38,972 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2016042467] [2022-04-08 13:03:38,972 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:03:38,973 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 100 [2022-04-08 13:03:38,973 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:03:38,973 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 13:03:39,044 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-08 13:03:39,044 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 13:03:39,044 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:03:39,044 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 13:03:39,044 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=42, Unknown=0, NotChecked=0, Total=72 [2022-04-08 13:03:39,045 INFO L87 Difference]: Start difference. First operand 205 states and 236 transitions. Second operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 13:03:39,839 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:03:39,839 INFO L93 Difference]: Finished difference Result 234 states and 268 transitions. [2022-04-08 13:03:39,839 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 13:03:39,839 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 100 [2022-04-08 13:03:39,839 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:03:39,840 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 13:03:39,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 122 transitions. [2022-04-08 13:03:39,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 13:03:39,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 122 transitions. [2022-04-08 13:03:39,843 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 122 transitions. [2022-04-08 13:03:39,986 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-08 13:03:39,989 INFO L225 Difference]: With dead ends: 234 [2022-04-08 13:03:39,989 INFO L226 Difference]: Without dead ends: 160 [2022-04-08 13:03:39,989 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 200 GetRequests, 191 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2022-04-08 13:03:39,990 INFO L913 BasicCegarLoop]: 92 mSDtfsCounter, 41 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 78 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 234 SdHoareTripleChecker+Invalid, 105 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 78 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 13:03:39,990 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 234 Invalid, 105 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 78 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 13:03:39,990 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-04-08 13:03:40,294 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 158. [2022-04-08 13:03:40,294 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:03:40,295 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand has 158 states, 106 states have (on average 1.0566037735849056) internal successors, (112), 109 states have internal predecessors, (112), 28 states have call successors, (28), 24 states have call predecessors, (28), 23 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 13:03:40,295 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand has 158 states, 106 states have (on average 1.0566037735849056) internal successors, (112), 109 states have internal predecessors, (112), 28 states have call successors, (28), 24 states have call predecessors, (28), 23 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 13:03:40,295 INFO L87 Difference]: Start difference. First operand 160 states. Second operand has 158 states, 106 states have (on average 1.0566037735849056) internal successors, (112), 109 states have internal predecessors, (112), 28 states have call successors, (28), 24 states have call predecessors, (28), 23 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 13:03:40,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:03:40,301 INFO L93 Difference]: Finished difference Result 160 states and 167 transitions. [2022-04-08 13:03:40,301 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 167 transitions. [2022-04-08 13:03:40,301 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:03:40,301 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:03:40,302 INFO L74 IsIncluded]: Start isIncluded. First operand has 158 states, 106 states have (on average 1.0566037735849056) internal successors, (112), 109 states have internal predecessors, (112), 28 states have call successors, (28), 24 states have call predecessors, (28), 23 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) Second operand 160 states. [2022-04-08 13:03:40,302 INFO L87 Difference]: Start difference. First operand has 158 states, 106 states have (on average 1.0566037735849056) internal successors, (112), 109 states have internal predecessors, (112), 28 states have call successors, (28), 24 states have call predecessors, (28), 23 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) Second operand 160 states. [2022-04-08 13:03:40,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:03:40,304 INFO L93 Difference]: Finished difference Result 160 states and 167 transitions. [2022-04-08 13:03:40,305 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 167 transitions. [2022-04-08 13:03:40,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:03:40,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:03:40,305 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:03:40,305 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:03:40,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 158 states, 106 states have (on average 1.0566037735849056) internal successors, (112), 109 states have internal predecessors, (112), 28 states have call successors, (28), 24 states have call predecessors, (28), 23 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 13:03:40,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 158 states to 158 states and 165 transitions. [2022-04-08 13:03:40,308 INFO L78 Accepts]: Start accepts. Automaton has 158 states and 165 transitions. Word has length 100 [2022-04-08 13:03:40,308 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:03:40,308 INFO L478 AbstractCegarLoop]: Abstraction has 158 states and 165 transitions. [2022-04-08 13:03:40,309 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 13:03:40,309 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 158 states and 165 transitions. [2022-04-08 13:03:40,674 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 165 edges. 165 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:03:40,675 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 165 transitions. [2022-04-08 13:03:40,675 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-08 13:03:40,675 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:03:40,675 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 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, 1, 1, 1, 1, 1, 1] [2022-04-08 13:03:40,699 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-08 13:03:40,876 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:03:40,876 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:03:40,876 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:03:40,876 INFO L85 PathProgramCache]: Analyzing trace with hash -123017305, now seen corresponding path program 1 times [2022-04-08 13:03:40,876 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:03:40,877 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [719822379] [2022-04-08 13:03:51,020 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:03:51,020 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:03:51,020 INFO L85 PathProgramCache]: Analyzing trace with hash -123017305, now seen corresponding path program 2 times [2022-04-08 13:03:51,021 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:03:51,021 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1078938868] [2022-04-08 13:03:51,021 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:03:51,021 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:03:51,033 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:03:51,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1928318981] [2022-04-08 13:03:51,033 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:03:51,033 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:03:51,033 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:03:51,040 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-08 13:03:51,067 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-08 13:03:51,114 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:03:51,114 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:03:51,115 INFO L263 TraceCheckSpWp]: Trace formula consists of 251 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 13:03:51,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:03:51,135 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:03:52,254 INFO L272 TraceCheckUtils]: 0: Hoare triple {23569#true} call ULTIMATE.init(); {23569#true} is VALID [2022-04-08 13:03:52,255 INFO L290 TraceCheckUtils]: 1: Hoare triple {23569#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {23569#true} is VALID [2022-04-08 13:03:52,255 INFO L290 TraceCheckUtils]: 2: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-08 13:03:52,255 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23569#true} {23569#true} #96#return; {23569#true} is VALID [2022-04-08 13:03:52,255 INFO L272 TraceCheckUtils]: 4: Hoare triple {23569#true} call #t~ret8 := main(); {23569#true} is VALID [2022-04-08 13:03:52,255 INFO L290 TraceCheckUtils]: 5: Hoare triple {23569#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {23569#true} is VALID [2022-04-08 13:03:52,255 INFO L272 TraceCheckUtils]: 6: Hoare triple {23569#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {23569#true} is VALID [2022-04-08 13:03:52,255 INFO L290 TraceCheckUtils]: 7: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-08 13:03:52,255 INFO L290 TraceCheckUtils]: 8: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-08 13:03:52,255 INFO L290 TraceCheckUtils]: 9: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-08 13:03:52,255 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23569#true} {23569#true} #80#return; {23569#true} is VALID [2022-04-08 13:03:52,255 INFO L290 TraceCheckUtils]: 11: Hoare triple {23569#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {23569#true} is VALID [2022-04-08 13:03:52,255 INFO L290 TraceCheckUtils]: 12: Hoare triple {23569#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23569#true} is VALID [2022-04-08 13:03:52,255 INFO L290 TraceCheckUtils]: 13: Hoare triple {23569#true} assume !!(#t~post6 < 5);havoc #t~post6; {23569#true} is VALID [2022-04-08 13:03:52,255 INFO L272 TraceCheckUtils]: 14: Hoare triple {23569#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23569#true} is VALID [2022-04-08 13:03:52,255 INFO L290 TraceCheckUtils]: 15: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-08 13:03:52,255 INFO L290 TraceCheckUtils]: 16: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-08 13:03:52,255 INFO L290 TraceCheckUtils]: 17: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-08 13:03:52,255 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {23569#true} {23569#true} #82#return; {23569#true} is VALID [2022-04-08 13:03:52,255 INFO L272 TraceCheckUtils]: 19: Hoare triple {23569#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23569#true} is VALID [2022-04-08 13:03:52,256 INFO L290 TraceCheckUtils]: 20: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-08 13:03:52,256 INFO L290 TraceCheckUtils]: 21: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-08 13:03:52,256 INFO L290 TraceCheckUtils]: 22: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-08 13:03:52,256 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23569#true} {23569#true} #84#return; {23569#true} is VALID [2022-04-08 13:03:52,256 INFO L272 TraceCheckUtils]: 24: Hoare triple {23569#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23569#true} is VALID [2022-04-08 13:03:52,256 INFO L290 TraceCheckUtils]: 25: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-08 13:03:52,256 INFO L290 TraceCheckUtils]: 26: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-08 13:03:52,256 INFO L290 TraceCheckUtils]: 27: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-08 13:03:52,256 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23569#true} {23569#true} #86#return; {23569#true} is VALID [2022-04-08 13:03:52,256 INFO L290 TraceCheckUtils]: 29: Hoare triple {23569#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {23569#true} is VALID [2022-04-08 13:03:52,256 INFO L290 TraceCheckUtils]: 30: Hoare triple {23569#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23569#true} is VALID [2022-04-08 13:03:52,256 INFO L290 TraceCheckUtils]: 31: Hoare triple {23569#true} assume !!(#t~post6 < 5);havoc #t~post6; {23569#true} is VALID [2022-04-08 13:03:52,256 INFO L272 TraceCheckUtils]: 32: Hoare triple {23569#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23569#true} is VALID [2022-04-08 13:03:52,256 INFO L290 TraceCheckUtils]: 33: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-08 13:03:52,256 INFO L290 TraceCheckUtils]: 34: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-08 13:03:52,256 INFO L290 TraceCheckUtils]: 35: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-08 13:03:52,256 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {23569#true} {23569#true} #82#return; {23569#true} is VALID [2022-04-08 13:03:52,256 INFO L272 TraceCheckUtils]: 37: Hoare triple {23569#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23569#true} is VALID [2022-04-08 13:03:52,256 INFO L290 TraceCheckUtils]: 38: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-08 13:03:52,257 INFO L290 TraceCheckUtils]: 39: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-08 13:03:52,257 INFO L290 TraceCheckUtils]: 40: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-08 13:03:52,257 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {23569#true} {23569#true} #84#return; {23569#true} is VALID [2022-04-08 13:03:52,257 INFO L272 TraceCheckUtils]: 42: Hoare triple {23569#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23569#true} is VALID [2022-04-08 13:03:52,257 INFO L290 TraceCheckUtils]: 43: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-08 13:03:52,257 INFO L290 TraceCheckUtils]: 44: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-08 13:03:52,257 INFO L290 TraceCheckUtils]: 45: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-08 13:03:52,257 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {23569#true} {23569#true} #86#return; {23569#true} is VALID [2022-04-08 13:03:52,258 INFO L290 TraceCheckUtils]: 47: Hoare triple {23569#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} is VALID [2022-04-08 13:03:52,258 INFO L290 TraceCheckUtils]: 48: Hoare triple {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} is VALID [2022-04-08 13:03:52,259 INFO L290 TraceCheckUtils]: 49: Hoare triple {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} assume !!(#t~post6 < 5);havoc #t~post6; {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} is VALID [2022-04-08 13:03:52,259 INFO L272 TraceCheckUtils]: 50: Hoare triple {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23569#true} is VALID [2022-04-08 13:03:52,259 INFO L290 TraceCheckUtils]: 51: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-08 13:03:52,259 INFO L290 TraceCheckUtils]: 52: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-08 13:03:52,259 INFO L290 TraceCheckUtils]: 53: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-08 13:03:52,259 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {23569#true} {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} #82#return; {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} is VALID [2022-04-08 13:03:52,260 INFO L272 TraceCheckUtils]: 55: Hoare triple {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23569#true} is VALID [2022-04-08 13:03:52,260 INFO L290 TraceCheckUtils]: 56: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-08 13:03:52,260 INFO L290 TraceCheckUtils]: 57: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-08 13:03:52,260 INFO L290 TraceCheckUtils]: 58: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-08 13:03:52,260 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {23569#true} {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} #84#return; {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} is VALID [2022-04-08 13:03:52,260 INFO L272 TraceCheckUtils]: 60: Hoare triple {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23569#true} is VALID [2022-04-08 13:03:52,260 INFO L290 TraceCheckUtils]: 61: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-08 13:03:52,260 INFO L290 TraceCheckUtils]: 62: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-08 13:03:52,260 INFO L290 TraceCheckUtils]: 63: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-08 13:03:52,261 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {23569#true} {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} #86#return; {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} is VALID [2022-04-08 13:03:52,261 INFO L290 TraceCheckUtils]: 65: Hoare triple {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} assume !(~r~0 >= ~d~0); {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 13:03:52,262 INFO L290 TraceCheckUtils]: 66: Hoare triple {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 13:03:52,262 INFO L290 TraceCheckUtils]: 67: Hoare triple {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post7 < 5);havoc #t~post7; {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 13:03:52,262 INFO L272 TraceCheckUtils]: 68: Hoare triple {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {23569#true} is VALID [2022-04-08 13:03:52,262 INFO L290 TraceCheckUtils]: 69: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-08 13:03:52,262 INFO L290 TraceCheckUtils]: 70: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-08 13:03:52,262 INFO L290 TraceCheckUtils]: 71: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-08 13:03:52,263 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {23569#true} {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #88#return; {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 13:03:52,263 INFO L272 TraceCheckUtils]: 73: Hoare triple {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23569#true} is VALID [2022-04-08 13:03:52,263 INFO L290 TraceCheckUtils]: 74: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-08 13:03:52,263 INFO L290 TraceCheckUtils]: 75: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-08 13:03:52,263 INFO L290 TraceCheckUtils]: 76: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-08 13:03:52,263 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {23569#true} {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #90#return; {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 13:03:52,265 INFO L290 TraceCheckUtils]: 78: Hoare triple {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~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); {23810#(and (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 13:03:52,266 INFO L290 TraceCheckUtils]: 79: Hoare triple {23810#(and (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {23570#false} is VALID [2022-04-08 13:03:52,266 INFO L290 TraceCheckUtils]: 80: Hoare triple {23570#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23570#false} is VALID [2022-04-08 13:03:52,266 INFO L290 TraceCheckUtils]: 81: Hoare triple {23570#false} assume !!(#t~post7 < 5);havoc #t~post7; {23570#false} is VALID [2022-04-08 13:03:52,266 INFO L272 TraceCheckUtils]: 82: Hoare triple {23570#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {23570#false} is VALID [2022-04-08 13:03:52,266 INFO L290 TraceCheckUtils]: 83: Hoare triple {23570#false} ~cond := #in~cond; {23570#false} is VALID [2022-04-08 13:03:52,266 INFO L290 TraceCheckUtils]: 84: Hoare triple {23570#false} assume !(0 == ~cond); {23570#false} is VALID [2022-04-08 13:03:52,266 INFO L290 TraceCheckUtils]: 85: Hoare triple {23570#false} assume true; {23570#false} is VALID [2022-04-08 13:03:52,266 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {23570#false} {23570#false} #88#return; {23570#false} is VALID [2022-04-08 13:03:52,266 INFO L272 TraceCheckUtils]: 87: Hoare triple {23570#false} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23570#false} is VALID [2022-04-08 13:03:52,266 INFO L290 TraceCheckUtils]: 88: Hoare triple {23570#false} ~cond := #in~cond; {23570#false} is VALID [2022-04-08 13:03:52,266 INFO L290 TraceCheckUtils]: 89: Hoare triple {23570#false} assume !(0 == ~cond); {23570#false} is VALID [2022-04-08 13:03:52,266 INFO L290 TraceCheckUtils]: 90: Hoare triple {23570#false} assume true; {23570#false} is VALID [2022-04-08 13:03:52,266 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {23570#false} {23570#false} #90#return; {23570#false} is VALID [2022-04-08 13:03:52,267 INFO L290 TraceCheckUtils]: 92: Hoare triple {23570#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); {23570#false} is VALID [2022-04-08 13:03:52,267 INFO L290 TraceCheckUtils]: 93: Hoare triple {23570#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {23570#false} is VALID [2022-04-08 13:03:52,267 INFO L290 TraceCheckUtils]: 94: Hoare triple {23570#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23570#false} is VALID [2022-04-08 13:03:52,267 INFO L290 TraceCheckUtils]: 95: Hoare triple {23570#false} assume !(#t~post7 < 5);havoc #t~post7; {23570#false} is VALID [2022-04-08 13:03:52,267 INFO L272 TraceCheckUtils]: 96: Hoare triple {23570#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {23570#false} is VALID [2022-04-08 13:03:52,267 INFO L290 TraceCheckUtils]: 97: Hoare triple {23570#false} ~cond := #in~cond; {23570#false} is VALID [2022-04-08 13:03:52,267 INFO L290 TraceCheckUtils]: 98: Hoare triple {23570#false} assume 0 == ~cond; {23570#false} is VALID [2022-04-08 13:03:52,267 INFO L290 TraceCheckUtils]: 99: Hoare triple {23570#false} assume !false; {23570#false} is VALID [2022-04-08 13:03:52,268 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 130 proven. 0 refuted. 0 times theorem prover too weak. 236 trivial. 0 not checked. [2022-04-08 13:03:52,268 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 13:03:52,268 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:03:52,268 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1078938868] [2022-04-08 13:03:52,268 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:03:52,268 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1928318981] [2022-04-08 13:03:52,268 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1928318981] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:03:52,268 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:03:52,268 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 13:03:52,269 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:03:52,269 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [719822379] [2022-04-08 13:03:52,269 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [719822379] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:03:52,269 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:03:52,269 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 13:03:52,269 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [931453387] [2022-04-08 13:03:52,269 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:03:52,270 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 100 [2022-04-08 13:03:52,270 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:03:52,270 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 13:03:52,346 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:03:52,347 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 13:03:52,347 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:03:52,347 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 13:03:52,347 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-04-08 13:03:52,347 INFO L87 Difference]: Start difference. First operand 158 states and 165 transitions. Second operand has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 13:03:53,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:03:53,080 INFO L93 Difference]: Finished difference Result 177 states and 184 transitions. [2022-04-08 13:03:53,080 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 13:03:53,081 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 100 [2022-04-08 13:03:53,081 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:03:53,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 13:03:53,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 77 transitions. [2022-04-08 13:03:53,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 13:03:53,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 77 transitions. [2022-04-08 13:03:53,083 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 77 transitions. [2022-04-08 13:03:53,190 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:03:53,192 INFO L225 Difference]: With dead ends: 177 [2022-04-08 13:03:53,192 INFO L226 Difference]: Without dead ends: 132 [2022-04-08 13:03:53,193 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 96 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-04-08 13:03:53,193 INFO L913 BasicCegarLoop]: 51 mSDtfsCounter, 7 mSDsluCounter, 61 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 13:03:53,193 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 112 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 13:03:53,194 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-08 13:03:53,487 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 127. [2022-04-08 13:03:53,487 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:03:53,488 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 127 states, 84 states have (on average 1.0476190476190477) internal successors, (88), 86 states have internal predecessors, (88), 23 states have call successors, (23), 20 states have call predecessors, (23), 19 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 13:03:53,488 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 127 states, 84 states have (on average 1.0476190476190477) internal successors, (88), 86 states have internal predecessors, (88), 23 states have call successors, (23), 20 states have call predecessors, (23), 19 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 13:03:53,488 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 127 states, 84 states have (on average 1.0476190476190477) internal successors, (88), 86 states have internal predecessors, (88), 23 states have call successors, (23), 20 states have call predecessors, (23), 19 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 13:03:53,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:03:53,490 INFO L93 Difference]: Finished difference Result 132 states and 138 transitions. [2022-04-08 13:03:53,490 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 138 transitions. [2022-04-08 13:03:53,490 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:03:53,490 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:03:53,490 INFO L74 IsIncluded]: Start isIncluded. First operand has 127 states, 84 states have (on average 1.0476190476190477) internal successors, (88), 86 states have internal predecessors, (88), 23 states have call successors, (23), 20 states have call predecessors, (23), 19 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Second operand 132 states. [2022-04-08 13:03:53,491 INFO L87 Difference]: Start difference. First operand has 127 states, 84 states have (on average 1.0476190476190477) internal successors, (88), 86 states have internal predecessors, (88), 23 states have call successors, (23), 20 states have call predecessors, (23), 19 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Second operand 132 states. [2022-04-08 13:03:53,493 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:03:53,493 INFO L93 Difference]: Finished difference Result 132 states and 138 transitions. [2022-04-08 13:03:53,493 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 138 transitions. [2022-04-08 13:03:53,494 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:03:53,494 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:03:53,494 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:03:53,494 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:03:53,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 127 states, 84 states have (on average 1.0476190476190477) internal successors, (88), 86 states have internal predecessors, (88), 23 states have call successors, (23), 20 states have call predecessors, (23), 19 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 13:03:53,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 132 transitions. [2022-04-08 13:03:53,497 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 132 transitions. Word has length 100 [2022-04-08 13:03:53,497 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:03:53,497 INFO L478 AbstractCegarLoop]: Abstraction has 127 states and 132 transitions. [2022-04-08 13:03:53,497 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 13:03:53,497 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 127 states and 132 transitions. [2022-04-08 13:03:53,837 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 132 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:03:53,837 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 132 transitions. [2022-04-08 13:03:53,838 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-08 13:03:53,838 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:03:53,838 INFO L499 BasicCegarLoop]: trace histogram [15, 14, 14, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:03:53,864 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Ended with exit code 0 [2022-04-08 13:03:54,039 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable22 [2022-04-08 13:03:54,039 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:03:54,039 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:03:54,039 INFO L85 PathProgramCache]: Analyzing trace with hash -392782949, now seen corresponding path program 7 times [2022-04-08 13:03:54,039 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:03:54,039 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [751375088] [2022-04-08 13:04:00,650 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:04:00,651 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:04:00,651 INFO L85 PathProgramCache]: Analyzing trace with hash -392782949, now seen corresponding path program 8 times [2022-04-08 13:04:00,651 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:04:00,651 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [634089806] [2022-04-08 13:04:00,651 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:04:00,651 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:04:00,662 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:04:00,662 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1342509615] [2022-04-08 13:04:00,662 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:04:00,662 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:04:00,663 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:04:00,664 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-08 13:04:00,672 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-08 13:04:00,734 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:04:00,735 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-04-08 13:04:00,735 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-08 13:04:00,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-08 13:04:00,796 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-08 13:04:00,797 INFO L130 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found a feasible trace [2022-04-08 13:04:00,797 INFO L618 BasicCegarLoop]: Counterexample is feasible [2022-04-08 13:04:00,799 INFO L788 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-08 13:04:00,825 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-08 13:04:01,023 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable23 [2022-04-08 13:04:01,025 INFO L719 BasicCegarLoop]: Path program histogram: [10, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] [2022-04-08 13:04:01,028 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-08 13:04:01,042 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-08 13:04:01,042 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2022-04-08 13:04:01,042 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-08 13:04:01,042 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-08 13:04:01,042 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2022-04-08 13:04:01,042 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2022-04-08 13:04:01,042 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2022-04-08 13:04:01,042 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-08 13:04:01,042 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-08 13:04:01,042 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-08 13:04:01,042 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-08 13:04:01,042 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-08 13:04:01,042 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-08 13:04:01,042 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2022-04-08 13:04:01,042 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: L12-2 has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: L28-1 has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: L15-2 has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: L35-3 has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: L35-3 has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: L53-2 has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: L53-2 has no Hoare annotation [2022-04-08 13:04:01,043 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L36-1 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L36-1 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L38 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L38 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L46-1 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L46-1 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L47 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L47 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L59 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L59 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L60 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L45-2 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L45-2 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L45 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L45 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L53 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L53 has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-08 13:04:01,044 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-08 13:04:01,045 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-08 13:04:01,045 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-08 13:04:01,045 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-08 13:04:01,046 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.04 01:04:01 BoogieIcfgContainer [2022-04-08 13:04:01,046 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-08 13:04:01,046 INFO L158 Benchmark]: Toolchain (without parser) took 654829.57ms. Allocated memory was 211.8MB in the beginning and 329.3MB in the end (delta: 117.4MB). Free memory was 158.2MB in the beginning and 197.0MB in the end (delta: -38.8MB). Peak memory consumption was 80.0MB. Max. memory is 8.0GB. [2022-04-08 13:04:01,047 INFO L158 Benchmark]: CDTParser took 0.13ms. Allocated memory is still 211.8MB. Free memory is still 174.8MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-08 13:04:01,047 INFO L158 Benchmark]: CACSL2BoogieTranslator took 218.15ms. Allocated memory was 211.8MB in the beginning and 273.7MB in the end (delta: 61.9MB). Free memory was 158.1MB in the beginning and 247.4MB in the end (delta: -89.3MB). Peak memory consumption was 11.9MB. Max. memory is 8.0GB. [2022-04-08 13:04:01,047 INFO L158 Benchmark]: Boogie Preprocessor took 39.80ms. Allocated memory is still 273.7MB. Free memory was 247.4MB in the beginning and 246.0MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-08 13:04:01,047 INFO L158 Benchmark]: RCFGBuilder took 280.40ms. Allocated memory is still 273.7MB. Free memory was 246.0MB in the beginning and 233.8MB in the end (delta: 12.2MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-08 13:04:01,047 INFO L158 Benchmark]: TraceAbstraction took 654266.95ms. Allocated memory was 273.7MB in the beginning and 329.3MB in the end (delta: 55.6MB). Free memory was 233.4MB in the beginning and 197.0MB in the end (delta: 36.4MB). Peak memory consumption was 93.3MB. Max. memory is 8.0GB. [2022-04-08 13:04:01,048 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.13ms. Allocated memory is still 211.8MB. Free memory is still 174.8MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 218.15ms. Allocated memory was 211.8MB in the beginning and 273.7MB in the end (delta: 61.9MB). Free memory was 158.1MB in the beginning and 247.4MB in the end (delta: -89.3MB). Peak memory consumption was 11.9MB. Max. memory is 8.0GB. * Boogie Preprocessor took 39.80ms. Allocated memory is still 273.7MB. Free memory was 247.4MB in the beginning and 246.0MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 280.40ms. Allocated memory is still 273.7MB. Free memory was 246.0MB in the beginning and 233.8MB in the end (delta: 12.2MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 654266.95ms. Allocated memory was 273.7MB in the beginning and 329.3MB in the end (delta: 55.6MB). Free memory was 233.4MB in the beginning and 197.0MB in the end (delta: 36.4MB). Peak memory consumption was 93.3MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 17]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L22] int counter = 0; [L24] unsigned int A, B; [L25] long long r, d, p, q; [L26] A = __VERIFIER_nondet_uint() [L27] B = __VERIFIER_nondet_uint() [L28] CALL assume_abort_if_not(B >= 1) [L12] COND FALSE !(!cond) [L28] RET assume_abort_if_not(B >= 1) [L30] r = A [L31] d = B [L32] p = 1 [L33] q = 0 [L35] EXPR counter++ [L35] COND TRUE counter++<5 [L36] CALL __VERIFIER_assert(q == 0) [L15] COND FALSE !(!(cond)) [L36] RET __VERIFIER_assert(q == 0) [L37] CALL __VERIFIER_assert(r == A) [L15] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(r == A) [L38] CALL __VERIFIER_assert(d == B * p) [L15] COND FALSE !(!(cond)) [L38] RET __VERIFIER_assert(d == B * p) [L39] COND FALSE !(!(r >= d)) [L41] d = 2 * d [L42] p = 2 * p [L35] EXPR counter++ [L35] COND TRUE counter++<5 [L36] CALL __VERIFIER_assert(q == 0) [L15] COND FALSE !(!(cond)) [L36] RET __VERIFIER_assert(q == 0) [L37] CALL __VERIFIER_assert(r == A) [L15] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(r == A) [L38] CALL __VERIFIER_assert(d == B * p) [L15] COND FALSE !(!(cond)) [L38] RET __VERIFIER_assert(d == B * p) [L39] COND FALSE !(!(r >= d)) [L41] d = 2 * d [L42] p = 2 * p [L35] EXPR counter++ [L35] COND TRUE counter++<5 [L36] CALL __VERIFIER_assert(q == 0) [L15] COND FALSE !(!(cond)) [L36] RET __VERIFIER_assert(q == 0) [L37] CALL __VERIFIER_assert(r == A) [L15] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(r == A) [L38] CALL __VERIFIER_assert(d == B * p) [L15] COND FALSE !(!(cond)) [L38] RET __VERIFIER_assert(d == B * p) [L39] COND FALSE !(!(r >= d)) [L41] d = 2 * d [L42] p = 2 * p [L35] EXPR counter++ [L35] COND TRUE counter++<5 [L36] CALL __VERIFIER_assert(q == 0) [L15] COND FALSE !(!(cond)) [L36] RET __VERIFIER_assert(q == 0) [L37] CALL __VERIFIER_assert(r == A) [L15] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(r == A) [L38] CALL __VERIFIER_assert(d == B * p) [L15] COND FALSE !(!(cond)) [L38] RET __VERIFIER_assert(d == B * p) [L39] COND TRUE !(r >= d) [L45] EXPR counter++ [L45] COND TRUE counter++<5 [L46] CALL __VERIFIER_assert(A == q*B + r) [L15] COND FALSE !(!(cond)) [L46] RET __VERIFIER_assert(A == q*B + r) [L47] CALL __VERIFIER_assert(d == B*p) [L15] COND FALSE !(!(cond)) [L47] RET __VERIFIER_assert(d == B*p) [L49] COND FALSE !(!(p != 1)) [L51] d = d / 2 [L52] p = p / 2 [L53] COND TRUE r >= d [L54] r = r - d [L55] q = q + p [L45] EXPR counter++ [L45] COND FALSE !(counter++<5) [L59] CALL __VERIFIER_assert(A == d*q + r) [L15] COND TRUE !(cond) [L17] reach_error() - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 40 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 654.2s, OverallIterations: 24, TraceHistogramMax: 15, PathProgramHistogramMax: 10, EmptinessCheckTime: 0.0s, AutomataDifference: 53.9s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 4 mSolverCounterUnknown, 514 SdHoareTripleChecker+Valid, 19.7s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 446 mSDsluCounter, 3941 SdHoareTripleChecker+Invalid, 19.6s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 5 IncrementalHoareTripleChecker+Unchecked, 2815 mSDsCounter, 303 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2591 IncrementalHoareTripleChecker+Invalid, 2903 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 303 mSolverCounterUnsat, 1126 mSDtfsCounter, 2591 mSolverCounterSat, 0.1s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 2541 GetRequests, 2316 SyntacticMatches, 21 SemanticMatches, 204 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 339 ImplicationChecksByTransitivity, 25.3s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=207occurred in iteration=20, InterpolantAutomatonStates: 177, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 3.1s AutomataMinimizationTime, 23 MinimizatonAttempts, 51 StatesRemovedByMinimization, 15 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2022-04-08 13:04:01,265 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...