/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_unwindbound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:56:20,254 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:56:20,256 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:56:20,300 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:56:20,301 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:56:20,302 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:56:20,303 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:56:20,304 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:56:20,306 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:56:20,319 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:56:20,320 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:56:20,321 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:56:20,321 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:56:20,322 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:56:20,322 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:56:20,323 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:56:20,324 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:56:20,325 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:56:20,326 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:56:20,327 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:56:20,328 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:56:20,329 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:56:20,330 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:56:20,331 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:56:20,331 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:56:20,333 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:56:20,334 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:56:20,334 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:56:20,335 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:56:20,335 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:56:20,336 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:56:20,336 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:56:20,336 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:56:20,337 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:56:20,338 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:56:20,338 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:56:20,339 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:56:20,339 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:56:20,339 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:56:20,339 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:56:20,340 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:56:20,341 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:56:20,341 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 12:56:20,348 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:56:20,348 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:56:20,349 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:56:20,349 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:56:20,349 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:56:20,350 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:56:20,350 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:56:20,350 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:56:20,350 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:56:20,351 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:56:20,351 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:56:20,351 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:56:20,351 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:56:20,351 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:56:20,352 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:56:20,352 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:56:20,352 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:56:20,352 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:56:20,352 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:56:20,353 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:56:20,353 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:56:20,353 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:56:20,353 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 12:56:20,552 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:56:20,571 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:56:20,573 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:56:20,574 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:56:20,575 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:56:20,576 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound50.c [2022-04-28 12:56:20,625 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b37ec4f9f/6707c21819fe4b6daf980ed9de9fe694/FLAG6859cac4b [2022-04-28 12:56:20,946 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:56:20,946 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound50.c [2022-04-28 12:56:20,951 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b37ec4f9f/6707c21819fe4b6daf980ed9de9fe694/FLAG6859cac4b [2022-04-28 12:56:20,960 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b37ec4f9f/6707c21819fe4b6daf980ed9de9fe694 [2022-04-28 12:56:20,961 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:56:20,962 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:56:20,964 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:56:20,964 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:56:20,966 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:56:20,967 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:56:20" (1/1) ... [2022-04-28 12:56:20,968 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@588cf5de and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:20, skipping insertion in model container [2022-04-28 12:56:20,968 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:56:20" (1/1) ... [2022-04-28 12:56:20,975 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:56:20,988 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:56:21,121 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_unwindbound50.c[538,551] [2022-04-28 12:56:21,147 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:56:21,153 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:56:21,163 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_unwindbound50.c[538,551] [2022-04-28 12:56:21,169 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:56:21,179 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:56:21,180 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:21 WrapperNode [2022-04-28 12:56:21,180 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:56:21,181 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:56:21,181 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:56:21,181 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:56:21,190 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:21" (1/1) ... [2022-04-28 12:56:21,190 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:21" (1/1) ... [2022-04-28 12:56:21,195 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:21" (1/1) ... [2022-04-28 12:56:21,195 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:21" (1/1) ... [2022-04-28 12:56:21,205 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:21" (1/1) ... [2022-04-28 12:56:21,209 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:21" (1/1) ... [2022-04-28 12:56:21,211 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:21" (1/1) ... [2022-04-28 12:56:21,212 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:56:21,213 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:56:21,213 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:56:21,213 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:56:21,213 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:21" (1/1) ... [2022-04-28 12:56:21,227 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:56:21,240 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:21,255 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 12:56:21,256 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 12:56:21,280 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:56:21,281 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:56:21,281 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:56:21,281 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:56:21,281 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:56:21,281 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:56:21,281 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:56:21,282 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:56:21,282 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:56:21,282 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:56:21,282 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-28 12:56:21,282 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:56:21,282 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:56:21,282 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:56:21,282 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:56:21,283 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:56:21,283 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:56:21,283 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:56:21,283 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:56:21,283 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:56:21,327 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:56:21,328 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:56:21,479 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:56:21,487 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:56:21,488 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 12:56:21,505 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:56:21 BoogieIcfgContainer [2022-04-28 12:56:21,505 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:56:21,506 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:56:21,506 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:56:21,513 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:56:21,513 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:56:20" (1/3) ... [2022-04-28 12:56:21,514 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5616cd1b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:56:21, skipping insertion in model container [2022-04-28 12:56:21,514 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:21" (2/3) ... [2022-04-28 12:56:21,514 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5616cd1b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:56:21, skipping insertion in model container [2022-04-28 12:56:21,514 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:56:21" (3/3) ... [2022-04-28 12:56:21,515 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_unwindbound50.c [2022-04-28 12:56:21,533 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:56:21,534 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:56:21,568 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:56:21,573 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@5cd73f84, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@da9ae80 [2022-04-28 12:56:21,574 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:56:21,581 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-28 12:56:21,586 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-28 12:56:21,586 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:21,586 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:21,587 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:21,590 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:21,590 INFO L85 PathProgramCache]: Analyzing trace with hash 1191571617, now seen corresponding path program 1 times [2022-04-28 12:56:21,595 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:21,596 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1065902568] [2022-04-28 12:56:21,603 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:21,603 INFO L85 PathProgramCache]: Analyzing trace with hash 1191571617, now seen corresponding path program 2 times [2022-04-28 12:56:21,605 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:21,605 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [51458559] [2022-04-28 12:56:21,606 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:21,606 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:21,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:21,742 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:56:21,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:21,772 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-28 12:56:21,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 12:56:21,772 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-28 12:56:21,773 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:56:21,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:21,785 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:56:21,786 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:56:21,786 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:56:21,787 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #80#return; {41#false} is VALID [2022-04-28 12:56:21,788 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-28 12:56:21,788 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-28 12:56:21,788 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 12:56:21,788 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-28 12:56:21,788 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret8 := main(); {40#true} is VALID [2022-04-28 12:56:21,789 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-28 12:56:21,790 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-28 12:56:21,790 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:56:21,792 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:56:21,792 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:56:21,792 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #80#return; {41#false} is VALID [2022-04-28 12:56:21,793 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-28 12:56:21,793 INFO L290 TraceCheckUtils]: 12: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-28 12:56:21,794 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-28 12:56:21,794 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-28 12:56:21,795 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-28 12:56:21,795 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-28 12:56:21,795 INFO L290 TraceCheckUtils]: 17: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-28 12:56:21,795 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 12:56:21,796 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:21,796 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [51458559] [2022-04-28 12:56:21,797 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [51458559] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:21,797 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:21,797 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:56:21,799 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:21,800 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1065902568] [2022-04-28 12:56:21,800 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1065902568] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:21,800 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:21,800 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:56:21,800 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1732195498] [2022-04-28 12:56:21,801 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:21,806 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-28 12:56:21,807 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:21,809 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-28 12:56:21,850 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-28 12:56:21,850 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 12:56:21,850 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:21,872 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 12:56:21,873 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:56:21,876 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-28 12:56:22,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:22,100 INFO L93 Difference]: Finished difference Result 66 states and 101 transitions. [2022-04-28 12:56:22,100 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 12:56:22,100 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-28 12:56:22,100 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:22,101 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-28 12:56:22,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 101 transitions. [2022-04-28 12:56:22,115 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-28 12:56:22,125 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 101 transitions. [2022-04-28 12:56:22,125 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 101 transitions. [2022-04-28 12:56:22,235 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:22,245 INFO L225 Difference]: With dead ends: 66 [2022-04-28 12:56:22,246 INFO L226 Difference]: Without dead ends: 33 [2022-04-28 12:56:22,258 INFO L412 NwaCegarLoop]: 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-28 12:56:22,261 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s 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-28 12:56:22,261 INFO L414 NwaCegarLoop]: 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-28 12:56:22,274 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-28 12:56:22,287 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2022-04-28 12:56:22,288 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:22,288 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-28 12:56:22,289 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-28 12:56:22,290 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-28 12:56:22,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:22,294 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-28 12:56:22,294 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 12:56:22,294 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:22,295 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:22,295 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-28 12:56:22,296 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-28 12:56:22,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:22,299 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-28 12:56:22,299 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 12:56:22,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:22,300 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:22,300 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:22,300 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:22,301 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-28 12:56:22,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-28 12:56:22,304 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 18 [2022-04-28 12:56:22,304 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:22,305 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-28 12:56:22,305 INFO L496 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-28 12:56:22,305 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 42 transitions. [2022-04-28 12:56:22,347 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:22,347 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-28 12:56:22,348 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-28 12:56:22,348 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:22,348 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:22,348 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 12:56:22,349 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:22,349 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:22,349 INFO L85 PathProgramCache]: Analyzing trace with hash 336486197, now seen corresponding path program 1 times [2022-04-28 12:56:22,350 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:22,350 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [817379797] [2022-04-28 12:56:22,350 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:22,351 INFO L85 PathProgramCache]: Analyzing trace with hash 336486197, now seen corresponding path program 2 times [2022-04-28 12:56:22,351 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:22,351 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [130747613] [2022-04-28 12:56:22,351 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:22,351 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:22,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:22,454 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:56:22,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:22,466 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-28 12:56:22,467 INFO L290 TraceCheckUtils]: 1: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-28 12:56:22,467 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {314#true} {314#true} #96#return; {314#true} is VALID [2022-04-28 12:56:22,468 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:56:22,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:22,482 INFO L290 TraceCheckUtils]: 0: Hoare triple {314#true} ~cond := #in~cond; {314#true} is VALID [2022-04-28 12:56:22,483 INFO L290 TraceCheckUtils]: 1: Hoare triple {314#true} assume !(0 == ~cond); {314#true} is VALID [2022-04-28 12:56:22,483 INFO L290 TraceCheckUtils]: 2: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-28 12:56:22,483 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {314#true} {314#true} #80#return; {314#true} is VALID [2022-04-28 12:56:22,484 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-28 12:56:22,484 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-28 12:56:22,484 INFO L290 TraceCheckUtils]: 2: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-28 12:56:22,484 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {314#true} {314#true} #96#return; {314#true} is VALID [2022-04-28 12:56:22,485 INFO L272 TraceCheckUtils]: 4: Hoare triple {314#true} call #t~ret8 := main(); {314#true} is VALID [2022-04-28 12:56:22,485 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-28 12:56:22,485 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-28 12:56:22,485 INFO L290 TraceCheckUtils]: 7: Hoare triple {314#true} ~cond := #in~cond; {314#true} is VALID [2022-04-28 12:56:22,485 INFO L290 TraceCheckUtils]: 8: Hoare triple {314#true} assume !(0 == ~cond); {314#true} is VALID [2022-04-28 12:56:22,486 INFO L290 TraceCheckUtils]: 9: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-28 12:56:22,486 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {314#true} {314#true} #80#return; {314#true} is VALID [2022-04-28 12:56:22,487 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-28 12:56:22,487 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-28 12:56:22,488 INFO L290 TraceCheckUtils]: 13: Hoare triple {323#(= main_~q~0 0)} assume !!(#t~post6 < 50);havoc #t~post6; {323#(= main_~q~0 0)} is VALID [2022-04-28 12:56:22,489 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-28 12:56:22,489 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-28 12:56:22,493 INFO L290 TraceCheckUtils]: 16: Hoare triple {325#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {315#false} is VALID [2022-04-28 12:56:22,493 INFO L290 TraceCheckUtils]: 17: Hoare triple {315#false} assume !false; {315#false} is VALID [2022-04-28 12:56:22,494 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 12:56:22,494 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:22,494 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [130747613] [2022-04-28 12:56:22,494 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [130747613] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:22,494 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:22,494 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:56:22,494 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:22,495 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [817379797] [2022-04-28 12:56:22,495 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [817379797] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:22,495 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:22,495 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:56:22,495 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1362558751] [2022-04-28 12:56:22,495 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:22,496 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-28 12:56:22,496 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:22,496 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-28 12:56:22,521 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-28 12:56:22,521 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:56:22,521 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:22,522 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:56:22,522 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:56:22,522 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-28 12:56:22,916 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:22,916 INFO L93 Difference]: Finished difference Result 47 states and 62 transitions. [2022-04-28 12:56:22,916 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:56:22,917 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-28 12:56:22,917 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:22,917 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-28 12:56:22,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 12:56:22,920 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-28 12:56:22,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 12:56:22,922 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-28 12:56:22,980 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-28 12:56:22,983 INFO L225 Difference]: With dead ends: 47 [2022-04-28 12:56:22,983 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 12:56:22,983 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:56:22,984 INFO L413 NwaCegarLoop]: 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-28 12:56:22,985 INFO L414 NwaCegarLoop]: 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-28 12:56:22,986 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 12:56:22,992 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 36. [2022-04-28 12:56:22,992 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:22,992 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-28 12:56:22,993 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-28 12:56:22,993 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-28 12:56:22,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:22,996 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-28 12:56:22,996 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 60 transitions. [2022-04-28 12:56:22,997 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:22,997 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:22,998 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-28 12:56:22,998 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-28 12:56:23,001 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:23,001 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-28 12:56:23,001 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 60 transitions. [2022-04-28 12:56:23,002 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:23,002 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:23,003 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:23,003 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:23,003 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-28 12:56:23,005 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 45 transitions. [2022-04-28 12:56:23,005 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 45 transitions. Word has length 18 [2022-04-28 12:56:23,006 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:23,006 INFO L495 AbstractCegarLoop]: Abstraction has 36 states and 45 transitions. [2022-04-28 12:56:23,006 INFO L496 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-28 12:56:23,006 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 45 transitions. [2022-04-28 12:56:23,047 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:23,048 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 45 transitions. [2022-04-28 12:56:23,048 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-04-28 12:56:23,048 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:23,049 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:23,049 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 12:56:23,049 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:23,050 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:23,055 INFO L85 PathProgramCache]: Analyzing trace with hash -1819267188, now seen corresponding path program 1 times [2022-04-28 12:56:23,055 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:23,055 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1354802268] [2022-04-28 12:56:23,056 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:23,056 INFO L85 PathProgramCache]: Analyzing trace with hash -1819267188, now seen corresponding path program 2 times [2022-04-28 12:56:23,056 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:23,057 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [891926984] [2022-04-28 12:56:23,057 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:23,057 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:23,074 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:56:23,075 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2042266324] [2022-04-28 12:56:23,075 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:56:23,075 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:23,075 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:23,077 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:56:23,085 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 12:56:23,127 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:56:23,128 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:56:23,129 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 12:56:23,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:23,142 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:56:23,312 INFO L272 TraceCheckUtils]: 0: Hoare triple {593#true} call ULTIMATE.init(); {593#true} is VALID [2022-04-28 12:56:23,313 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-28 12:56:23,313 INFO L290 TraceCheckUtils]: 2: Hoare triple {601#(<= ~counter~0 0)} assume true; {601#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:23,314 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {601#(<= ~counter~0 0)} {593#true} #96#return; {601#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:23,314 INFO L272 TraceCheckUtils]: 4: Hoare triple {601#(<= ~counter~0 0)} call #t~ret8 := main(); {601#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:23,315 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-28 12:56:23,315 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-28 12:56:23,316 INFO L290 TraceCheckUtils]: 7: Hoare triple {601#(<= ~counter~0 0)} ~cond := #in~cond; {601#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:23,316 INFO L290 TraceCheckUtils]: 8: Hoare triple {601#(<= ~counter~0 0)} assume !(0 == ~cond); {601#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:23,317 INFO L290 TraceCheckUtils]: 9: Hoare triple {601#(<= ~counter~0 0)} assume true; {601#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:23,317 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {601#(<= ~counter~0 0)} {601#(<= ~counter~0 0)} #80#return; {601#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:23,318 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-28 12:56:23,318 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-28 12:56:23,319 INFO L290 TraceCheckUtils]: 13: Hoare triple {635#(<= |main_#t~post6| 0)} assume !(#t~post6 < 50);havoc #t~post6; {594#false} is VALID [2022-04-28 12:56:23,319 INFO L290 TraceCheckUtils]: 14: Hoare triple {594#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {594#false} is VALID [2022-04-28 12:56:23,319 INFO L290 TraceCheckUtils]: 15: Hoare triple {594#false} assume !(#t~post7 < 50);havoc #t~post7; {594#false} is VALID [2022-04-28 12:56:23,319 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-28 12:56:23,319 INFO L290 TraceCheckUtils]: 17: Hoare triple {594#false} ~cond := #in~cond; {594#false} is VALID [2022-04-28 12:56:23,320 INFO L290 TraceCheckUtils]: 18: Hoare triple {594#false} assume 0 == ~cond; {594#false} is VALID [2022-04-28 12:56:23,320 INFO L290 TraceCheckUtils]: 19: Hoare triple {594#false} assume !false; {594#false} is VALID [2022-04-28 12:56:23,320 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 12:56:23,320 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:56:23,320 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:23,321 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [891926984] [2022-04-28 12:56:23,321 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:56:23,321 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2042266324] [2022-04-28 12:56:23,321 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2042266324] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:23,321 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:23,321 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:56:23,322 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:23,322 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1354802268] [2022-04-28 12:56:23,322 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1354802268] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:23,322 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:23,322 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:56:23,322 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [544977173] [2022-04-28 12:56:23,322 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:23,323 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-28 12:56:23,323 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:23,323 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-28 12:56:23,339 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-28 12:56:23,339 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 12:56:23,339 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:23,340 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 12:56:23,340 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 12:56:23,340 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-28 12:56:23,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:23,432 INFO L93 Difference]: Finished difference Result 52 states and 67 transitions. [2022-04-28 12:56:23,432 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 12:56:23,432 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-28 12:56:23,433 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:23,433 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-28 12:56:23,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2022-04-28 12:56:23,435 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-28 12:56:23,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2022-04-28 12:56:23,437 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 64 transitions. [2022-04-28 12:56:23,490 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:23,491 INFO L225 Difference]: With dead ends: 52 [2022-04-28 12:56:23,492 INFO L226 Difference]: Without dead ends: 38 [2022-04-28 12:56:23,492 INFO L412 NwaCegarLoop]: 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-28 12:56:23,493 INFO L413 NwaCegarLoop]: 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-28 12:56:23,494 INFO L414 NwaCegarLoop]: 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-28 12:56:23,494 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-28 12:56:23,506 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 38. [2022-04-28 12:56:23,507 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:23,507 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-28 12:56:23,508 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-28 12:56:23,508 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-28 12:56:23,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:23,510 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2022-04-28 12:56:23,510 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-28 12:56:23,511 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:23,511 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:23,511 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-28 12:56:23,512 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-28 12:56:23,514 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:23,514 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2022-04-28 12:56:23,514 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-28 12:56:23,515 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:23,515 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:23,515 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:23,515 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:23,515 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-28 12:56:23,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 47 transitions. [2022-04-28 12:56:23,517 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 47 transitions. Word has length 20 [2022-04-28 12:56:23,517 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:23,518 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 47 transitions. [2022-04-28 12:56:23,518 INFO L496 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-28 12:56:23,518 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 47 transitions. [2022-04-28 12:56:23,561 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:23,562 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-28 12:56:23,562 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 12:56:23,562 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:23,562 INFO L195 NwaCegarLoop]: 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-28 12:56:23,589 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 12:56:23,783 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:23,784 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:23,784 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:23,784 INFO L85 PathProgramCache]: Analyzing trace with hash -784889968, now seen corresponding path program 1 times [2022-04-28 12:56:23,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:23,785 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [806251103] [2022-04-28 12:56:23,785 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:23,785 INFO L85 PathProgramCache]: Analyzing trace with hash -784889968, now seen corresponding path program 2 times [2022-04-28 12:56:23,785 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:23,786 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1950717143] [2022-04-28 12:56:23,786 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:23,786 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:23,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:23,888 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:56:23,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:23,909 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-28 12:56:23,910 INFO L290 TraceCheckUtils]: 1: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 12:56:23,910 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {912#true} {912#true} #96#return; {912#true} is VALID [2022-04-28 12:56:23,910 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:56:23,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:23,919 INFO L290 TraceCheckUtils]: 0: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-28 12:56:23,919 INFO L290 TraceCheckUtils]: 1: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-28 12:56:23,919 INFO L290 TraceCheckUtils]: 2: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 12:56:23,919 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {912#true} {912#true} #80#return; {912#true} is VALID [2022-04-28 12:56:23,920 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-04-28 12:56:23,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:23,926 INFO L290 TraceCheckUtils]: 0: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-28 12:56:23,927 INFO L290 TraceCheckUtils]: 1: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-28 12:56:23,927 INFO L290 TraceCheckUtils]: 2: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 12:56:23,927 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-28 12:56:23,928 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-28 12:56:23,928 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-28 12:56:23,929 INFO L290 TraceCheckUtils]: 2: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 12:56:23,929 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {912#true} {912#true} #96#return; {912#true} is VALID [2022-04-28 12:56:23,929 INFO L272 TraceCheckUtils]: 4: Hoare triple {912#true} call #t~ret8 := main(); {912#true} is VALID [2022-04-28 12:56:23,929 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-28 12:56:23,930 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-28 12:56:23,930 INFO L290 TraceCheckUtils]: 7: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-28 12:56:23,930 INFO L290 TraceCheckUtils]: 8: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-28 12:56:23,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 12:56:23,930 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {912#true} {912#true} #80#return; {912#true} is VALID [2022-04-28 12:56:23,932 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-28 12:56:23,932 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-28 12:56:23,933 INFO L290 TraceCheckUtils]: 13: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !!(#t~post6 < 50);havoc #t~post6; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 12:56:23,933 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-28 12:56:23,933 INFO L290 TraceCheckUtils]: 15: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-28 12:56:23,933 INFO L290 TraceCheckUtils]: 16: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-28 12:56:23,934 INFO L290 TraceCheckUtils]: 17: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 12:56:23,934 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-28 12:56:23,935 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-28 12:56:23,936 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-28 12:56:23,938 INFO L290 TraceCheckUtils]: 21: Hoare triple {927#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {913#false} is VALID [2022-04-28 12:56:23,938 INFO L290 TraceCheckUtils]: 22: Hoare triple {913#false} assume !false; {913#false} is VALID [2022-04-28 12:56:23,939 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 12:56:23,939 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:23,939 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1950717143] [2022-04-28 12:56:23,939 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1950717143] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:23,940 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:23,940 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:56:23,940 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:23,940 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [806251103] [2022-04-28 12:56:23,940 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [806251103] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:23,940 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:23,940 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:56:23,941 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1338227612] [2022-04-28 12:56:23,941 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:23,941 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-28 12:56:23,941 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:23,942 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-28 12:56:23,961 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-28 12:56:23,961 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:56:23,962 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:23,962 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:56:23,963 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:56:23,963 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-28 12:56:24,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:24,349 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-28 12:56:24,349 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:56:24,349 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-28 12:56:24,350 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:24,350 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-28 12:56:24,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 12:56:24,352 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-28 12:56:24,354 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 12:56:24,354 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-28 12:56:24,425 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-28 12:56:24,426 INFO L225 Difference]: With dead ends: 52 [2022-04-28 12:56:24,427 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 12:56:24,427 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:56:24,428 INFO L413 NwaCegarLoop]: 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-28 12:56:24,428 INFO L414 NwaCegarLoop]: 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-28 12:56:24,429 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 12:56:24,456 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 42. [2022-04-28 12:56:24,457 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:24,457 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-28 12:56:24,457 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-28 12:56:24,458 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-28 12:56:24,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:24,460 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-28 12:56:24,460 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-28 12:56:24,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:24,461 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:24,461 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-28 12:56:24,462 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-28 12:56:24,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:24,464 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-28 12:56:24,464 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-28 12:56:24,465 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:24,465 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:24,465 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:24,465 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:24,465 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-28 12:56:24,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 50 transitions. [2022-04-28 12:56:24,467 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 50 transitions. Word has length 23 [2022-04-28 12:56:24,467 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:24,467 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 50 transitions. [2022-04-28 12:56:24,468 INFO L496 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-28 12:56:24,468 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 50 transitions. [2022-04-28 12:56:24,529 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-28 12:56:24,530 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 50 transitions. [2022-04-28 12:56:24,530 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 12:56:24,530 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:24,530 INFO L195 NwaCegarLoop]: 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-28 12:56:24,531 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-28 12:56:24,531 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:24,531 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:24,531 INFO L85 PathProgramCache]: Analyzing trace with hash -1024624683, now seen corresponding path program 1 times [2022-04-28 12:56:24,531 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:24,531 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [786417411] [2022-04-28 12:56:24,532 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:24,532 INFO L85 PathProgramCache]: Analyzing trace with hash -1024624683, now seen corresponding path program 2 times [2022-04-28 12:56:24,532 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:24,532 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [37416501] [2022-04-28 12:56:24,532 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:24,532 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:24,544 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:56:24,544 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1588069933] [2022-04-28 12:56:24,544 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:56:24,545 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:24,545 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:24,552 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:56:24,557 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 12:56:24,596 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:56:24,596 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:56:24,597 INFO L263 TraceCheckSpWp]: Trace formula consists of 100 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:56:24,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:24,606 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:56:24,759 INFO L272 TraceCheckUtils]: 0: Hoare triple {1227#true} call ULTIMATE.init(); {1227#true} is VALID [2022-04-28 12:56:24,760 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-28 12:56:24,760 INFO L290 TraceCheckUtils]: 2: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-28 12:56:24,760 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1227#true} {1227#true} #96#return; {1227#true} is VALID [2022-04-28 12:56:24,760 INFO L272 TraceCheckUtils]: 4: Hoare triple {1227#true} call #t~ret8 := main(); {1227#true} is VALID [2022-04-28 12:56:24,760 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-28 12:56:24,760 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-28 12:56:24,761 INFO L290 TraceCheckUtils]: 7: Hoare triple {1227#true} ~cond := #in~cond; {1227#true} is VALID [2022-04-28 12:56:24,761 INFO L290 TraceCheckUtils]: 8: Hoare triple {1227#true} assume !(0 == ~cond); {1227#true} is VALID [2022-04-28 12:56:24,761 INFO L290 TraceCheckUtils]: 9: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-28 12:56:24,761 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1227#true} {1227#true} #80#return; {1227#true} is VALID [2022-04-28 12:56:24,762 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-28 12:56:24,763 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-28 12:56:24,771 INFO L290 TraceCheckUtils]: 13: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:56:24,771 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-28 12:56:24,772 INFO L290 TraceCheckUtils]: 15: Hoare triple {1227#true} ~cond := #in~cond; {1227#true} is VALID [2022-04-28 12:56:24,772 INFO L290 TraceCheckUtils]: 16: Hoare triple {1227#true} assume !(0 == ~cond); {1227#true} is VALID [2022-04-28 12:56:24,772 INFO L290 TraceCheckUtils]: 17: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-28 12:56:24,773 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-28 12:56:24,773 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-28 12:56:24,773 INFO L290 TraceCheckUtils]: 20: Hoare triple {1227#true} ~cond := #in~cond; {1227#true} is VALID [2022-04-28 12:56:24,773 INFO L290 TraceCheckUtils]: 21: Hoare triple {1227#true} assume !(0 == ~cond); {1227#true} is VALID [2022-04-28 12:56:24,773 INFO L290 TraceCheckUtils]: 22: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-28 12:56:24,774 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-28 12:56:24,775 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-28 12:56:24,776 INFO L290 TraceCheckUtils]: 25: Hoare triple {1305#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1309#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:24,776 INFO L290 TraceCheckUtils]: 26: Hoare triple {1309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1228#false} is VALID [2022-04-28 12:56:24,776 INFO L290 TraceCheckUtils]: 27: Hoare triple {1228#false} assume !false; {1228#false} is VALID [2022-04-28 12:56:24,776 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:56:24,777 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:56:24,777 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:24,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [37416501] [2022-04-28 12:56:24,777 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:56:24,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1588069933] [2022-04-28 12:56:24,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1588069933] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:24,777 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:24,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:56:24,778 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:24,778 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [786417411] [2022-04-28 12:56:24,778 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [786417411] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:24,778 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:24,778 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:56:24,778 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1587138617] [2022-04-28 12:56:24,778 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:24,779 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-28 12:56:24,779 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:24,779 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-28 12:56:24,800 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-28 12:56:24,800 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:56:24,801 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:24,801 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:56:24,801 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:56:24,801 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-28 12:56:25,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:25,033 INFO L93 Difference]: Finished difference Result 71 states and 93 transitions. [2022-04-28 12:56:25,033 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:56:25,033 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-28 12:56:25,033 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:25,033 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-28 12:56:25,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 87 transitions. [2022-04-28 12:56:25,036 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-28 12:56:25,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 87 transitions. [2022-04-28 12:56:25,038 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 87 transitions. [2022-04-28 12:56:25,125 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:25,127 INFO L225 Difference]: With dead ends: 71 [2022-04-28 12:56:25,127 INFO L226 Difference]: Without dead ends: 56 [2022-04-28 12:56:25,128 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:56:25,128 INFO L413 NwaCegarLoop]: 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-28 12:56:25,129 INFO L414 NwaCegarLoop]: 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-28 12:56:25,129 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-28 12:56:25,150 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2022-04-28 12:56:25,150 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:25,150 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-28 12:56:25,151 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-28 12:56:25,151 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-28 12:56:25,154 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:25,154 INFO L93 Difference]: Finished difference Result 56 states and 70 transitions. [2022-04-28 12:56:25,154 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-28 12:56:25,155 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:25,155 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:25,155 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-28 12:56:25,156 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-28 12:56:25,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:25,158 INFO L93 Difference]: Finished difference Result 56 states and 70 transitions. [2022-04-28 12:56:25,159 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-28 12:56:25,159 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:25,159 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:25,159 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:25,159 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:25,160 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-28 12:56:25,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 70 transitions. [2022-04-28 12:56:25,162 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 70 transitions. Word has length 28 [2022-04-28 12:56:25,162 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:25,163 INFO L495 AbstractCegarLoop]: Abstraction has 56 states and 70 transitions. [2022-04-28 12:56:25,163 INFO L496 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-28 12:56:25,163 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 70 transitions. [2022-04-28 12:56:25,236 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:25,236 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-28 12:56:25,237 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-28 12:56:25,237 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:25,237 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:25,263 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 12:56:25,438 WARN L477 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-28 12:56:25,438 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:25,438 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:25,439 INFO L85 PathProgramCache]: Analyzing trace with hash 1301357193, now seen corresponding path program 1 times [2022-04-28 12:56:25,439 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:25,439 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1209181470] [2022-04-28 12:56:25,439 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:25,439 INFO L85 PathProgramCache]: Analyzing trace with hash 1301357193, now seen corresponding path program 2 times [2022-04-28 12:56:25,440 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:25,440 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1894817671] [2022-04-28 12:56:25,440 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:25,440 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:25,454 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:56:25,454 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [943263185] [2022-04-28 12:56:25,454 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:56:25,454 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:25,454 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:25,455 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:56:25,476 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 12:56:25,507 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:56:25,507 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:56:25,508 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:56:25,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:25,518 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:56:25,680 INFO L272 TraceCheckUtils]: 0: Hoare triple {1683#true} call ULTIMATE.init(); {1683#true} is VALID [2022-04-28 12:56:25,681 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-28 12:56:25,681 INFO L290 TraceCheckUtils]: 2: Hoare triple {1691#(<= ~counter~0 0)} assume true; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:25,682 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1691#(<= ~counter~0 0)} {1683#true} #96#return; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:25,682 INFO L272 TraceCheckUtils]: 4: Hoare triple {1691#(<= ~counter~0 0)} call #t~ret8 := main(); {1691#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:25,682 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-28 12:56:25,683 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-28 12:56:25,683 INFO L290 TraceCheckUtils]: 7: Hoare triple {1691#(<= ~counter~0 0)} ~cond := #in~cond; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:25,684 INFO L290 TraceCheckUtils]: 8: Hoare triple {1691#(<= ~counter~0 0)} assume !(0 == ~cond); {1691#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:25,684 INFO L290 TraceCheckUtils]: 9: Hoare triple {1691#(<= ~counter~0 0)} assume true; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:25,685 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1691#(<= ~counter~0 0)} {1691#(<= ~counter~0 0)} #80#return; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:25,685 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-28 12:56:25,686 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-28 12:56:25,687 INFO L290 TraceCheckUtils]: 13: Hoare triple {1725#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:25,687 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-28 12:56:25,688 INFO L290 TraceCheckUtils]: 15: Hoare triple {1725#(<= ~counter~0 1)} ~cond := #in~cond; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:25,688 INFO L290 TraceCheckUtils]: 16: Hoare triple {1725#(<= ~counter~0 1)} assume !(0 == ~cond); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:25,688 INFO L290 TraceCheckUtils]: 17: Hoare triple {1725#(<= ~counter~0 1)} assume true; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:25,689 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1725#(<= ~counter~0 1)} {1725#(<= ~counter~0 1)} #82#return; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:25,690 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-28 12:56:25,690 INFO L290 TraceCheckUtils]: 20: Hoare triple {1725#(<= ~counter~0 1)} ~cond := #in~cond; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:25,691 INFO L290 TraceCheckUtils]: 21: Hoare triple {1725#(<= ~counter~0 1)} assume !(0 == ~cond); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:25,691 INFO L290 TraceCheckUtils]: 22: Hoare triple {1725#(<= ~counter~0 1)} assume true; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:25,692 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1725#(<= ~counter~0 1)} {1725#(<= ~counter~0 1)} #84#return; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:25,693 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-28 12:56:25,693 INFO L290 TraceCheckUtils]: 25: Hoare triple {1725#(<= ~counter~0 1)} ~cond := #in~cond; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:25,693 INFO L290 TraceCheckUtils]: 26: Hoare triple {1725#(<= ~counter~0 1)} assume !(0 == ~cond); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:25,694 INFO L290 TraceCheckUtils]: 27: Hoare triple {1725#(<= ~counter~0 1)} assume true; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:25,695 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1725#(<= ~counter~0 1)} {1725#(<= ~counter~0 1)} #86#return; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:25,695 INFO L290 TraceCheckUtils]: 29: Hoare triple {1725#(<= ~counter~0 1)} assume !(~r~0 >= ~d~0); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:25,696 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-28 12:56:25,696 INFO L290 TraceCheckUtils]: 31: Hoare triple {1780#(<= |main_#t~post7| 1)} assume !(#t~post7 < 50);havoc #t~post7; {1684#false} is VALID [2022-04-28 12:56:25,696 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-28 12:56:25,696 INFO L290 TraceCheckUtils]: 33: Hoare triple {1684#false} ~cond := #in~cond; {1684#false} is VALID [2022-04-28 12:56:25,697 INFO L290 TraceCheckUtils]: 34: Hoare triple {1684#false} assume 0 == ~cond; {1684#false} is VALID [2022-04-28 12:56:25,697 INFO L290 TraceCheckUtils]: 35: Hoare triple {1684#false} assume !false; {1684#false} is VALID [2022-04-28 12:56:25,697 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 12:56:25,697 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:56:25,697 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:25,697 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1894817671] [2022-04-28 12:56:25,697 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:56:25,698 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [943263185] [2022-04-28 12:56:25,698 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [943263185] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:25,698 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:25,698 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:56:25,698 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:25,698 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1209181470] [2022-04-28 12:56:25,698 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1209181470] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:25,698 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:25,698 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:56:25,699 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [230368252] [2022-04-28 12:56:25,699 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:25,699 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-28 12:56:25,699 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:25,700 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-28 12:56:25,726 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:25,726 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:56:25,726 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:25,726 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:56:25,726 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:56:25,727 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-28 12:56:25,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:25,870 INFO L93 Difference]: Finished difference Result 76 states and 86 transitions. [2022-04-28 12:56:25,870 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:56:25,871 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-28 12:56:25,871 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:25,871 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-28 12:56:25,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:56:25,875 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-28 12:56:25,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:56:25,876 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 12:56:25,926 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-28 12:56:25,928 INFO L225 Difference]: With dead ends: 76 [2022-04-28 12:56:25,928 INFO L226 Difference]: Without dead ends: 69 [2022-04-28 12:56:25,928 INFO L412 NwaCegarLoop]: 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-28 12:56:25,929 INFO L413 NwaCegarLoop]: 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-28 12:56:25,929 INFO L414 NwaCegarLoop]: 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-28 12:56:25,930 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-28 12:56:25,960 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 68. [2022-04-28 12:56:25,960 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:25,961 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-28 12:56:25,961 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-28 12:56:25,961 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-28 12:56:25,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:25,964 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2022-04-28 12:56:25,964 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2022-04-28 12:56:25,964 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:25,964 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:25,965 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-28 12:56:25,965 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-28 12:56:25,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:25,968 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2022-04-28 12:56:25,968 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2022-04-28 12:56:25,968 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:25,968 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:25,968 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:25,968 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:25,969 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-28 12:56:25,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 78 transitions. [2022-04-28 12:56:25,971 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 78 transitions. Word has length 36 [2022-04-28 12:56:25,971 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:25,971 INFO L495 AbstractCegarLoop]: Abstraction has 68 states and 78 transitions. [2022-04-28 12:56:25,971 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 12:56:25,972 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 78 transitions. [2022-04-28 12:56:26,057 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:26,057 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 78 transitions. [2022-04-28 12:56:26,058 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-28 12:56:26,058 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:26,058 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:26,080 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 12:56:26,271 WARN L477 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-28 12:56:26,271 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:26,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:26,272 INFO L85 PathProgramCache]: Analyzing trace with hash 1303085071, now seen corresponding path program 1 times [2022-04-28 12:56:26,272 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:26,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1924013979] [2022-04-28 12:56:26,272 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:26,272 INFO L85 PathProgramCache]: Analyzing trace with hash 1303085071, now seen corresponding path program 2 times [2022-04-28 12:56:26,272 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:26,273 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [257313484] [2022-04-28 12:56:26,273 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:26,273 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:26,286 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:56:26,286 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1484693668] [2022-04-28 12:56:26,287 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:56:26,287 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:26,287 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:26,291 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:56:26,304 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 12:56:26,348 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:56:26,348 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:56:26,349 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:56:26,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:26,360 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:56:39,005 INFO L272 TraceCheckUtils]: 0: Hoare triple {2221#true} call ULTIMATE.init(); {2221#true} is VALID [2022-04-28 12:56:39,006 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-28 12:56:39,006 INFO L290 TraceCheckUtils]: 2: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 12:56:39,006 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2221#true} {2221#true} #96#return; {2221#true} is VALID [2022-04-28 12:56:39,006 INFO L272 TraceCheckUtils]: 4: Hoare triple {2221#true} call #t~ret8 := main(); {2221#true} is VALID [2022-04-28 12:56:39,006 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-28 12:56:39,006 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-28 12:56:39,007 INFO L290 TraceCheckUtils]: 7: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-28 12:56:39,007 INFO L290 TraceCheckUtils]: 8: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-28 12:56:39,007 INFO L290 TraceCheckUtils]: 9: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 12:56:39,007 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2221#true} {2221#true} #80#return; {2221#true} is VALID [2022-04-28 12:56:39,008 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-28 12:56:39,008 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-28 12:56:39,009 INFO L290 TraceCheckUtils]: 13: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:56:39,009 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-28 12:56:39,009 INFO L290 TraceCheckUtils]: 15: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-28 12:56:39,009 INFO L290 TraceCheckUtils]: 16: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-28 12:56:39,010 INFO L290 TraceCheckUtils]: 17: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 12:56:39,010 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-28 12:56:39,010 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-28 12:56:39,011 INFO L290 TraceCheckUtils]: 20: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-28 12:56:39,011 INFO L290 TraceCheckUtils]: 21: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-28 12:56:39,011 INFO L290 TraceCheckUtils]: 22: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 12:56:39,012 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-28 12:56:39,012 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-28 12:56:39,012 INFO L290 TraceCheckUtils]: 25: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-28 12:56:39,012 INFO L290 TraceCheckUtils]: 26: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-28 12:56:39,012 INFO L290 TraceCheckUtils]: 27: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 12:56:39,013 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-28 12:56:39,013 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-28 12:56:39,014 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-28 12:56:39,015 INFO L290 TraceCheckUtils]: 31: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(#t~post7 < 50);havoc #t~post7; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:56:39,016 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-28 12:56:39,016 INFO L290 TraceCheckUtils]: 33: Hoare triple {2323#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2327#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:39,017 INFO L290 TraceCheckUtils]: 34: Hoare triple {2327#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2222#false} is VALID [2022-04-28 12:56:39,017 INFO L290 TraceCheckUtils]: 35: Hoare triple {2222#false} assume !false; {2222#false} is VALID [2022-04-28 12:56:39,017 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 12:56:39,017 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:56:39,017 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:39,017 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [257313484] [2022-04-28 12:56:39,017 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:56:39,018 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1484693668] [2022-04-28 12:56:39,018 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1484693668] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:39,018 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:39,018 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:56:39,018 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:39,018 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1924013979] [2022-04-28 12:56:39,018 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1924013979] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:39,018 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:39,018 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:56:39,019 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [77759224] [2022-04-28 12:56:39,019 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:39,019 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-28 12:56:39,019 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:39,020 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-28 12:56:39,051 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:39,051 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:56:39,051 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:39,051 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:56:39,052 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:56:39,052 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-28 12:56:39,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:39,326 INFO L93 Difference]: Finished difference Result 82 states and 97 transitions. [2022-04-28 12:56:39,326 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:56:39,326 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-28 12:56:39,326 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:39,327 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-28 12:56:39,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-04-28 12:56:39,328 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-28 12:56:39,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-04-28 12:56:39,329 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 61 transitions. [2022-04-28 12:56:39,389 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-28 12:56:39,391 INFO L225 Difference]: With dead ends: 82 [2022-04-28 12:56:39,391 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 12:56:39,392 INFO L412 NwaCegarLoop]: 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-28 12:56:39,392 INFO L413 NwaCegarLoop]: 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-28 12:56:39,393 INFO L414 NwaCegarLoop]: 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-28 12:56:39,393 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 12:56:39,445 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 69. [2022-04-28 12:56:39,445 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:39,445 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-28 12:56:39,446 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-28 12:56:39,446 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-28 12:56:39,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:39,449 INFO L93 Difference]: Finished difference Result 70 states and 83 transitions. [2022-04-28 12:56:39,449 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 83 transitions. [2022-04-28 12:56:39,449 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:39,449 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:39,450 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-28 12:56:39,450 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-28 12:56:39,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:39,452 INFO L93 Difference]: Finished difference Result 70 states and 83 transitions. [2022-04-28 12:56:39,453 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 83 transitions. [2022-04-28 12:56:39,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:39,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:39,453 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:39,453 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:39,453 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-28 12:56:39,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 82 transitions. [2022-04-28 12:56:39,456 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 82 transitions. Word has length 36 [2022-04-28 12:56:39,456 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:39,456 INFO L495 AbstractCegarLoop]: Abstraction has 69 states and 82 transitions. [2022-04-28 12:56:39,457 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 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-28 12:56:39,457 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 69 states and 82 transitions. [2022-04-28 12:56:39,559 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-28 12:56:39,559 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 82 transitions. [2022-04-28 12:56:39,560 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 12:56:39,560 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:39,560 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:39,583 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 12:56:39,760 WARN L477 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-28 12:56:39,761 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:39,761 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:39,761 INFO L85 PathProgramCache]: Analyzing trace with hash 817878903, now seen corresponding path program 1 times [2022-04-28 12:56:39,761 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:39,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1753274704] [2022-04-28 12:56:48,149 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 12:56:48,149 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 12:56:48,149 INFO L85 PathProgramCache]: Analyzing trace with hash 817878903, now seen corresponding path program 2 times [2022-04-28 12:56:48,149 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:48,149 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1074522969] [2022-04-28 12:56:48,149 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:48,150 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:48,160 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:56:48,160 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1026874721] [2022-04-28 12:56:48,160 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:56:48,160 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:48,161 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:48,167 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:56:48,194 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 12:56:48,226 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:56:48,226 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:56:48,227 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:56:48,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:48,242 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:56:48,460 INFO L272 TraceCheckUtils]: 0: Hoare triple {2777#true} call ULTIMATE.init(); {2777#true} is VALID [2022-04-28 12:56:48,461 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-28 12:56:48,461 INFO L290 TraceCheckUtils]: 2: Hoare triple {2785#(<= ~counter~0 0)} assume true; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:48,462 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2785#(<= ~counter~0 0)} {2777#true} #96#return; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:48,462 INFO L272 TraceCheckUtils]: 4: Hoare triple {2785#(<= ~counter~0 0)} call #t~ret8 := main(); {2785#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:48,462 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-28 12:56:48,463 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-28 12:56:48,463 INFO L290 TraceCheckUtils]: 7: Hoare triple {2785#(<= ~counter~0 0)} ~cond := #in~cond; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:48,463 INFO L290 TraceCheckUtils]: 8: Hoare triple {2785#(<= ~counter~0 0)} assume !(0 == ~cond); {2785#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:48,464 INFO L290 TraceCheckUtils]: 9: Hoare triple {2785#(<= ~counter~0 0)} assume true; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:48,465 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2785#(<= ~counter~0 0)} {2785#(<= ~counter~0 0)} #80#return; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:48,465 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-28 12:56:48,466 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-28 12:56:48,466 INFO L290 TraceCheckUtils]: 13: Hoare triple {2819#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:48,466 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-28 12:56:48,467 INFO L290 TraceCheckUtils]: 15: Hoare triple {2819#(<= ~counter~0 1)} ~cond := #in~cond; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:48,467 INFO L290 TraceCheckUtils]: 16: Hoare triple {2819#(<= ~counter~0 1)} assume !(0 == ~cond); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:48,467 INFO L290 TraceCheckUtils]: 17: Hoare triple {2819#(<= ~counter~0 1)} assume true; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:48,468 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2819#(<= ~counter~0 1)} {2819#(<= ~counter~0 1)} #82#return; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:48,469 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-28 12:56:48,469 INFO L290 TraceCheckUtils]: 20: Hoare triple {2819#(<= ~counter~0 1)} ~cond := #in~cond; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:48,470 INFO L290 TraceCheckUtils]: 21: Hoare triple {2819#(<= ~counter~0 1)} assume !(0 == ~cond); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:48,470 INFO L290 TraceCheckUtils]: 22: Hoare triple {2819#(<= ~counter~0 1)} assume true; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:48,470 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2819#(<= ~counter~0 1)} {2819#(<= ~counter~0 1)} #84#return; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:48,471 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-28 12:56:48,471 INFO L290 TraceCheckUtils]: 25: Hoare triple {2819#(<= ~counter~0 1)} ~cond := #in~cond; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:48,472 INFO L290 TraceCheckUtils]: 26: Hoare triple {2819#(<= ~counter~0 1)} assume !(0 == ~cond); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:48,472 INFO L290 TraceCheckUtils]: 27: Hoare triple {2819#(<= ~counter~0 1)} assume true; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:48,472 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2819#(<= ~counter~0 1)} {2819#(<= ~counter~0 1)} #86#return; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:48,473 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-28 12:56:48,473 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-28 12:56:48,474 INFO L290 TraceCheckUtils]: 31: Hoare triple {2874#(<= |main_#t~post6| 1)} assume !(#t~post6 < 50);havoc #t~post6; {2778#false} is VALID [2022-04-28 12:56:48,474 INFO L290 TraceCheckUtils]: 32: Hoare triple {2778#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2778#false} is VALID [2022-04-28 12:56:48,474 INFO L290 TraceCheckUtils]: 33: Hoare triple {2778#false} assume !(#t~post7 < 50);havoc #t~post7; {2778#false} is VALID [2022-04-28 12:56:48,474 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-28 12:56:48,474 INFO L290 TraceCheckUtils]: 35: Hoare triple {2778#false} ~cond := #in~cond; {2778#false} is VALID [2022-04-28 12:56:48,474 INFO L290 TraceCheckUtils]: 36: Hoare triple {2778#false} assume !(0 == ~cond); {2778#false} is VALID [2022-04-28 12:56:48,474 INFO L290 TraceCheckUtils]: 37: Hoare triple {2778#false} assume true; {2778#false} is VALID [2022-04-28 12:56:48,474 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2778#false} {2778#false} #92#return; {2778#false} is VALID [2022-04-28 12:56:48,475 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-28 12:56:48,475 INFO L290 TraceCheckUtils]: 40: Hoare triple {2778#false} ~cond := #in~cond; {2778#false} is VALID [2022-04-28 12:56:48,475 INFO L290 TraceCheckUtils]: 41: Hoare triple {2778#false} assume 0 == ~cond; {2778#false} is VALID [2022-04-28 12:56:48,475 INFO L290 TraceCheckUtils]: 42: Hoare triple {2778#false} assume !false; {2778#false} is VALID [2022-04-28 12:56:48,475 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 18 proven. 2 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-28 12:56:48,475 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:56:48,734 INFO L290 TraceCheckUtils]: 42: Hoare triple {2778#false} assume !false; {2778#false} is VALID [2022-04-28 12:56:48,734 INFO L290 TraceCheckUtils]: 41: Hoare triple {2778#false} assume 0 == ~cond; {2778#false} is VALID [2022-04-28 12:56:48,734 INFO L290 TraceCheckUtils]: 40: Hoare triple {2778#false} ~cond := #in~cond; {2778#false} is VALID [2022-04-28 12:56:48,734 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-28 12:56:48,735 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2777#true} {2778#false} #92#return; {2778#false} is VALID [2022-04-28 12:56:48,735 INFO L290 TraceCheckUtils]: 37: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 12:56:48,735 INFO L290 TraceCheckUtils]: 36: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 12:56:48,735 INFO L290 TraceCheckUtils]: 35: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 12:56:48,735 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-28 12:56:48,735 INFO L290 TraceCheckUtils]: 33: Hoare triple {2778#false} assume !(#t~post7 < 50);havoc #t~post7; {2778#false} is VALID [2022-04-28 12:56:48,735 INFO L290 TraceCheckUtils]: 32: Hoare triple {2778#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2778#false} is VALID [2022-04-28 12:56:48,736 INFO L290 TraceCheckUtils]: 31: Hoare triple {2944#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {2778#false} is VALID [2022-04-28 12:56:48,737 INFO L290 TraceCheckUtils]: 30: Hoare triple {2948#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2944#(< |main_#t~post6| 50)} is VALID [2022-04-28 12:56:48,737 INFO L290 TraceCheckUtils]: 29: Hoare triple {2948#(< ~counter~0 50)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2948#(< ~counter~0 50)} is VALID [2022-04-28 12:56:48,738 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2777#true} {2948#(< ~counter~0 50)} #86#return; {2948#(< ~counter~0 50)} is VALID [2022-04-28 12:56:48,738 INFO L290 TraceCheckUtils]: 27: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 12:56:48,738 INFO L290 TraceCheckUtils]: 26: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 12:56:48,738 INFO L290 TraceCheckUtils]: 25: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 12:56:48,738 INFO L272 TraceCheckUtils]: 24: Hoare triple {2948#(< ~counter~0 50)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2777#true} is VALID [2022-04-28 12:56:48,739 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2777#true} {2948#(< ~counter~0 50)} #84#return; {2948#(< ~counter~0 50)} is VALID [2022-04-28 12:56:48,739 INFO L290 TraceCheckUtils]: 22: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 12:56:48,739 INFO L290 TraceCheckUtils]: 21: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 12:56:48,739 INFO L290 TraceCheckUtils]: 20: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 12:56:48,739 INFO L272 TraceCheckUtils]: 19: Hoare triple {2948#(< ~counter~0 50)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2777#true} is VALID [2022-04-28 12:56:48,740 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2777#true} {2948#(< ~counter~0 50)} #82#return; {2948#(< ~counter~0 50)} is VALID [2022-04-28 12:56:48,740 INFO L290 TraceCheckUtils]: 17: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 12:56:48,740 INFO L290 TraceCheckUtils]: 16: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 12:56:48,740 INFO L290 TraceCheckUtils]: 15: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 12:56:48,740 INFO L272 TraceCheckUtils]: 14: Hoare triple {2948#(< ~counter~0 50)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2777#true} is VALID [2022-04-28 12:56:48,741 INFO L290 TraceCheckUtils]: 13: Hoare triple {2948#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {2948#(< ~counter~0 50)} is VALID [2022-04-28 12:56:48,741 INFO L290 TraceCheckUtils]: 12: Hoare triple {3003#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2948#(< ~counter~0 50)} is VALID [2022-04-28 12:56:48,742 INFO L290 TraceCheckUtils]: 11: Hoare triple {3003#(< ~counter~0 49)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3003#(< ~counter~0 49)} is VALID [2022-04-28 12:56:48,742 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2777#true} {3003#(< ~counter~0 49)} #80#return; {3003#(< ~counter~0 49)} is VALID [2022-04-28 12:56:48,743 INFO L290 TraceCheckUtils]: 9: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 12:56:48,743 INFO L290 TraceCheckUtils]: 8: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 12:56:48,743 INFO L290 TraceCheckUtils]: 7: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 12:56:48,743 INFO L272 TraceCheckUtils]: 6: Hoare triple {3003#(< ~counter~0 49)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2777#true} is VALID [2022-04-28 12:56:48,743 INFO L290 TraceCheckUtils]: 5: Hoare triple {3003#(< ~counter~0 49)} 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 49)} is VALID [2022-04-28 12:56:48,744 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#(< ~counter~0 49)} call #t~ret8 := main(); {3003#(< ~counter~0 49)} is VALID [2022-04-28 12:56:48,744 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#(< ~counter~0 49)} {2777#true} #96#return; {3003#(< ~counter~0 49)} is VALID [2022-04-28 12:56:48,745 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#(< ~counter~0 49)} assume true; {3003#(< ~counter~0 49)} is VALID [2022-04-28 12:56:48,745 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 49)} is VALID [2022-04-28 12:56:48,745 INFO L272 TraceCheckUtils]: 0: Hoare triple {2777#true} call ULTIMATE.init(); {2777#true} is VALID [2022-04-28 12:56:48,746 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:56:48,746 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:48,746 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1074522969] [2022-04-28 12:56:48,746 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:56:48,746 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1026874721] [2022-04-28 12:56:48,746 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1026874721] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:56:48,746 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:56:48,747 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 12:56:48,747 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:48,747 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1753274704] [2022-04-28 12:56:48,747 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1753274704] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:48,747 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:48,747 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:56:48,747 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [81362369] [2022-04-28 12:56:48,747 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:48,748 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-28 12:56:48,748 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:48,748 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-28 12:56:48,782 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:48,783 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:56:48,783 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:48,783 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:56:48,783 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:56:48,783 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-28 12:56:48,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:48,949 INFO L93 Difference]: Finished difference Result 96 states and 120 transitions. [2022-04-28 12:56:48,949 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:56:48,949 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-28 12:56:48,949 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:48,950 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-28 12:56:48,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2022-04-28 12:56:48,951 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-28 12:56:48,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2022-04-28 12:56:48,953 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 76 transitions. [2022-04-28 12:56:49,010 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:49,012 INFO L225 Difference]: With dead ends: 96 [2022-04-28 12:56:49,012 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 12:56:49,012 INFO L412 NwaCegarLoop]: 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-28 12:56:49,013 INFO L413 NwaCegarLoop]: 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-28 12:56:49,013 INFO L414 NwaCegarLoop]: 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-28 12:56:49,014 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 12:56:49,068 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-28 12:56:49,069 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:49,069 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-28 12:56:49,069 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-28 12:56:49,070 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-28 12:56:49,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:49,072 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2022-04-28 12:56:49,072 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-28 12:56:49,073 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:49,073 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:49,073 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-28 12:56:49,073 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-28 12:56:49,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:49,076 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2022-04-28 12:56:49,076 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-28 12:56:49,076 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:49,076 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:49,076 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:49,076 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:49,077 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-28 12:56:49,079 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 84 transitions. [2022-04-28 12:56:49,079 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 84 transitions. Word has length 43 [2022-04-28 12:56:49,079 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:49,080 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 84 transitions. [2022-04-28 12:56:49,080 INFO L496 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-28 12:56:49,080 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 84 transitions. [2022-04-28 12:56:49,172 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:49,173 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-28 12:56:49,173 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 12:56:49,173 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:49,173 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:49,189 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 12:56:49,375 WARN L477 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-28 12:56:49,376 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:49,376 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:49,376 INFO L85 PathProgramCache]: Analyzing trace with hash 1861890039, now seen corresponding path program 1 times [2022-04-28 12:56:49,376 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:49,376 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1318326205] [2022-04-28 12:56:57,014 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 12:56:57,014 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 12:56:57,014 INFO L85 PathProgramCache]: Analyzing trace with hash 1861890039, now seen corresponding path program 2 times [2022-04-28 12:56:57,015 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:57,015 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [115148120] [2022-04-28 12:56:57,015 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:57,015 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:57,025 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:56:57,025 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [196184023] [2022-04-28 12:56:57,025 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:56:57,025 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:57,025 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:57,028 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:56:57,052 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 12:56:57,085 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:56:57,086 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:56:57,087 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 12:56:57,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:57,105 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:56:57,872 INFO L272 TraceCheckUtils]: 0: Hoare triple {3520#true} call ULTIMATE.init(); {3520#true} is VALID [2022-04-28 12:56:57,872 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-28 12:56:57,873 INFO L290 TraceCheckUtils]: 2: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:56:57,873 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3520#true} {3520#true} #96#return; {3520#true} is VALID [2022-04-28 12:56:57,873 INFO L272 TraceCheckUtils]: 4: Hoare triple {3520#true} call #t~ret8 := main(); {3520#true} is VALID [2022-04-28 12:56:57,873 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-28 12:56:57,873 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-28 12:56:57,873 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-28 12:56:57,874 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-28 12:56:57,874 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-28 12:56:57,875 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-28 12:56:57,876 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-28 12:56:57,876 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-28 12:56:57,877 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 < 50);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-28 12:56:57,877 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-28 12:56:57,877 INFO L290 TraceCheckUtils]: 15: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:56:57,877 INFO L290 TraceCheckUtils]: 16: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:56:57,877 INFO L290 TraceCheckUtils]: 17: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:56:57,878 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-28 12:56:57,878 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-28 12:56:57,878 INFO L290 TraceCheckUtils]: 20: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:56:57,878 INFO L290 TraceCheckUtils]: 21: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:56:57,878 INFO L290 TraceCheckUtils]: 22: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:56:57,879 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-28 12:56:57,879 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-28 12:56:57,879 INFO L290 TraceCheckUtils]: 25: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:56:57,880 INFO L290 TraceCheckUtils]: 26: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:56:57,880 INFO L290 TraceCheckUtils]: 27: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:56:57,880 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-28 12:56:57,881 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-28 12:56:57,882 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-28 12:56:57,882 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 < 50);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-28 12:56:57,882 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-28 12:56:57,882 INFO L290 TraceCheckUtils]: 33: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:56:57,883 INFO L290 TraceCheckUtils]: 34: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:56:57,883 INFO L290 TraceCheckUtils]: 35: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:56:57,883 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-28 12:56:57,884 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-28 12:56:57,884 INFO L290 TraceCheckUtils]: 38: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:56:57,884 INFO L290 TraceCheckUtils]: 39: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:56:57,884 INFO L290 TraceCheckUtils]: 40: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:56:57,885 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-28 12:56:57,885 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-28 12:56:57,886 INFO L290 TraceCheckUtils]: 43: Hoare triple {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3660#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:57,886 INFO L290 TraceCheckUtils]: 44: Hoare triple {3660#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3521#false} is VALID [2022-04-28 12:56:57,886 INFO L290 TraceCheckUtils]: 45: Hoare triple {3521#false} assume !false; {3521#false} is VALID [2022-04-28 12:56:57,887 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 5 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-28 12:56:57,887 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:56:58,253 INFO L290 TraceCheckUtils]: 45: Hoare triple {3521#false} assume !false; {3521#false} is VALID [2022-04-28 12:56:58,254 INFO L290 TraceCheckUtils]: 44: Hoare triple {3660#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3521#false} is VALID [2022-04-28 12:56:58,254 INFO L290 TraceCheckUtils]: 43: Hoare triple {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3660#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:58,254 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-28 12:56:58,255 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-28 12:56:58,255 INFO L290 TraceCheckUtils]: 40: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:56:58,255 INFO L290 TraceCheckUtils]: 39: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:56:58,255 INFO L290 TraceCheckUtils]: 38: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:56:58,256 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-28 12:56:58,256 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-28 12:56:58,257 INFO L290 TraceCheckUtils]: 35: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:56:58,257 INFO L290 TraceCheckUtils]: 34: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:56:58,257 INFO L290 TraceCheckUtils]: 33: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:56:58,257 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-28 12:56:58,257 INFO L290 TraceCheckUtils]: 31: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 50);havoc #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:58,258 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-28 12:56:58,259 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-28 12:56:58,260 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-28 12:56:58,260 INFO L290 TraceCheckUtils]: 27: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:56:58,260 INFO L290 TraceCheckUtils]: 26: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:56:58,260 INFO L290 TraceCheckUtils]: 25: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:56:58,261 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-28 12:56:58,261 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-28 12:56:58,261 INFO L290 TraceCheckUtils]: 22: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:56:58,262 INFO L290 TraceCheckUtils]: 21: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:56:58,262 INFO L290 TraceCheckUtils]: 20: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:56:58,262 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-28 12:56:58,262 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-28 12:56:58,263 INFO L290 TraceCheckUtils]: 17: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:56:58,263 INFO L290 TraceCheckUtils]: 16: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:56:58,263 INFO L290 TraceCheckUtils]: 15: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:56:58,263 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-28 12:56:58,263 INFO L290 TraceCheckUtils]: 13: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 50);havoc #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:58,264 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-28 12:56:58,264 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-28 12:56:58,265 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3520#true} {3520#true} #80#return; {3520#true} is VALID [2022-04-28 12:56:58,265 INFO L290 TraceCheckUtils]: 9: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:56:58,265 INFO L290 TraceCheckUtils]: 8: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:56:58,265 INFO L290 TraceCheckUtils]: 7: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:56:58,265 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-28 12:56:58,265 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-28 12:56:58,265 INFO L272 TraceCheckUtils]: 4: Hoare triple {3520#true} call #t~ret8 := main(); {3520#true} is VALID [2022-04-28 12:56:58,266 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3520#true} {3520#true} #96#return; {3520#true} is VALID [2022-04-28 12:56:58,266 INFO L290 TraceCheckUtils]: 2: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:56:58,266 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-28 12:56:58,266 INFO L272 TraceCheckUtils]: 0: Hoare triple {3520#true} call ULTIMATE.init(); {3520#true} is VALID [2022-04-28 12:56:58,266 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-28 12:56:58,266 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:58,267 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [115148120] [2022-04-28 12:56:58,267 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:56:58,267 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [196184023] [2022-04-28 12:56:58,267 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [196184023] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:56:58,267 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:56:58,267 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-28 12:56:58,267 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:58,267 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1318326205] [2022-04-28 12:56:58,267 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1318326205] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:58,268 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:58,268 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:56:58,268 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [774606303] [2022-04-28 12:56:58,268 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:58,268 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-28 12:56:58,268 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:58,269 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-28 12:56:58,295 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-28 12:56:58,295 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:56:58,295 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:58,295 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:56:58,296 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:56:58,296 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-28 12:56:58,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:58,733 INFO L93 Difference]: Finished difference Result 84 states and 101 transitions. [2022-04-28 12:56:58,733 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:56:58,733 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-28 12:56:58,734 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:58,734 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-28 12:56:58,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-28 12:56:58,735 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-28 12:56:58,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-28 12:56:58,736 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 59 transitions. [2022-04-28 12:56:58,790 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:58,792 INFO L225 Difference]: With dead ends: 84 [2022-04-28 12:56:58,792 INFO L226 Difference]: Without dead ends: 82 [2022-04-28 12:56:58,792 INFO L412 NwaCegarLoop]: 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-28 12:56:58,793 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 11 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:56:58,793 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 125 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:56:58,793 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2022-04-28 12:56:58,849 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 79. [2022-04-28 12:56:58,850 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:58,850 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-28 12:56:58,850 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-28 12:56:58,851 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-28 12:56:58,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:58,854 INFO L93 Difference]: Finished difference Result 82 states and 99 transitions. [2022-04-28 12:56:58,854 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 99 transitions. [2022-04-28 12:56:58,854 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:58,854 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:58,855 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-28 12:56:58,855 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-28 12:56:58,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:58,857 INFO L93 Difference]: Finished difference Result 82 states and 99 transitions. [2022-04-28 12:56:58,857 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 99 transitions. [2022-04-28 12:56:58,858 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:58,858 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:58,858 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:58,858 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:58,858 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-28 12:56:58,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 94 transitions. [2022-04-28 12:56:58,860 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 94 transitions. Word has length 46 [2022-04-28 12:56:58,860 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:58,861 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 94 transitions. [2022-04-28 12:56:58,861 INFO L496 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-28 12:56:58,861 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 94 transitions. [2022-04-28 12:56:58,968 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-28 12:56:58,968 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 94 transitions. [2022-04-28 12:56:58,969 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 12:56:58,969 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:58,969 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:58,985 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 12:56:59,171 WARN L477 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-28 12:56:59,172 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:59,172 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:59,172 INFO L85 PathProgramCache]: Analyzing trace with hash 967982746, now seen corresponding path program 1 times [2022-04-28 12:56:59,172 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:59,172 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [701220976] [2022-04-28 12:57:09,313 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 12:57:09,313 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 12:57:09,314 INFO L85 PathProgramCache]: Analyzing trace with hash 967982746, now seen corresponding path program 2 times [2022-04-28 12:57:09,314 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:09,314 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [142167501] [2022-04-28 12:57:09,314 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:09,314 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:09,324 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:57:09,324 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1407108914] [2022-04-28 12:57:09,324 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:57:09,324 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:09,324 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:57:09,330 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:57:09,350 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 12:57:09,381 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:57:09,382 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:57:09,382 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:57:09,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:09,395 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:57:09,660 INFO L272 TraceCheckUtils]: 0: Hoare triple {4297#true} call ULTIMATE.init(); {4297#true} is VALID [2022-04-28 12:57:09,663 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-28 12:57:09,665 INFO L290 TraceCheckUtils]: 2: Hoare triple {4305#(<= ~counter~0 0)} assume true; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:09,665 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4305#(<= ~counter~0 0)} {4297#true} #96#return; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:09,666 INFO L272 TraceCheckUtils]: 4: Hoare triple {4305#(<= ~counter~0 0)} call #t~ret8 := main(); {4305#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:09,666 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-28 12:57:09,666 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-28 12:57:09,667 INFO L290 TraceCheckUtils]: 7: Hoare triple {4305#(<= ~counter~0 0)} ~cond := #in~cond; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:09,667 INFO L290 TraceCheckUtils]: 8: Hoare triple {4305#(<= ~counter~0 0)} assume !(0 == ~cond); {4305#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:09,668 INFO L290 TraceCheckUtils]: 9: Hoare triple {4305#(<= ~counter~0 0)} assume true; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:09,668 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4305#(<= ~counter~0 0)} {4305#(<= ~counter~0 0)} #80#return; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:09,668 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-28 12:57:09,669 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-28 12:57:09,669 INFO L290 TraceCheckUtils]: 13: Hoare triple {4339#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:09,670 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-28 12:57:09,670 INFO L290 TraceCheckUtils]: 15: Hoare triple {4339#(<= ~counter~0 1)} ~cond := #in~cond; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:09,671 INFO L290 TraceCheckUtils]: 16: Hoare triple {4339#(<= ~counter~0 1)} assume !(0 == ~cond); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:09,671 INFO L290 TraceCheckUtils]: 17: Hoare triple {4339#(<= ~counter~0 1)} assume true; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:09,672 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4339#(<= ~counter~0 1)} {4339#(<= ~counter~0 1)} #82#return; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:09,672 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-28 12:57:09,672 INFO L290 TraceCheckUtils]: 20: Hoare triple {4339#(<= ~counter~0 1)} ~cond := #in~cond; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:09,673 INFO L290 TraceCheckUtils]: 21: Hoare triple {4339#(<= ~counter~0 1)} assume !(0 == ~cond); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:09,673 INFO L290 TraceCheckUtils]: 22: Hoare triple {4339#(<= ~counter~0 1)} assume true; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:09,673 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4339#(<= ~counter~0 1)} {4339#(<= ~counter~0 1)} #84#return; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:09,674 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-28 12:57:09,674 INFO L290 TraceCheckUtils]: 25: Hoare triple {4339#(<= ~counter~0 1)} ~cond := #in~cond; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:09,674 INFO L290 TraceCheckUtils]: 26: Hoare triple {4339#(<= ~counter~0 1)} assume !(0 == ~cond); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:09,675 INFO L290 TraceCheckUtils]: 27: Hoare triple {4339#(<= ~counter~0 1)} assume true; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:09,675 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4339#(<= ~counter~0 1)} {4339#(<= ~counter~0 1)} #86#return; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:09,676 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-28 12:57:09,676 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-28 12:57:09,676 INFO L290 TraceCheckUtils]: 31: Hoare triple {4394#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:09,677 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-28 12:57:09,677 INFO L290 TraceCheckUtils]: 33: Hoare triple {4394#(<= ~counter~0 2)} ~cond := #in~cond; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:09,677 INFO L290 TraceCheckUtils]: 34: Hoare triple {4394#(<= ~counter~0 2)} assume !(0 == ~cond); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:09,678 INFO L290 TraceCheckUtils]: 35: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:09,678 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4394#(<= ~counter~0 2)} {4394#(<= ~counter~0 2)} #82#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:09,679 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-28 12:57:09,679 INFO L290 TraceCheckUtils]: 38: Hoare triple {4394#(<= ~counter~0 2)} ~cond := #in~cond; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:09,679 INFO L290 TraceCheckUtils]: 39: Hoare triple {4394#(<= ~counter~0 2)} assume !(0 == ~cond); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:09,679 INFO L290 TraceCheckUtils]: 40: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:09,680 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4394#(<= ~counter~0 2)} {4394#(<= ~counter~0 2)} #84#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:09,680 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-28 12:57:09,681 INFO L290 TraceCheckUtils]: 43: Hoare triple {4394#(<= ~counter~0 2)} ~cond := #in~cond; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:09,681 INFO L290 TraceCheckUtils]: 44: Hoare triple {4394#(<= ~counter~0 2)} assume !(0 == ~cond); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:09,681 INFO L290 TraceCheckUtils]: 45: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:09,682 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4394#(<= ~counter~0 2)} {4394#(<= ~counter~0 2)} #86#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:09,682 INFO L290 TraceCheckUtils]: 47: Hoare triple {4394#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:09,682 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-28 12:57:09,683 INFO L290 TraceCheckUtils]: 49: Hoare triple {4449#(<= |main_#t~post7| 2)} assume !(#t~post7 < 50);havoc #t~post7; {4298#false} is VALID [2022-04-28 12:57:09,683 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-28 12:57:09,683 INFO L290 TraceCheckUtils]: 51: Hoare triple {4298#false} ~cond := #in~cond; {4298#false} is VALID [2022-04-28 12:57:09,683 INFO L290 TraceCheckUtils]: 52: Hoare triple {4298#false} assume !(0 == ~cond); {4298#false} is VALID [2022-04-28 12:57:09,683 INFO L290 TraceCheckUtils]: 53: Hoare triple {4298#false} assume true; {4298#false} is VALID [2022-04-28 12:57:09,683 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {4298#false} {4298#false} #92#return; {4298#false} is VALID [2022-04-28 12:57:09,683 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-28 12:57:09,683 INFO L290 TraceCheckUtils]: 56: Hoare triple {4298#false} ~cond := #in~cond; {4298#false} is VALID [2022-04-28 12:57:09,683 INFO L290 TraceCheckUtils]: 57: Hoare triple {4298#false} assume 0 == ~cond; {4298#false} is VALID [2022-04-28 12:57:09,684 INFO L290 TraceCheckUtils]: 58: Hoare triple {4298#false} assume !false; {4298#false} is VALID [2022-04-28 12:57:09,684 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 36 proven. 42 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 12:57:09,684 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:57:09,913 INFO L290 TraceCheckUtils]: 58: Hoare triple {4298#false} assume !false; {4298#false} is VALID [2022-04-28 12:57:09,914 INFO L290 TraceCheckUtils]: 57: Hoare triple {4298#false} assume 0 == ~cond; {4298#false} is VALID [2022-04-28 12:57:09,914 INFO L290 TraceCheckUtils]: 56: Hoare triple {4298#false} ~cond := #in~cond; {4298#false} is VALID [2022-04-28 12:57:09,914 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-28 12:57:09,914 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {4297#true} {4298#false} #92#return; {4298#false} is VALID [2022-04-28 12:57:09,914 INFO L290 TraceCheckUtils]: 53: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 12:57:09,914 INFO L290 TraceCheckUtils]: 52: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 12:57:09,914 INFO L290 TraceCheckUtils]: 51: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 12:57:09,914 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-28 12:57:09,914 INFO L290 TraceCheckUtils]: 49: Hoare triple {4507#(< |main_#t~post7| 50)} assume !(#t~post7 < 50);havoc #t~post7; {4298#false} is VALID [2022-04-28 12:57:09,915 INFO L290 TraceCheckUtils]: 48: Hoare triple {4511#(< ~counter~0 50)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4507#(< |main_#t~post7| 50)} is VALID [2022-04-28 12:57:09,915 INFO L290 TraceCheckUtils]: 47: Hoare triple {4511#(< ~counter~0 50)} assume !(~r~0 >= ~d~0); {4511#(< ~counter~0 50)} is VALID [2022-04-28 12:57:09,916 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4297#true} {4511#(< ~counter~0 50)} #86#return; {4511#(< ~counter~0 50)} is VALID [2022-04-28 12:57:09,916 INFO L290 TraceCheckUtils]: 45: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 12:57:09,916 INFO L290 TraceCheckUtils]: 44: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 12:57:09,916 INFO L290 TraceCheckUtils]: 43: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 12:57:09,916 INFO L272 TraceCheckUtils]: 42: Hoare triple {4511#(< ~counter~0 50)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4297#true} is VALID [2022-04-28 12:57:09,917 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4297#true} {4511#(< ~counter~0 50)} #84#return; {4511#(< ~counter~0 50)} is VALID [2022-04-28 12:57:09,917 INFO L290 TraceCheckUtils]: 40: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 12:57:09,917 INFO L290 TraceCheckUtils]: 39: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 12:57:09,917 INFO L290 TraceCheckUtils]: 38: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 12:57:09,917 INFO L272 TraceCheckUtils]: 37: Hoare triple {4511#(< ~counter~0 50)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4297#true} is VALID [2022-04-28 12:57:09,917 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4297#true} {4511#(< ~counter~0 50)} #82#return; {4511#(< ~counter~0 50)} is VALID [2022-04-28 12:57:09,917 INFO L290 TraceCheckUtils]: 35: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 12:57:09,917 INFO L290 TraceCheckUtils]: 34: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 12:57:09,918 INFO L290 TraceCheckUtils]: 33: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 12:57:09,918 INFO L272 TraceCheckUtils]: 32: Hoare triple {4511#(< ~counter~0 50)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4297#true} is VALID [2022-04-28 12:57:09,918 INFO L290 TraceCheckUtils]: 31: Hoare triple {4511#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {4511#(< ~counter~0 50)} is VALID [2022-04-28 12:57:09,918 INFO L290 TraceCheckUtils]: 30: Hoare triple {4566#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4511#(< ~counter~0 50)} is VALID [2022-04-28 12:57:09,919 INFO L290 TraceCheckUtils]: 29: Hoare triple {4566#(< ~counter~0 49)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4566#(< ~counter~0 49)} is VALID [2022-04-28 12:57:09,919 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4297#true} {4566#(< ~counter~0 49)} #86#return; {4566#(< ~counter~0 49)} is VALID [2022-04-28 12:57:09,919 INFO L290 TraceCheckUtils]: 27: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 12:57:09,919 INFO L290 TraceCheckUtils]: 26: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 12:57:09,920 INFO L290 TraceCheckUtils]: 25: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 12:57:09,920 INFO L272 TraceCheckUtils]: 24: Hoare triple {4566#(< ~counter~0 49)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4297#true} is VALID [2022-04-28 12:57:09,920 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4297#true} {4566#(< ~counter~0 49)} #84#return; {4566#(< ~counter~0 49)} is VALID [2022-04-28 12:57:09,920 INFO L290 TraceCheckUtils]: 22: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 12:57:09,921 INFO L290 TraceCheckUtils]: 21: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 12:57:09,921 INFO L290 TraceCheckUtils]: 20: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 12:57:09,921 INFO L272 TraceCheckUtils]: 19: Hoare triple {4566#(< ~counter~0 49)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4297#true} is VALID [2022-04-28 12:57:09,921 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4297#true} {4566#(< ~counter~0 49)} #82#return; {4566#(< ~counter~0 49)} is VALID [2022-04-28 12:57:09,922 INFO L290 TraceCheckUtils]: 17: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 12:57:09,922 INFO L290 TraceCheckUtils]: 16: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 12:57:09,922 INFO L290 TraceCheckUtils]: 15: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 12:57:09,922 INFO L272 TraceCheckUtils]: 14: Hoare triple {4566#(< ~counter~0 49)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4297#true} is VALID [2022-04-28 12:57:09,922 INFO L290 TraceCheckUtils]: 13: Hoare triple {4566#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {4566#(< ~counter~0 49)} is VALID [2022-04-28 12:57:09,923 INFO L290 TraceCheckUtils]: 12: Hoare triple {4621#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4566#(< ~counter~0 49)} is VALID [2022-04-28 12:57:09,923 INFO L290 TraceCheckUtils]: 11: Hoare triple {4621#(< ~counter~0 48)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4621#(< ~counter~0 48)} is VALID [2022-04-28 12:57:09,924 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4297#true} {4621#(< ~counter~0 48)} #80#return; {4621#(< ~counter~0 48)} is VALID [2022-04-28 12:57:09,924 INFO L290 TraceCheckUtils]: 9: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 12:57:09,924 INFO L290 TraceCheckUtils]: 8: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 12:57:09,924 INFO L290 TraceCheckUtils]: 7: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 12:57:09,924 INFO L272 TraceCheckUtils]: 6: Hoare triple {4621#(< ~counter~0 48)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4297#true} is VALID [2022-04-28 12:57:09,925 INFO L290 TraceCheckUtils]: 5: Hoare triple {4621#(< ~counter~0 48)} 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; {4621#(< ~counter~0 48)} is VALID [2022-04-28 12:57:09,925 INFO L272 TraceCheckUtils]: 4: Hoare triple {4621#(< ~counter~0 48)} call #t~ret8 := main(); {4621#(< ~counter~0 48)} is VALID [2022-04-28 12:57:09,926 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4621#(< ~counter~0 48)} {4297#true} #96#return; {4621#(< ~counter~0 48)} is VALID [2022-04-28 12:57:09,926 INFO L290 TraceCheckUtils]: 2: Hoare triple {4621#(< ~counter~0 48)} assume true; {4621#(< ~counter~0 48)} is VALID [2022-04-28 12:57:09,927 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; {4621#(< ~counter~0 48)} is VALID [2022-04-28 12:57:09,927 INFO L272 TraceCheckUtils]: 0: Hoare triple {4297#true} call ULTIMATE.init(); {4297#true} is VALID [2022-04-28 12:57:09,927 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 14 proven. 6 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-28 12:57:09,927 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:57:09,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [142167501] [2022-04-28 12:57:09,927 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:57:09,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1407108914] [2022-04-28 12:57:09,928 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1407108914] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:57:09,928 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:57:09,928 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 12:57:09,928 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:57:09,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [701220976] [2022-04-28 12:57:09,928 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [701220976] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:09,928 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:09,928 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:57:09,929 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1623244202] [2022-04-28 12:57:09,929 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:57:09,930 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-28 12:57:09,930 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:57:09,930 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-28 12:57:09,973 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:57:09,973 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:57:09,973 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:09,974 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:57:09,974 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:57:09,974 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-28 12:57:10,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:10,201 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-28 12:57:10,202 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:57:10,202 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-28 12:57:10,202 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:57:10,202 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-28 12:57:10,204 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 79 transitions. [2022-04-28 12:57:10,204 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-28 12:57:10,205 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 79 transitions. [2022-04-28 12:57:10,205 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 79 transitions. [2022-04-28 12:57:10,271 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-28 12:57:10,273 INFO L225 Difference]: With dead ends: 110 [2022-04-28 12:57:10,273 INFO L226 Difference]: Without dead ends: 98 [2022-04-28 12:57:10,273 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 109 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:57:10,274 INFO L413 NwaCegarLoop]: 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-28 12:57:10,274 INFO L414 NwaCegarLoop]: 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-28 12:57:10,274 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-28 12:57:10,336 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 97. [2022-04-28 12:57:10,336 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:57:10,337 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-28 12:57:10,337 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-28 12:57:10,337 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-28 12:57:10,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:10,340 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-28 12:57:10,340 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-28 12:57:10,340 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:10,340 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:10,341 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-28 12:57:10,341 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-28 12:57:10,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:10,343 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-28 12:57:10,343 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-28 12:57:10,344 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:10,344 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:10,344 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:57:10,344 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:57:10,344 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-28 12:57:10,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 113 transitions. [2022-04-28 12:57:10,346 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 113 transitions. Word has length 59 [2022-04-28 12:57:10,347 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:57:10,347 INFO L495 AbstractCegarLoop]: Abstraction has 97 states and 113 transitions. [2022-04-28 12:57:10,347 INFO L496 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-28 12:57:10,347 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 97 states and 113 transitions. [2022-04-28 12:57:10,459 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:57:10,460 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 113 transitions. [2022-04-28 12:57:10,461 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 12:57:10,461 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:57:10,461 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:57:10,477 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 12:57:10,661 WARN L477 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-28 12:57:10,662 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:57:10,662 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:57:10,662 INFO L85 PathProgramCache]: Analyzing trace with hash 940283669, now seen corresponding path program 3 times [2022-04-28 12:57:10,662 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:10,662 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1269319958] [2022-04-28 12:57:19,991 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 12:57:19,992 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 12:57:19,992 INFO L85 PathProgramCache]: Analyzing trace with hash 940283669, now seen corresponding path program 4 times [2022-04-28 12:57:19,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:19,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [172883558] [2022-04-28 12:57:19,992 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:19,992 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:20,002 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:57:20,002 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [761105869] [2022-04-28 12:57:20,002 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:57:20,003 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:20,003 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:57:20,011 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:57:20,045 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 12:57:20,066 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:57:20,067 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:57:20,068 INFO L263 TraceCheckSpWp]: Trace formula consists of 170 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:57:20,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:20,082 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:57:20,323 INFO L272 TraceCheckUtils]: 0: Hoare triple {5270#true} call ULTIMATE.init(); {5270#true} is VALID [2022-04-28 12:57:20,324 INFO L290 TraceCheckUtils]: 1: Hoare triple {5270#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; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:20,324 INFO L290 TraceCheckUtils]: 2: Hoare triple {5278#(<= ~counter~0 0)} assume true; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:20,325 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5278#(<= ~counter~0 0)} {5270#true} #96#return; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:20,325 INFO L272 TraceCheckUtils]: 4: Hoare triple {5278#(<= ~counter~0 0)} call #t~ret8 := main(); {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:20,325 INFO L290 TraceCheckUtils]: 5: Hoare triple {5278#(<= ~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; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:20,326 INFO L272 TraceCheckUtils]: 6: Hoare triple {5278#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:20,326 INFO L290 TraceCheckUtils]: 7: Hoare triple {5278#(<= ~counter~0 0)} ~cond := #in~cond; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:20,327 INFO L290 TraceCheckUtils]: 8: Hoare triple {5278#(<= ~counter~0 0)} assume !(0 == ~cond); {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:20,327 INFO L290 TraceCheckUtils]: 9: Hoare triple {5278#(<= ~counter~0 0)} assume true; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:20,328 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5278#(<= ~counter~0 0)} {5278#(<= ~counter~0 0)} #80#return; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:20,328 INFO L290 TraceCheckUtils]: 11: Hoare triple {5278#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:20,329 INFO L290 TraceCheckUtils]: 12: Hoare triple {5278#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:20,329 INFO L290 TraceCheckUtils]: 13: Hoare triple {5312#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:20,329 INFO L272 TraceCheckUtils]: 14: Hoare triple {5312#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:20,330 INFO L290 TraceCheckUtils]: 15: Hoare triple {5312#(<= ~counter~0 1)} ~cond := #in~cond; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:20,330 INFO L290 TraceCheckUtils]: 16: Hoare triple {5312#(<= ~counter~0 1)} assume !(0 == ~cond); {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:20,331 INFO L290 TraceCheckUtils]: 17: Hoare triple {5312#(<= ~counter~0 1)} assume true; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:20,331 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5312#(<= ~counter~0 1)} {5312#(<= ~counter~0 1)} #82#return; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:20,332 INFO L272 TraceCheckUtils]: 19: Hoare triple {5312#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:20,332 INFO L290 TraceCheckUtils]: 20: Hoare triple {5312#(<= ~counter~0 1)} ~cond := #in~cond; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:20,332 INFO L290 TraceCheckUtils]: 21: Hoare triple {5312#(<= ~counter~0 1)} assume !(0 == ~cond); {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:20,333 INFO L290 TraceCheckUtils]: 22: Hoare triple {5312#(<= ~counter~0 1)} assume true; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:20,333 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5312#(<= ~counter~0 1)} {5312#(<= ~counter~0 1)} #84#return; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:20,334 INFO L272 TraceCheckUtils]: 24: Hoare triple {5312#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:20,335 INFO L290 TraceCheckUtils]: 25: Hoare triple {5312#(<= ~counter~0 1)} ~cond := #in~cond; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:20,335 INFO L290 TraceCheckUtils]: 26: Hoare triple {5312#(<= ~counter~0 1)} assume !(0 == ~cond); {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:20,335 INFO L290 TraceCheckUtils]: 27: Hoare triple {5312#(<= ~counter~0 1)} assume true; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:20,336 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5312#(<= ~counter~0 1)} {5312#(<= ~counter~0 1)} #86#return; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:20,337 INFO L290 TraceCheckUtils]: 29: Hoare triple {5312#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:20,337 INFO L290 TraceCheckUtils]: 30: Hoare triple {5312#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:20,338 INFO L290 TraceCheckUtils]: 31: Hoare triple {5367#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:20,338 INFO L272 TraceCheckUtils]: 32: Hoare triple {5367#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:20,339 INFO L290 TraceCheckUtils]: 33: Hoare triple {5367#(<= ~counter~0 2)} ~cond := #in~cond; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:20,339 INFO L290 TraceCheckUtils]: 34: Hoare triple {5367#(<= ~counter~0 2)} assume !(0 == ~cond); {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:20,339 INFO L290 TraceCheckUtils]: 35: Hoare triple {5367#(<= ~counter~0 2)} assume true; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:20,340 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5367#(<= ~counter~0 2)} {5367#(<= ~counter~0 2)} #82#return; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:20,341 INFO L272 TraceCheckUtils]: 37: Hoare triple {5367#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:20,341 INFO L290 TraceCheckUtils]: 38: Hoare triple {5367#(<= ~counter~0 2)} ~cond := #in~cond; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:20,341 INFO L290 TraceCheckUtils]: 39: Hoare triple {5367#(<= ~counter~0 2)} assume !(0 == ~cond); {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:20,342 INFO L290 TraceCheckUtils]: 40: Hoare triple {5367#(<= ~counter~0 2)} assume true; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:20,343 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5367#(<= ~counter~0 2)} {5367#(<= ~counter~0 2)} #84#return; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:20,343 INFO L272 TraceCheckUtils]: 42: Hoare triple {5367#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:20,344 INFO L290 TraceCheckUtils]: 43: Hoare triple {5367#(<= ~counter~0 2)} ~cond := #in~cond; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:20,344 INFO L290 TraceCheckUtils]: 44: Hoare triple {5367#(<= ~counter~0 2)} assume !(0 == ~cond); {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:20,344 INFO L290 TraceCheckUtils]: 45: Hoare triple {5367#(<= ~counter~0 2)} assume true; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:20,345 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5367#(<= ~counter~0 2)} {5367#(<= ~counter~0 2)} #86#return; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:20,346 INFO L290 TraceCheckUtils]: 47: Hoare triple {5367#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:20,346 INFO L290 TraceCheckUtils]: 48: Hoare triple {5367#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5422#(<= |main_#t~post6| 2)} is VALID [2022-04-28 12:57:20,347 INFO L290 TraceCheckUtils]: 49: Hoare triple {5422#(<= |main_#t~post6| 2)} assume !(#t~post6 < 50);havoc #t~post6; {5271#false} is VALID [2022-04-28 12:57:20,347 INFO L290 TraceCheckUtils]: 50: Hoare triple {5271#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5271#false} is VALID [2022-04-28 12:57:20,347 INFO L290 TraceCheckUtils]: 51: Hoare triple {5271#false} assume !(#t~post7 < 50);havoc #t~post7; {5271#false} is VALID [2022-04-28 12:57:20,347 INFO L272 TraceCheckUtils]: 52: Hoare triple {5271#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5271#false} is VALID [2022-04-28 12:57:20,347 INFO L290 TraceCheckUtils]: 53: Hoare triple {5271#false} ~cond := #in~cond; {5271#false} is VALID [2022-04-28 12:57:20,347 INFO L290 TraceCheckUtils]: 54: Hoare triple {5271#false} assume !(0 == ~cond); {5271#false} is VALID [2022-04-28 12:57:20,347 INFO L290 TraceCheckUtils]: 55: Hoare triple {5271#false} assume true; {5271#false} is VALID [2022-04-28 12:57:20,347 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5271#false} {5271#false} #92#return; {5271#false} is VALID [2022-04-28 12:57:20,347 INFO L272 TraceCheckUtils]: 57: Hoare triple {5271#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {5271#false} is VALID [2022-04-28 12:57:20,348 INFO L290 TraceCheckUtils]: 58: Hoare triple {5271#false} ~cond := #in~cond; {5271#false} is VALID [2022-04-28 12:57:20,348 INFO L290 TraceCheckUtils]: 59: Hoare triple {5271#false} assume 0 == ~cond; {5271#false} is VALID [2022-04-28 12:57:20,348 INFO L290 TraceCheckUtils]: 60: Hoare triple {5271#false} assume !false; {5271#false} is VALID [2022-04-28 12:57:20,348 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 36 proven. 46 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 12:57:20,348 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:57:20,627 INFO L290 TraceCheckUtils]: 60: Hoare triple {5271#false} assume !false; {5271#false} is VALID [2022-04-28 12:57:20,628 INFO L290 TraceCheckUtils]: 59: Hoare triple {5271#false} assume 0 == ~cond; {5271#false} is VALID [2022-04-28 12:57:20,628 INFO L290 TraceCheckUtils]: 58: Hoare triple {5271#false} ~cond := #in~cond; {5271#false} is VALID [2022-04-28 12:57:20,628 INFO L272 TraceCheckUtils]: 57: Hoare triple {5271#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {5271#false} is VALID [2022-04-28 12:57:20,628 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5270#true} {5271#false} #92#return; {5271#false} is VALID [2022-04-28 12:57:20,628 INFO L290 TraceCheckUtils]: 55: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 12:57:20,628 INFO L290 TraceCheckUtils]: 54: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 12:57:20,628 INFO L290 TraceCheckUtils]: 53: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 12:57:20,628 INFO L272 TraceCheckUtils]: 52: Hoare triple {5271#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5270#true} is VALID [2022-04-28 12:57:20,628 INFO L290 TraceCheckUtils]: 51: Hoare triple {5271#false} assume !(#t~post7 < 50);havoc #t~post7; {5271#false} is VALID [2022-04-28 12:57:20,629 INFO L290 TraceCheckUtils]: 50: Hoare triple {5271#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5271#false} is VALID [2022-04-28 12:57:20,629 INFO L290 TraceCheckUtils]: 49: Hoare triple {5492#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {5271#false} is VALID [2022-04-28 12:57:20,629 INFO L290 TraceCheckUtils]: 48: Hoare triple {5496#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5492#(< |main_#t~post6| 50)} is VALID [2022-04-28 12:57:20,629 INFO L290 TraceCheckUtils]: 47: Hoare triple {5496#(< ~counter~0 50)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5496#(< ~counter~0 50)} is VALID [2022-04-28 12:57:20,630 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5270#true} {5496#(< ~counter~0 50)} #86#return; {5496#(< ~counter~0 50)} is VALID [2022-04-28 12:57:20,630 INFO L290 TraceCheckUtils]: 45: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 12:57:20,630 INFO L290 TraceCheckUtils]: 44: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 12:57:20,630 INFO L290 TraceCheckUtils]: 43: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 12:57:20,630 INFO L272 TraceCheckUtils]: 42: Hoare triple {5496#(< ~counter~0 50)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5270#true} is VALID [2022-04-28 12:57:20,631 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5270#true} {5496#(< ~counter~0 50)} #84#return; {5496#(< ~counter~0 50)} is VALID [2022-04-28 12:57:20,631 INFO L290 TraceCheckUtils]: 40: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 12:57:20,631 INFO L290 TraceCheckUtils]: 39: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 12:57:20,631 INFO L290 TraceCheckUtils]: 38: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 12:57:20,631 INFO L272 TraceCheckUtils]: 37: Hoare triple {5496#(< ~counter~0 50)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5270#true} is VALID [2022-04-28 12:57:20,631 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5270#true} {5496#(< ~counter~0 50)} #82#return; {5496#(< ~counter~0 50)} is VALID [2022-04-28 12:57:20,632 INFO L290 TraceCheckUtils]: 35: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 12:57:20,632 INFO L290 TraceCheckUtils]: 34: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 12:57:20,632 INFO L290 TraceCheckUtils]: 33: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 12:57:20,632 INFO L272 TraceCheckUtils]: 32: Hoare triple {5496#(< ~counter~0 50)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5270#true} is VALID [2022-04-28 12:57:20,632 INFO L290 TraceCheckUtils]: 31: Hoare triple {5496#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {5496#(< ~counter~0 50)} is VALID [2022-04-28 12:57:20,632 INFO L290 TraceCheckUtils]: 30: Hoare triple {5551#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5496#(< ~counter~0 50)} is VALID [2022-04-28 12:57:20,633 INFO L290 TraceCheckUtils]: 29: Hoare triple {5551#(< ~counter~0 49)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5551#(< ~counter~0 49)} is VALID [2022-04-28 12:57:20,633 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5270#true} {5551#(< ~counter~0 49)} #86#return; {5551#(< ~counter~0 49)} is VALID [2022-04-28 12:57:20,633 INFO L290 TraceCheckUtils]: 27: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 12:57:20,633 INFO L290 TraceCheckUtils]: 26: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 12:57:20,633 INFO L290 TraceCheckUtils]: 25: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 12:57:20,634 INFO L272 TraceCheckUtils]: 24: Hoare triple {5551#(< ~counter~0 49)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5270#true} is VALID [2022-04-28 12:57:20,634 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5270#true} {5551#(< ~counter~0 49)} #84#return; {5551#(< ~counter~0 49)} is VALID [2022-04-28 12:57:20,634 INFO L290 TraceCheckUtils]: 22: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 12:57:20,634 INFO L290 TraceCheckUtils]: 21: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 12:57:20,634 INFO L290 TraceCheckUtils]: 20: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 12:57:20,634 INFO L272 TraceCheckUtils]: 19: Hoare triple {5551#(< ~counter~0 49)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5270#true} is VALID [2022-04-28 12:57:20,635 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5270#true} {5551#(< ~counter~0 49)} #82#return; {5551#(< ~counter~0 49)} is VALID [2022-04-28 12:57:20,635 INFO L290 TraceCheckUtils]: 17: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 12:57:20,635 INFO L290 TraceCheckUtils]: 16: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 12:57:20,635 INFO L290 TraceCheckUtils]: 15: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 12:57:20,635 INFO L272 TraceCheckUtils]: 14: Hoare triple {5551#(< ~counter~0 49)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5270#true} is VALID [2022-04-28 12:57:20,635 INFO L290 TraceCheckUtils]: 13: Hoare triple {5551#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {5551#(< ~counter~0 49)} is VALID [2022-04-28 12:57:20,636 INFO L290 TraceCheckUtils]: 12: Hoare triple {5606#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5551#(< ~counter~0 49)} is VALID [2022-04-28 12:57:20,636 INFO L290 TraceCheckUtils]: 11: Hoare triple {5606#(< ~counter~0 48)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5606#(< ~counter~0 48)} is VALID [2022-04-28 12:57:20,636 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5270#true} {5606#(< ~counter~0 48)} #80#return; {5606#(< ~counter~0 48)} is VALID [2022-04-28 12:57:20,637 INFO L290 TraceCheckUtils]: 9: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 12:57:20,637 INFO L290 TraceCheckUtils]: 8: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 12:57:20,637 INFO L290 TraceCheckUtils]: 7: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 12:57:20,637 INFO L272 TraceCheckUtils]: 6: Hoare triple {5606#(< ~counter~0 48)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5270#true} is VALID [2022-04-28 12:57:20,637 INFO L290 TraceCheckUtils]: 5: Hoare triple {5606#(< ~counter~0 48)} 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; {5606#(< ~counter~0 48)} is VALID [2022-04-28 12:57:20,637 INFO L272 TraceCheckUtils]: 4: Hoare triple {5606#(< ~counter~0 48)} call #t~ret8 := main(); {5606#(< ~counter~0 48)} is VALID [2022-04-28 12:57:20,638 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5606#(< ~counter~0 48)} {5270#true} #96#return; {5606#(< ~counter~0 48)} is VALID [2022-04-28 12:57:20,638 INFO L290 TraceCheckUtils]: 2: Hoare triple {5606#(< ~counter~0 48)} assume true; {5606#(< ~counter~0 48)} is VALID [2022-04-28 12:57:20,638 INFO L290 TraceCheckUtils]: 1: Hoare triple {5270#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; {5606#(< ~counter~0 48)} is VALID [2022-04-28 12:57:20,638 INFO L272 TraceCheckUtils]: 0: Hoare triple {5270#true} call ULTIMATE.init(); {5270#true} is VALID [2022-04-28 12:57:20,639 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 14 proven. 10 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-28 12:57:20,639 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:57:20,639 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [172883558] [2022-04-28 12:57:20,639 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:57:20,639 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [761105869] [2022-04-28 12:57:20,639 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [761105869] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:57:20,639 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:57:20,639 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 12:57:20,640 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:57:20,640 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1269319958] [2022-04-28 12:57:20,640 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1269319958] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:20,640 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:20,640 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:57:20,640 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2014523564] [2022-04-28 12:57:20,640 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:57:20,641 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-28 12:57:20,641 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:57:20,641 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-28 12:57:20,679 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-28 12:57:20,679 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:57:20,679 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:20,680 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:57:20,680 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:57:20,680 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-28 12:57:20,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:20,887 INFO L93 Difference]: Finished difference Result 132 states and 161 transitions. [2022-04-28 12:57:20,887 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:57:20,887 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-28 12:57:20,887 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:57:20,888 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-28 12:57:20,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-28 12:57:20,889 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-28 12:57:20,890 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-28 12:57:20,890 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 90 transitions. [2022-04-28 12:57:20,966 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-28 12:57:20,967 INFO L225 Difference]: With dead ends: 132 [2022-04-28 12:57:20,967 INFO L226 Difference]: Without dead ends: 99 [2022-04-28 12:57:20,968 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 113 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:57:20,969 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 7 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 27 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 32 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 27 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:57:20,969 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 146 Invalid, 32 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 27 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:57:20,969 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-04-28 12:57:21,032 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 99. [2022-04-28 12:57:21,033 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:57:21,033 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-28 12:57:21,033 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-28 12:57:21,033 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-28 12:57:21,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:21,036 INFO L93 Difference]: Finished difference Result 99 states and 115 transitions. [2022-04-28 12:57:21,036 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-28 12:57:21,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:21,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:21,037 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-28 12:57:21,037 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-28 12:57:21,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:21,039 INFO L93 Difference]: Finished difference Result 99 states and 115 transitions. [2022-04-28 12:57:21,039 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-28 12:57:21,040 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:21,040 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:21,040 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:57:21,040 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:57:21,040 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-28 12:57:21,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 115 transitions. [2022-04-28 12:57:21,042 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 115 transitions. Word has length 61 [2022-04-28 12:57:21,043 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:57:21,043 INFO L495 AbstractCegarLoop]: Abstraction has 99 states and 115 transitions. [2022-04-28 12:57:21,043 INFO L496 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-28 12:57:21,043 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 115 transitions. [2022-04-28 12:57:21,180 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-28 12:57:21,180 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-28 12:57:21,181 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-28 12:57:21,181 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:57:21,181 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:57:21,201 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-28 12:57:21,381 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 12:57:21,382 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:57:21,382 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:57:21,382 INFO L85 PathProgramCache]: Analyzing trace with hash 1140868055, now seen corresponding path program 1 times [2022-04-28 12:57:21,382 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:21,382 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1004005167] [2022-04-28 12:57:29,588 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 12:57:29,588 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 12:57:29,588 INFO L85 PathProgramCache]: Analyzing trace with hash 1140868055, now seen corresponding path program 2 times [2022-04-28 12:57:29,588 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:29,588 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [990384202] [2022-04-28 12:57:29,588 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:29,588 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:29,598 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:57:29,598 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [298241494] [2022-04-28 12:57:29,598 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:57:29,598 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:29,598 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:57:29,600 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:57:29,611 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 12:57:29,658 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:57:29,658 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:57:29,659 INFO L263 TraceCheckSpWp]: Trace formula consists of 185 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:57:29,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:29,677 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:57:29,948 INFO L272 TraceCheckUtils]: 0: Hoare triple {6309#true} call ULTIMATE.init(); {6309#true} is VALID [2022-04-28 12:57:29,949 INFO L290 TraceCheckUtils]: 1: Hoare triple {6309#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; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:29,949 INFO L290 TraceCheckUtils]: 2: Hoare triple {6317#(<= ~counter~0 0)} assume true; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:29,950 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6317#(<= ~counter~0 0)} {6309#true} #96#return; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:29,950 INFO L272 TraceCheckUtils]: 4: Hoare triple {6317#(<= ~counter~0 0)} call #t~ret8 := main(); {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:29,950 INFO L290 TraceCheckUtils]: 5: Hoare triple {6317#(<= ~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; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:29,951 INFO L272 TraceCheckUtils]: 6: Hoare triple {6317#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:29,951 INFO L290 TraceCheckUtils]: 7: Hoare triple {6317#(<= ~counter~0 0)} ~cond := #in~cond; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:29,952 INFO L290 TraceCheckUtils]: 8: Hoare triple {6317#(<= ~counter~0 0)} assume !(0 == ~cond); {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:29,952 INFO L290 TraceCheckUtils]: 9: Hoare triple {6317#(<= ~counter~0 0)} assume true; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:29,953 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6317#(<= ~counter~0 0)} {6317#(<= ~counter~0 0)} #80#return; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:29,953 INFO L290 TraceCheckUtils]: 11: Hoare triple {6317#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:57:29,954 INFO L290 TraceCheckUtils]: 12: Hoare triple {6317#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:29,954 INFO L290 TraceCheckUtils]: 13: Hoare triple {6351#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:29,955 INFO L272 TraceCheckUtils]: 14: Hoare triple {6351#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:29,955 INFO L290 TraceCheckUtils]: 15: Hoare triple {6351#(<= ~counter~0 1)} ~cond := #in~cond; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:29,955 INFO L290 TraceCheckUtils]: 16: Hoare triple {6351#(<= ~counter~0 1)} assume !(0 == ~cond); {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:29,956 INFO L290 TraceCheckUtils]: 17: Hoare triple {6351#(<= ~counter~0 1)} assume true; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:29,956 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6351#(<= ~counter~0 1)} {6351#(<= ~counter~0 1)} #82#return; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:29,957 INFO L272 TraceCheckUtils]: 19: Hoare triple {6351#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:29,957 INFO L290 TraceCheckUtils]: 20: Hoare triple {6351#(<= ~counter~0 1)} ~cond := #in~cond; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:29,957 INFO L290 TraceCheckUtils]: 21: Hoare triple {6351#(<= ~counter~0 1)} assume !(0 == ~cond); {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:29,958 INFO L290 TraceCheckUtils]: 22: Hoare triple {6351#(<= ~counter~0 1)} assume true; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:29,958 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6351#(<= ~counter~0 1)} {6351#(<= ~counter~0 1)} #84#return; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:29,959 INFO L272 TraceCheckUtils]: 24: Hoare triple {6351#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:29,959 INFO L290 TraceCheckUtils]: 25: Hoare triple {6351#(<= ~counter~0 1)} ~cond := #in~cond; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:29,960 INFO L290 TraceCheckUtils]: 26: Hoare triple {6351#(<= ~counter~0 1)} assume !(0 == ~cond); {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:29,960 INFO L290 TraceCheckUtils]: 27: Hoare triple {6351#(<= ~counter~0 1)} assume true; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:29,960 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6351#(<= ~counter~0 1)} {6351#(<= ~counter~0 1)} #86#return; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:29,961 INFO L290 TraceCheckUtils]: 29: Hoare triple {6351#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:57:29,961 INFO L290 TraceCheckUtils]: 30: Hoare triple {6351#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:29,961 INFO L290 TraceCheckUtils]: 31: Hoare triple {6406#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:29,962 INFO L272 TraceCheckUtils]: 32: Hoare triple {6406#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:29,962 INFO L290 TraceCheckUtils]: 33: Hoare triple {6406#(<= ~counter~0 2)} ~cond := #in~cond; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:29,965 INFO L290 TraceCheckUtils]: 34: Hoare triple {6406#(<= ~counter~0 2)} assume !(0 == ~cond); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:29,965 INFO L290 TraceCheckUtils]: 35: Hoare triple {6406#(<= ~counter~0 2)} assume true; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:29,965 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6406#(<= ~counter~0 2)} {6406#(<= ~counter~0 2)} #82#return; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:29,966 INFO L272 TraceCheckUtils]: 37: Hoare triple {6406#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:29,966 INFO L290 TraceCheckUtils]: 38: Hoare triple {6406#(<= ~counter~0 2)} ~cond := #in~cond; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:29,966 INFO L290 TraceCheckUtils]: 39: Hoare triple {6406#(<= ~counter~0 2)} assume !(0 == ~cond); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:29,967 INFO L290 TraceCheckUtils]: 40: Hoare triple {6406#(<= ~counter~0 2)} assume true; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:29,981 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6406#(<= ~counter~0 2)} {6406#(<= ~counter~0 2)} #84#return; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:29,982 INFO L272 TraceCheckUtils]: 42: Hoare triple {6406#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:29,982 INFO L290 TraceCheckUtils]: 43: Hoare triple {6406#(<= ~counter~0 2)} ~cond := #in~cond; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:29,983 INFO L290 TraceCheckUtils]: 44: Hoare triple {6406#(<= ~counter~0 2)} assume !(0 == ~cond); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:29,983 INFO L290 TraceCheckUtils]: 45: Hoare triple {6406#(<= ~counter~0 2)} assume true; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:29,983 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6406#(<= ~counter~0 2)} {6406#(<= ~counter~0 2)} #86#return; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:29,984 INFO L290 TraceCheckUtils]: 47: Hoare triple {6406#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:57:29,984 INFO L290 TraceCheckUtils]: 48: Hoare triple {6406#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:57:29,985 INFO L290 TraceCheckUtils]: 49: Hoare triple {6461#(<= ~counter~0 3)} assume !!(#t~post7 < 50);havoc #t~post7; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:57:29,985 INFO L272 TraceCheckUtils]: 50: Hoare triple {6461#(<= ~counter~0 3)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:57:29,985 INFO L290 TraceCheckUtils]: 51: Hoare triple {6461#(<= ~counter~0 3)} ~cond := #in~cond; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:57:29,986 INFO L290 TraceCheckUtils]: 52: Hoare triple {6461#(<= ~counter~0 3)} assume !(0 == ~cond); {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:57:29,986 INFO L290 TraceCheckUtils]: 53: Hoare triple {6461#(<= ~counter~0 3)} assume true; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:57:29,986 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {6461#(<= ~counter~0 3)} {6461#(<= ~counter~0 3)} #88#return; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:57:29,987 INFO L272 TraceCheckUtils]: 55: Hoare triple {6461#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:57:29,987 INFO L290 TraceCheckUtils]: 56: Hoare triple {6461#(<= ~counter~0 3)} ~cond := #in~cond; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:57:29,988 INFO L290 TraceCheckUtils]: 57: Hoare triple {6461#(<= ~counter~0 3)} assume !(0 == ~cond); {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:57:29,988 INFO L290 TraceCheckUtils]: 58: Hoare triple {6461#(<= ~counter~0 3)} assume true; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:57:29,989 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6461#(<= ~counter~0 3)} {6461#(<= ~counter~0 3)} #90#return; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:57:29,989 INFO L290 TraceCheckUtils]: 60: Hoare triple {6461#(<= ~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); {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:57:29,989 INFO L290 TraceCheckUtils]: 61: Hoare triple {6461#(<= ~counter~0 3)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:57:29,990 INFO L290 TraceCheckUtils]: 62: Hoare triple {6461#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6504#(<= |main_#t~post7| 3)} is VALID [2022-04-28 12:57:29,990 INFO L290 TraceCheckUtils]: 63: Hoare triple {6504#(<= |main_#t~post7| 3)} assume !(#t~post7 < 50);havoc #t~post7; {6310#false} is VALID [2022-04-28 12:57:29,990 INFO L272 TraceCheckUtils]: 64: Hoare triple {6310#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6310#false} is VALID [2022-04-28 12:57:29,990 INFO L290 TraceCheckUtils]: 65: Hoare triple {6310#false} ~cond := #in~cond; {6310#false} is VALID [2022-04-28 12:57:29,990 INFO L290 TraceCheckUtils]: 66: Hoare triple {6310#false} assume 0 == ~cond; {6310#false} is VALID [2022-04-28 12:57:29,990 INFO L290 TraceCheckUtils]: 67: Hoare triple {6310#false} assume !false; {6310#false} is VALID [2022-04-28 12:57:29,991 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 16 proven. 92 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 12:57:29,991 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:57:30,286 INFO L290 TraceCheckUtils]: 67: Hoare triple {6310#false} assume !false; {6310#false} is VALID [2022-04-28 12:57:30,286 INFO L290 TraceCheckUtils]: 66: Hoare triple {6310#false} assume 0 == ~cond; {6310#false} is VALID [2022-04-28 12:57:30,287 INFO L290 TraceCheckUtils]: 65: Hoare triple {6310#false} ~cond := #in~cond; {6310#false} is VALID [2022-04-28 12:57:30,287 INFO L272 TraceCheckUtils]: 64: Hoare triple {6310#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6310#false} is VALID [2022-04-28 12:57:30,287 INFO L290 TraceCheckUtils]: 63: Hoare triple {6532#(< |main_#t~post7| 50)} assume !(#t~post7 < 50);havoc #t~post7; {6310#false} is VALID [2022-04-28 12:57:30,287 INFO L290 TraceCheckUtils]: 62: Hoare triple {6536#(< ~counter~0 50)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6532#(< |main_#t~post7| 50)} is VALID [2022-04-28 12:57:30,288 INFO L290 TraceCheckUtils]: 61: Hoare triple {6536#(< ~counter~0 50)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6536#(< ~counter~0 50)} is VALID [2022-04-28 12:57:30,288 INFO L290 TraceCheckUtils]: 60: Hoare triple {6536#(< ~counter~0 50)} 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); {6536#(< ~counter~0 50)} is VALID [2022-04-28 12:57:30,289 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6309#true} {6536#(< ~counter~0 50)} #90#return; {6536#(< ~counter~0 50)} is VALID [2022-04-28 12:57:30,289 INFO L290 TraceCheckUtils]: 58: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 12:57:30,289 INFO L290 TraceCheckUtils]: 57: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 12:57:30,289 INFO L290 TraceCheckUtils]: 56: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 12:57:30,289 INFO L272 TraceCheckUtils]: 55: Hoare triple {6536#(< ~counter~0 50)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6309#true} is VALID [2022-04-28 12:57:30,290 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {6309#true} {6536#(< ~counter~0 50)} #88#return; {6536#(< ~counter~0 50)} is VALID [2022-04-28 12:57:30,290 INFO L290 TraceCheckUtils]: 53: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 12:57:30,290 INFO L290 TraceCheckUtils]: 52: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 12:57:30,290 INFO L290 TraceCheckUtils]: 51: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 12:57:30,290 INFO L272 TraceCheckUtils]: 50: Hoare triple {6536#(< ~counter~0 50)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6309#true} is VALID [2022-04-28 12:57:30,291 INFO L290 TraceCheckUtils]: 49: Hoare triple {6536#(< ~counter~0 50)} assume !!(#t~post7 < 50);havoc #t~post7; {6536#(< ~counter~0 50)} is VALID [2022-04-28 12:57:30,291 INFO L290 TraceCheckUtils]: 48: Hoare triple {6579#(< ~counter~0 49)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6536#(< ~counter~0 50)} is VALID [2022-04-28 12:57:30,292 INFO L290 TraceCheckUtils]: 47: Hoare triple {6579#(< ~counter~0 49)} assume !(~r~0 >= ~d~0); {6579#(< ~counter~0 49)} is VALID [2022-04-28 12:57:30,292 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6309#true} {6579#(< ~counter~0 49)} #86#return; {6579#(< ~counter~0 49)} is VALID [2022-04-28 12:57:30,292 INFO L290 TraceCheckUtils]: 45: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 12:57:30,292 INFO L290 TraceCheckUtils]: 44: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 12:57:30,293 INFO L290 TraceCheckUtils]: 43: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 12:57:30,293 INFO L272 TraceCheckUtils]: 42: Hoare triple {6579#(< ~counter~0 49)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6309#true} is VALID [2022-04-28 12:57:30,293 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6309#true} {6579#(< ~counter~0 49)} #84#return; {6579#(< ~counter~0 49)} is VALID [2022-04-28 12:57:30,293 INFO L290 TraceCheckUtils]: 40: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 12:57:30,293 INFO L290 TraceCheckUtils]: 39: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 12:57:30,294 INFO L290 TraceCheckUtils]: 38: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 12:57:30,294 INFO L272 TraceCheckUtils]: 37: Hoare triple {6579#(< ~counter~0 49)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6309#true} is VALID [2022-04-28 12:57:30,294 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6309#true} {6579#(< ~counter~0 49)} #82#return; {6579#(< ~counter~0 49)} is VALID [2022-04-28 12:57:30,294 INFO L290 TraceCheckUtils]: 35: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 12:57:30,294 INFO L290 TraceCheckUtils]: 34: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 12:57:30,294 INFO L290 TraceCheckUtils]: 33: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 12:57:30,295 INFO L272 TraceCheckUtils]: 32: Hoare triple {6579#(< ~counter~0 49)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6309#true} is VALID [2022-04-28 12:57:30,295 INFO L290 TraceCheckUtils]: 31: Hoare triple {6579#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {6579#(< ~counter~0 49)} is VALID [2022-04-28 12:57:30,295 INFO L290 TraceCheckUtils]: 30: Hoare triple {6634#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6579#(< ~counter~0 49)} is VALID [2022-04-28 12:57:30,296 INFO L290 TraceCheckUtils]: 29: Hoare triple {6634#(< ~counter~0 48)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6634#(< ~counter~0 48)} is VALID [2022-04-28 12:57:30,296 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6309#true} {6634#(< ~counter~0 48)} #86#return; {6634#(< ~counter~0 48)} is VALID [2022-04-28 12:57:30,297 INFO L290 TraceCheckUtils]: 27: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 12:57:30,297 INFO L290 TraceCheckUtils]: 26: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 12:57:30,297 INFO L290 TraceCheckUtils]: 25: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 12:57:30,297 INFO L272 TraceCheckUtils]: 24: Hoare triple {6634#(< ~counter~0 48)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6309#true} is VALID [2022-04-28 12:57:30,297 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6309#true} {6634#(< ~counter~0 48)} #84#return; {6634#(< ~counter~0 48)} is VALID [2022-04-28 12:57:30,297 INFO L290 TraceCheckUtils]: 22: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 12:57:30,298 INFO L290 TraceCheckUtils]: 21: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 12:57:30,298 INFO L290 TraceCheckUtils]: 20: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 12:57:30,298 INFO L272 TraceCheckUtils]: 19: Hoare triple {6634#(< ~counter~0 48)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6309#true} is VALID [2022-04-28 12:57:30,298 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6309#true} {6634#(< ~counter~0 48)} #82#return; {6634#(< ~counter~0 48)} is VALID [2022-04-28 12:57:30,298 INFO L290 TraceCheckUtils]: 17: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 12:57:30,298 INFO L290 TraceCheckUtils]: 16: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 12:57:30,299 INFO L290 TraceCheckUtils]: 15: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 12:57:30,299 INFO L272 TraceCheckUtils]: 14: Hoare triple {6634#(< ~counter~0 48)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6309#true} is VALID [2022-04-28 12:57:30,299 INFO L290 TraceCheckUtils]: 13: Hoare triple {6634#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {6634#(< ~counter~0 48)} is VALID [2022-04-28 12:57:30,299 INFO L290 TraceCheckUtils]: 12: Hoare triple {6689#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6634#(< ~counter~0 48)} is VALID [2022-04-28 12:57:30,300 INFO L290 TraceCheckUtils]: 11: Hoare triple {6689#(< ~counter~0 47)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6689#(< ~counter~0 47)} is VALID [2022-04-28 12:57:30,300 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6309#true} {6689#(< ~counter~0 47)} #80#return; {6689#(< ~counter~0 47)} is VALID [2022-04-28 12:57:30,300 INFO L290 TraceCheckUtils]: 9: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 12:57:30,300 INFO L290 TraceCheckUtils]: 8: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 12:57:30,301 INFO L290 TraceCheckUtils]: 7: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 12:57:30,301 INFO L272 TraceCheckUtils]: 6: Hoare triple {6689#(< ~counter~0 47)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6309#true} is VALID [2022-04-28 12:57:30,301 INFO L290 TraceCheckUtils]: 5: Hoare triple {6689#(< ~counter~0 47)} 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; {6689#(< ~counter~0 47)} is VALID [2022-04-28 12:57:30,301 INFO L272 TraceCheckUtils]: 4: Hoare triple {6689#(< ~counter~0 47)} call #t~ret8 := main(); {6689#(< ~counter~0 47)} is VALID [2022-04-28 12:57:30,302 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6689#(< ~counter~0 47)} {6309#true} #96#return; {6689#(< ~counter~0 47)} is VALID [2022-04-28 12:57:30,302 INFO L290 TraceCheckUtils]: 2: Hoare triple {6689#(< ~counter~0 47)} assume true; {6689#(< ~counter~0 47)} is VALID [2022-04-28 12:57:30,303 INFO L290 TraceCheckUtils]: 1: Hoare triple {6309#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; {6689#(< ~counter~0 47)} is VALID [2022-04-28 12:57:30,303 INFO L272 TraceCheckUtils]: 0: Hoare triple {6309#true} call ULTIMATE.init(); {6309#true} is VALID [2022-04-28 12:57:30,303 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 16 proven. 8 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 12:57:30,303 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:57:30,303 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [990384202] [2022-04-28 12:57:30,303 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:57:30,303 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [298241494] [2022-04-28 12:57:30,304 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [298241494] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:57:30,304 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:57:30,304 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 12:57:30,304 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:57:30,304 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1004005167] [2022-04-28 12:57:30,304 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1004005167] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:30,304 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:30,304 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:57:30,304 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1276235278] [2022-04-28 12:57:30,304 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:57:30,306 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-28 12:57:30,306 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:57:30,307 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-28 12:57:30,343 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:57:30,344 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:57:30,344 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:30,344 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:57:30,344 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:57:30,344 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-28 12:57:30,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:30,700 INFO L93 Difference]: Finished difference Result 151 states and 174 transitions. [2022-04-28 12:57:30,700 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:57:30,700 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-28 12:57:30,700 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:57:30,701 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-28 12:57:30,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 107 transitions. [2022-04-28 12:57:30,702 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-28 12:57:30,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 107 transitions. [2022-04-28 12:57:30,704 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 107 transitions. [2022-04-28 12:57:30,800 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:57:30,802 INFO L225 Difference]: With dead ends: 151 [2022-04-28 12:57:30,802 INFO L226 Difference]: Without dead ends: 136 [2022-04-28 12:57:30,803 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 125 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=59, Invalid=97, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:57:30,803 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 41 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 174 SdHoareTripleChecker+Invalid, 85 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:57:30,803 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 174 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:57:30,804 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2022-04-28 12:57:30,913 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 133. [2022-04-28 12:57:30,913 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:57:30,914 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-28 12:57:30,914 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-28 12:57:30,914 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-28 12:57:30,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:30,918 INFO L93 Difference]: Finished difference Result 136 states and 156 transitions. [2022-04-28 12:57:30,918 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 156 transitions. [2022-04-28 12:57:30,918 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:30,918 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:30,919 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-28 12:57:30,919 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-28 12:57:30,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:30,922 INFO L93 Difference]: Finished difference Result 136 states and 156 transitions. [2022-04-28 12:57:30,922 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 156 transitions. [2022-04-28 12:57:30,922 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:30,923 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:30,923 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:57:30,923 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:57:30,923 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-28 12:57:30,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 154 transitions. [2022-04-28 12:57:30,926 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 154 transitions. Word has length 68 [2022-04-28 12:57:30,926 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:57:30,926 INFO L495 AbstractCegarLoop]: Abstraction has 133 states and 154 transitions. [2022-04-28 12:57:30,926 INFO L496 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-28 12:57:30,926 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 133 states and 154 transitions. [2022-04-28 12:57:31,110 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:57:31,111 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 154 transitions. [2022-04-28 12:57:31,111 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-28 12:57:31,112 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:57:31,112 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:57:31,136 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 12:57:31,312 WARN L477 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-28 12:57:31,312 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:57:31,313 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:57:31,313 INFO L85 PathProgramCache]: Analyzing trace with hash 1142595933, now seen corresponding path program 1 times [2022-04-28 12:57:31,313 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:31,313 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [770423671] [2022-04-28 12:57:36,428 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 12:57:36,428 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 12:57:36,428 INFO L85 PathProgramCache]: Analyzing trace with hash 1142595933, now seen corresponding path program 2 times [2022-04-28 12:57:36,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:36,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [209778800] [2022-04-28 12:57:36,428 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:36,428 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:36,438 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:57:36,438 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1237083220] [2022-04-28 12:57:36,439 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:57:36,439 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:36,439 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:57:36,447 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:57:36,452 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 12:57:36,495 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:57:36,495 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:57:36,496 INFO L263 TraceCheckSpWp]: Trace formula consists of 185 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 12:57:36,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:36,514 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:57:41,011 INFO L272 TraceCheckUtils]: 0: Hoare triple {7570#true} call ULTIMATE.init(); {7570#true} is VALID [2022-04-28 12:57:41,012 INFO L290 TraceCheckUtils]: 1: Hoare triple {7570#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; {7570#true} is VALID [2022-04-28 12:57:41,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:41,012 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7570#true} {7570#true} #96#return; {7570#true} is VALID [2022-04-28 12:57:41,012 INFO L272 TraceCheckUtils]: 4: Hoare triple {7570#true} call #t~ret8 := main(); {7570#true} is VALID [2022-04-28 12:57:41,012 INFO L290 TraceCheckUtils]: 5: Hoare triple {7570#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; {7570#true} is VALID [2022-04-28 12:57:41,012 INFO L272 TraceCheckUtils]: 6: Hoare triple {7570#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:57:41,012 INFO L290 TraceCheckUtils]: 7: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:57:41,012 INFO L290 TraceCheckUtils]: 8: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:57:41,012 INFO L290 TraceCheckUtils]: 9: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:41,013 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7570#true} {7570#true} #80#return; {7570#true} is VALID [2022-04-28 12:57:41,013 INFO L290 TraceCheckUtils]: 11: Hoare triple {7570#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7608#(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-28 12:57:41,014 INFO L290 TraceCheckUtils]: 12: Hoare triple {7608#(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; {7608#(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-28 12:57:41,014 INFO L290 TraceCheckUtils]: 13: Hoare triple {7608#(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 < 50);havoc #t~post6; {7608#(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-28 12:57:41,014 INFO L272 TraceCheckUtils]: 14: Hoare triple {7608#(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)); {7570#true} is VALID [2022-04-28 12:57:41,014 INFO L290 TraceCheckUtils]: 15: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:57:41,014 INFO L290 TraceCheckUtils]: 16: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:57:41,014 INFO L290 TraceCheckUtils]: 17: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:41,015 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7570#true} {7608#(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; {7608#(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-28 12:57:41,015 INFO L272 TraceCheckUtils]: 19: Hoare triple {7608#(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)); {7570#true} is VALID [2022-04-28 12:57:41,015 INFO L290 TraceCheckUtils]: 20: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:57:41,015 INFO L290 TraceCheckUtils]: 21: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:57:41,015 INFO L290 TraceCheckUtils]: 22: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:41,016 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7570#true} {7608#(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; {7608#(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-28 12:57:41,016 INFO L272 TraceCheckUtils]: 24: Hoare triple {7608#(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)); {7570#true} is VALID [2022-04-28 12:57:41,016 INFO L290 TraceCheckUtils]: 25: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:57:41,016 INFO L290 TraceCheckUtils]: 26: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:57:41,017 INFO L290 TraceCheckUtils]: 27: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:41,017 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7570#true} {7608#(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; {7608#(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-28 12:57:41,018 INFO L290 TraceCheckUtils]: 29: Hoare triple {7608#(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; {7663#(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-28 12:57:41,019 INFO L290 TraceCheckUtils]: 30: Hoare triple {7663#(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; {7663#(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-28 12:57:41,019 INFO L290 TraceCheckUtils]: 31: Hoare triple {7663#(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 < 50);havoc #t~post6; {7663#(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-28 12:57:41,019 INFO L272 TraceCheckUtils]: 32: Hoare triple {7663#(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)); {7570#true} is VALID [2022-04-28 12:57:41,019 INFO L290 TraceCheckUtils]: 33: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:57:41,020 INFO L290 TraceCheckUtils]: 34: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:57:41,020 INFO L290 TraceCheckUtils]: 35: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:41,020 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7570#true} {7663#(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; {7663#(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-28 12:57:41,020 INFO L272 TraceCheckUtils]: 37: Hoare triple {7663#(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)); {7570#true} is VALID [2022-04-28 12:57:41,020 INFO L290 TraceCheckUtils]: 38: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:57:41,020 INFO L290 TraceCheckUtils]: 39: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:57:41,021 INFO L290 TraceCheckUtils]: 40: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:41,021 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7570#true} {7663#(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; {7663#(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-28 12:57:41,021 INFO L272 TraceCheckUtils]: 42: Hoare triple {7663#(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)); {7570#true} is VALID [2022-04-28 12:57:41,021 INFO L290 TraceCheckUtils]: 43: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:57:41,021 INFO L290 TraceCheckUtils]: 44: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:57:41,022 INFO L290 TraceCheckUtils]: 45: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:41,022 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7570#true} {7663#(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; {7663#(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-28 12:57:41,023 INFO L290 TraceCheckUtils]: 47: Hoare triple {7663#(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); {7718#(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-28 12:57:41,023 INFO L290 TraceCheckUtils]: 48: Hoare triple {7718#(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; {7718#(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-28 12:57:41,024 INFO L290 TraceCheckUtils]: 49: Hoare triple {7718#(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 < 50);havoc #t~post7; {7718#(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-28 12:57:41,024 INFO L272 TraceCheckUtils]: 50: Hoare triple {7718#(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)); {7570#true} is VALID [2022-04-28 12:57:41,024 INFO L290 TraceCheckUtils]: 51: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:57:41,024 INFO L290 TraceCheckUtils]: 52: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:57:41,024 INFO L290 TraceCheckUtils]: 53: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:41,025 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7570#true} {7718#(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; {7718#(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-28 12:57:41,025 INFO L272 TraceCheckUtils]: 55: Hoare triple {7718#(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)); {7570#true} is VALID [2022-04-28 12:57:41,025 INFO L290 TraceCheckUtils]: 56: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:57:41,025 INFO L290 TraceCheckUtils]: 57: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:57:41,025 INFO L290 TraceCheckUtils]: 58: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:41,026 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7570#true} {7718#(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; {7718#(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-28 12:57:41,027 INFO L290 TraceCheckUtils]: 60: Hoare triple {7718#(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); {7758#(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-28 12:57:41,028 INFO L290 TraceCheckUtils]: 61: Hoare triple {7758#(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; {7762#(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-28 12:57:41,029 INFO L290 TraceCheckUtils]: 62: Hoare triple {7762#(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; {7762#(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-28 12:57:41,029 INFO L290 TraceCheckUtils]: 63: Hoare triple {7762#(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 < 50);havoc #t~post7; {7762#(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-28 12:57:41,030 INFO L272 TraceCheckUtils]: 64: Hoare triple {7762#(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)); {7772#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:57:41,031 INFO L290 TraceCheckUtils]: 65: Hoare triple {7772#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7776#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:41,031 INFO L290 TraceCheckUtils]: 66: Hoare triple {7776#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7571#false} is VALID [2022-04-28 12:57:41,031 INFO L290 TraceCheckUtils]: 67: Hoare triple {7571#false} assume !false; {7571#false} is VALID [2022-04-28 12:57:41,031 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 12:57:41,032 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:57:49,390 INFO L290 TraceCheckUtils]: 67: Hoare triple {7571#false} assume !false; {7571#false} is VALID [2022-04-28 12:57:49,390 INFO L290 TraceCheckUtils]: 66: Hoare triple {7776#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7571#false} is VALID [2022-04-28 12:57:49,391 INFO L290 TraceCheckUtils]: 65: Hoare triple {7772#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7776#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:49,391 INFO L272 TraceCheckUtils]: 64: Hoare triple {7792#(= (+ 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)); {7772#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:57:49,392 INFO L290 TraceCheckUtils]: 63: Hoare triple {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 50);havoc #t~post7; {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 12:57:49,392 INFO L290 TraceCheckUtils]: 62: Hoare triple {7792#(= (+ 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; {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 12:57:49,394 INFO L290 TraceCheckUtils]: 61: Hoare triple {7802#(= (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; {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 12:57:49,408 INFO L290 TraceCheckUtils]: 60: Hoare triple {7806#(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); {7802#(= (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-28 12:57:49,409 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7570#true} {7806#(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; {7806#(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-28 12:57:49,409 INFO L290 TraceCheckUtils]: 58: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:49,409 INFO L290 TraceCheckUtils]: 57: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:57:49,410 INFO L290 TraceCheckUtils]: 56: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:57:49,410 INFO L272 TraceCheckUtils]: 55: Hoare triple {7806#(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)); {7570#true} is VALID [2022-04-28 12:57:49,410 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7570#true} {7806#(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; {7806#(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-28 12:57:49,411 INFO L290 TraceCheckUtils]: 53: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:49,411 INFO L290 TraceCheckUtils]: 52: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:57:49,411 INFO L290 TraceCheckUtils]: 51: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:57:49,411 INFO L272 TraceCheckUtils]: 50: Hoare triple {7806#(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)); {7570#true} is VALID [2022-04-28 12:57:49,412 INFO L290 TraceCheckUtils]: 49: Hoare triple {7806#(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 < 50);havoc #t~post7; {7806#(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-28 12:57:49,414 INFO L290 TraceCheckUtils]: 48: Hoare triple {7806#(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; {7806#(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-28 12:57:49,415 INFO L290 TraceCheckUtils]: 47: Hoare triple {7846#(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); {7806#(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-28 12:57:49,415 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7570#true} {7846#(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; {7846#(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-28 12:57:49,416 INFO L290 TraceCheckUtils]: 45: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:49,416 INFO L290 TraceCheckUtils]: 44: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:57:49,416 INFO L290 TraceCheckUtils]: 43: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:57:49,416 INFO L272 TraceCheckUtils]: 42: Hoare triple {7846#(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)); {7570#true} is VALID [2022-04-28 12:57:49,417 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7570#true} {7846#(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; {7846#(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-28 12:57:49,417 INFO L290 TraceCheckUtils]: 40: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:49,417 INFO L290 TraceCheckUtils]: 39: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:57:49,417 INFO L290 TraceCheckUtils]: 38: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:57:49,417 INFO L272 TraceCheckUtils]: 37: Hoare triple {7846#(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)); {7570#true} is VALID [2022-04-28 12:57:49,418 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7570#true} {7846#(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; {7846#(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-28 12:57:49,418 INFO L290 TraceCheckUtils]: 35: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:49,418 INFO L290 TraceCheckUtils]: 34: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:57:49,418 INFO L290 TraceCheckUtils]: 33: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:57:49,418 INFO L272 TraceCheckUtils]: 32: Hoare triple {7846#(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)); {7570#true} is VALID [2022-04-28 12:57:49,419 INFO L290 TraceCheckUtils]: 31: Hoare triple {7846#(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 < 50);havoc #t~post6; {7846#(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-28 12:57:49,421 INFO L290 TraceCheckUtils]: 30: Hoare triple {7846#(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; {7846#(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-28 12:57:49,424 INFO L290 TraceCheckUtils]: 29: Hoare triple {7901#(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; {7846#(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-28 12:57:49,425 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7570#true} {7901#(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; {7901#(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-28 12:57:49,425 INFO L290 TraceCheckUtils]: 27: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:49,425 INFO L290 TraceCheckUtils]: 26: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:57:49,425 INFO L290 TraceCheckUtils]: 25: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:57:49,426 INFO L272 TraceCheckUtils]: 24: Hoare triple {7901#(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)); {7570#true} is VALID [2022-04-28 12:57:49,426 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7570#true} {7901#(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; {7901#(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-28 12:57:49,426 INFO L290 TraceCheckUtils]: 22: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:49,426 INFO L290 TraceCheckUtils]: 21: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:57:49,427 INFO L290 TraceCheckUtils]: 20: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:57:49,427 INFO L272 TraceCheckUtils]: 19: Hoare triple {7901#(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)); {7570#true} is VALID [2022-04-28 12:57:49,427 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7570#true} {7901#(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; {7901#(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-28 12:57:49,427 INFO L290 TraceCheckUtils]: 17: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:49,428 INFO L290 TraceCheckUtils]: 16: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:57:49,428 INFO L290 TraceCheckUtils]: 15: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:57:49,428 INFO L272 TraceCheckUtils]: 14: Hoare triple {7901#(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)); {7570#true} is VALID [2022-04-28 12:57:49,428 INFO L290 TraceCheckUtils]: 13: Hoare triple {7901#(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 < 50);havoc #t~post6; {7901#(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-28 12:57:49,429 INFO L290 TraceCheckUtils]: 12: Hoare triple {7901#(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; {7901#(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-28 12:57:49,430 INFO L290 TraceCheckUtils]: 11: Hoare triple {7570#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7901#(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-28 12:57:49,430 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7570#true} {7570#true} #80#return; {7570#true} is VALID [2022-04-28 12:57:49,431 INFO L290 TraceCheckUtils]: 9: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:49,431 INFO L290 TraceCheckUtils]: 8: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:57:49,431 INFO L290 TraceCheckUtils]: 7: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:57:49,431 INFO L272 TraceCheckUtils]: 6: Hoare triple {7570#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:57:49,431 INFO L290 TraceCheckUtils]: 5: Hoare triple {7570#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; {7570#true} is VALID [2022-04-28 12:57:49,431 INFO L272 TraceCheckUtils]: 4: Hoare triple {7570#true} call #t~ret8 := main(); {7570#true} is VALID [2022-04-28 12:57:49,431 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7570#true} {7570#true} #96#return; {7570#true} is VALID [2022-04-28 12:57:49,431 INFO L290 TraceCheckUtils]: 2: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:57:49,431 INFO L290 TraceCheckUtils]: 1: Hoare triple {7570#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; {7570#true} is VALID [2022-04-28 12:57:49,431 INFO L272 TraceCheckUtils]: 0: Hoare triple {7570#true} call ULTIMATE.init(); {7570#true} is VALID [2022-04-28 12:57:49,432 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 12:57:49,432 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:57:49,432 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [209778800] [2022-04-28 12:57:49,432 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:57:49,433 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1237083220] [2022-04-28 12:57:49,433 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1237083220] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:57:49,433 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:57:49,433 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 12:57:49,433 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:57:49,433 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [770423671] [2022-04-28 12:57:49,433 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [770423671] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:49,433 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:49,433 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:57:49,433 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1607564432] [2022-04-28 12:57:49,434 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:57:49,434 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-28 12:57:49,434 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:57:49,434 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-28 12:57:49,487 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:57:49,487 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:57:49,488 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:49,488 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:57:49,488 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:57:49,488 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-28 12:57:50,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:50,346 INFO L93 Difference]: Finished difference Result 178 states and 213 transitions. [2022-04-28 12:57:50,346 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:57:50,347 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-28 12:57:50,347 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:57:50,347 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-28 12:57:50,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-28 12:57:50,349 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-28 12:57:50,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-28 12:57:50,350 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-28 12:57:50,465 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-28 12:57:50,468 INFO L225 Difference]: With dead ends: 178 [2022-04-28 12:57:50,468 INFO L226 Difference]: Without dead ends: 143 [2022-04-28 12:57:50,468 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 122 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:57:50,469 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 12 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 183 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:57:50,469 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 207 Invalid, 196 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 183 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:57:50,469 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 143 states. [2022-04-28 12:57:50,619 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 143 to 141. [2022-04-28 12:57:50,619 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:57:50,619 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-28 12:57:50,620 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-28 12:57:50,620 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-28 12:57:50,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:50,623 INFO L93 Difference]: Finished difference Result 143 states and 165 transitions. [2022-04-28 12:57:50,623 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 165 transitions. [2022-04-28 12:57:50,624 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:50,625 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:50,625 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-28 12:57:50,625 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-28 12:57:50,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:50,628 INFO L93 Difference]: Finished difference Result 143 states and 165 transitions. [2022-04-28 12:57:50,628 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 165 transitions. [2022-04-28 12:57:50,629 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:50,629 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:50,629 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:57:50,629 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:57:50,631 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-28 12:57:50,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 141 states to 141 states and 162 transitions. [2022-04-28 12:57:50,634 INFO L78 Accepts]: Start accepts. Automaton has 141 states and 162 transitions. Word has length 68 [2022-04-28 12:57:50,635 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:57:50,635 INFO L495 AbstractCegarLoop]: Abstraction has 141 states and 162 transitions. [2022-04-28 12:57:50,639 INFO L496 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-28 12:57:50,639 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 141 states and 162 transitions. [2022-04-28 12:57:50,842 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-28 12:57:50,843 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 162 transitions. [2022-04-28 12:57:50,843 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-28 12:57:50,843 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:57:50,843 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:57:50,859 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 12:57:51,047 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 12:57:51,048 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:57:51,048 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:57:51,048 INFO L85 PathProgramCache]: Analyzing trace with hash -1390565976, now seen corresponding path program 3 times [2022-04-28 12:57:51,048 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:51,048 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [198319200] [2022-04-28 12:57:57,542 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 12:57:57,543 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 12:57:57,543 INFO L85 PathProgramCache]: Analyzing trace with hash -1390565976, now seen corresponding path program 4 times [2022-04-28 12:57:57,543 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:57,543 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1260005477] [2022-04-28 12:57:57,543 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:57,543 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:57,553 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:57:57,553 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1964554217] [2022-04-28 12:57:57,553 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:57:57,553 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:57,553 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:57:57,558 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:57:57,564 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 12:57:57,609 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:57:57,609 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:57:57,611 INFO L263 TraceCheckSpWp]: Trace formula consists of 194 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 12:57:57,625 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:57,626 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:58:09,338 INFO L272 TraceCheckUtils]: 0: Hoare triple {8917#true} call ULTIMATE.init(); {8917#true} is VALID [2022-04-28 12:58:09,338 INFO L290 TraceCheckUtils]: 1: Hoare triple {8917#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; {8917#true} is VALID [2022-04-28 12:58:09,339 INFO L290 TraceCheckUtils]: 2: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:09,339 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8917#true} {8917#true} #96#return; {8917#true} is VALID [2022-04-28 12:58:09,339 INFO L272 TraceCheckUtils]: 4: Hoare triple {8917#true} call #t~ret8 := main(); {8917#true} is VALID [2022-04-28 12:58:09,339 INFO L290 TraceCheckUtils]: 5: Hoare triple {8917#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; {8917#true} is VALID [2022-04-28 12:58:09,339 INFO L272 TraceCheckUtils]: 6: Hoare triple {8917#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:58:09,339 INFO L290 TraceCheckUtils]: 7: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:58:09,339 INFO L290 TraceCheckUtils]: 8: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:58:09,339 INFO L290 TraceCheckUtils]: 9: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:09,339 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8917#true} {8917#true} #80#return; {8917#true} is VALID [2022-04-28 12:58:09,340 INFO L290 TraceCheckUtils]: 11: Hoare triple {8917#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:58:09,340 INFO L290 TraceCheckUtils]: 12: Hoare triple {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:58:09,341 INFO L290 TraceCheckUtils]: 13: Hoare triple {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:58:09,341 INFO L272 TraceCheckUtils]: 14: Hoare triple {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:58:09,341 INFO L290 TraceCheckUtils]: 15: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:58:09,341 INFO L290 TraceCheckUtils]: 16: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:58:09,341 INFO L290 TraceCheckUtils]: 17: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:09,342 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8917#true} {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:58:09,342 INFO L272 TraceCheckUtils]: 19: Hoare triple {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:58:09,342 INFO L290 TraceCheckUtils]: 20: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:58:09,342 INFO L290 TraceCheckUtils]: 21: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:58:09,342 INFO L290 TraceCheckUtils]: 22: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:09,343 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8917#true} {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:58:09,343 INFO L272 TraceCheckUtils]: 24: Hoare triple {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:58:09,343 INFO L290 TraceCheckUtils]: 25: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:58:09,343 INFO L290 TraceCheckUtils]: 26: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:58:09,343 INFO L290 TraceCheckUtils]: 27: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:09,344 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8917#true} {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:58:09,345 INFO L290 TraceCheckUtils]: 29: Hoare triple {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:58:09,346 INFO L290 TraceCheckUtils]: 30: Hoare triple {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:58:09,346 INFO L290 TraceCheckUtils]: 31: Hoare triple {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post6 < 50);havoc #t~post6; {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:58:09,346 INFO L272 TraceCheckUtils]: 32: Hoare triple {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:58:09,346 INFO L290 TraceCheckUtils]: 33: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:58:09,346 INFO L290 TraceCheckUtils]: 34: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:58:09,347 INFO L290 TraceCheckUtils]: 35: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:09,347 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8917#true} {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #82#return; {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:58:09,347 INFO L272 TraceCheckUtils]: 37: Hoare triple {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:58:09,347 INFO L290 TraceCheckUtils]: 38: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:58:09,347 INFO L290 TraceCheckUtils]: 39: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:58:09,348 INFO L290 TraceCheckUtils]: 40: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:09,348 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8917#true} {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #84#return; {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:58:09,348 INFO L272 TraceCheckUtils]: 42: Hoare triple {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:58:09,348 INFO L290 TraceCheckUtils]: 43: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:58:09,348 INFO L290 TraceCheckUtils]: 44: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:58:09,349 INFO L290 TraceCheckUtils]: 45: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:09,349 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8917#true} {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #86#return; {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:58:09,350 INFO L290 TraceCheckUtils]: 47: Hoare triple {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:58:09,350 INFO L290 TraceCheckUtils]: 48: Hoare triple {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:58:09,351 INFO L290 TraceCheckUtils]: 49: Hoare triple {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post7 < 50);havoc #t~post7; {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:58:09,351 INFO L272 TraceCheckUtils]: 50: Hoare triple {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 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)); {8917#true} is VALID [2022-04-28 12:58:09,351 INFO L290 TraceCheckUtils]: 51: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:58:09,351 INFO L290 TraceCheckUtils]: 52: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:58:09,351 INFO L290 TraceCheckUtils]: 53: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:09,352 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {8917#true} {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #88#return; {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:58:09,352 INFO L272 TraceCheckUtils]: 55: Hoare triple {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:58:09,352 INFO L290 TraceCheckUtils]: 56: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:58:09,352 INFO L290 TraceCheckUtils]: 57: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:58:09,352 INFO L290 TraceCheckUtils]: 58: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:09,353 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {8917#true} {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #90#return; {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:58:09,354 INFO L290 TraceCheckUtils]: 60: Hoare triple {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 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); {9105#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:58:09,356 INFO L290 TraceCheckUtils]: 61: Hoare triple {9105#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} is VALID [2022-04-28 12:58:09,356 INFO L290 TraceCheckUtils]: 62: Hoare triple {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} is VALID [2022-04-28 12:58:09,357 INFO L290 TraceCheckUtils]: 63: Hoare triple {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} assume !!(#t~post7 < 50);havoc #t~post7; {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} is VALID [2022-04-28 12:58:09,357 INFO L272 TraceCheckUtils]: 64: Hoare triple {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:58:09,357 INFO L290 TraceCheckUtils]: 65: Hoare triple {8917#true} ~cond := #in~cond; {9122#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:58:09,358 INFO L290 TraceCheckUtils]: 66: Hoare triple {9122#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:58:09,358 INFO L290 TraceCheckUtils]: 67: Hoare triple {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:58:09,367 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} #88#return; {9133#(and (exists ((aux_div_aux_mod_aux_mod_main_~A~0_26_37_114 Int) (aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 Int) (aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 Int) (aux_div_aux_mod_main_~A~0_26_37 Int)) (and (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 1) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) (< main_~d~0 (+ (mod (+ (* aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 4294967295) 4294967295 (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) 4294967296) 1)) (< (+ (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 4294967297)) (<= (+ (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 (* 2 aux_div_aux_mod_aux_mod_main_~A~0_26_37_114))) (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160) (< aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (< aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 (+ (mod main_~B~0 4294967296) 1)) (< (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 (* 2 aux_div_aux_mod_aux_mod_main_~A~0_26_37_114)) (+ 2 (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2))) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 1) (+ (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2))))) (= main_~p~0 1))} is VALID [2022-04-28 12:58:09,369 INFO L272 TraceCheckUtils]: 69: Hoare triple {9133#(and (exists ((aux_div_aux_mod_aux_mod_main_~A~0_26_37_114 Int) (aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 Int) (aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 Int) (aux_div_aux_mod_main_~A~0_26_37 Int)) (and (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 1) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) (< main_~d~0 (+ (mod (+ (* aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 4294967295) 4294967295 (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) 4294967296) 1)) (< (+ (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 4294967297)) (<= (+ (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 (* 2 aux_div_aux_mod_aux_mod_main_~A~0_26_37_114))) (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160) (< aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (< aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 (+ (mod main_~B~0 4294967296) 1)) (< (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 (* 2 aux_div_aux_mod_aux_mod_main_~A~0_26_37_114)) (+ 2 (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2))) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 1) (+ (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2))))) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9137#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:58:09,370 INFO L290 TraceCheckUtils]: 70: Hoare triple {9137#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9141#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:58:09,370 INFO L290 TraceCheckUtils]: 71: Hoare triple {9141#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8918#false} is VALID [2022-04-28 12:58:09,370 INFO L290 TraceCheckUtils]: 72: Hoare triple {8918#false} assume !false; {8918#false} is VALID [2022-04-28 12:58:09,371 INFO L134 CoverageAnalysis]: Checked inductivity of 172 backedges. 41 proven. 11 refuted. 0 times theorem prover too weak. 120 trivial. 0 not checked. [2022-04-28 12:58:09,371 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:58:46,975 INFO L290 TraceCheckUtils]: 72: Hoare triple {8918#false} assume !false; {8918#false} is VALID [2022-04-28 12:58:46,976 INFO L290 TraceCheckUtils]: 71: Hoare triple {9141#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8918#false} is VALID [2022-04-28 12:58:46,976 INFO L290 TraceCheckUtils]: 70: Hoare triple {9137#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9141#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:58:46,977 INFO L272 TraceCheckUtils]: 69: Hoare triple {9157#(= 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)); {9137#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:58:46,978 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} #88#return; {9157#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:58:46,978 INFO L290 TraceCheckUtils]: 67: Hoare triple {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:58:46,978 INFO L290 TraceCheckUtils]: 66: Hoare triple {9171#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:58:46,978 INFO L290 TraceCheckUtils]: 65: Hoare triple {8917#true} ~cond := #in~cond; {9171#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:58:46,979 INFO L272 TraceCheckUtils]: 64: Hoare triple {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= 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)); {8917#true} is VALID [2022-04-28 12:58:46,979 INFO L290 TraceCheckUtils]: 63: Hoare triple {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} assume !!(#t~post7 < 50);havoc #t~post7; {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 12:58:46,979 INFO L290 TraceCheckUtils]: 62: Hoare triple {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 12:58:46,981 INFO L290 TraceCheckUtils]: 61: Hoare triple {9184#(or (not (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))) (= 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; {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 12:58:46,988 INFO L290 TraceCheckUtils]: 60: Hoare triple {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 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); {9184#(or (not (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 12:58:46,989 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {8917#true} {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} #90#return; {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-28 12:58:46,989 INFO L290 TraceCheckUtils]: 58: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:46,989 INFO L290 TraceCheckUtils]: 57: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:58:46,989 INFO L290 TraceCheckUtils]: 56: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:58:46,989 INFO L272 TraceCheckUtils]: 55: Hoare triple {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:58:46,989 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {8917#true} {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} #88#return; {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-28 12:58:46,990 INFO L290 TraceCheckUtils]: 53: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:46,990 INFO L290 TraceCheckUtils]: 52: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:58:46,990 INFO L290 TraceCheckUtils]: 51: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:58:46,990 INFO L272 TraceCheckUtils]: 50: Hoare triple {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ 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)); {8917#true} is VALID [2022-04-28 12:58:46,991 INFO L290 TraceCheckUtils]: 49: Hoare triple {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} assume !!(#t~post7 < 50);havoc #t~post7; {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-28 12:58:46,992 INFO L290 TraceCheckUtils]: 48: Hoare triple {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ 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; {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-28 12:58:46,993 INFO L290 TraceCheckUtils]: 47: Hoare triple {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-28 12:58:46,993 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8917#true} {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} #86#return; {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:58:46,993 INFO L290 TraceCheckUtils]: 45: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:46,994 INFO L290 TraceCheckUtils]: 44: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:58:46,994 INFO L290 TraceCheckUtils]: 43: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:58:46,994 INFO L272 TraceCheckUtils]: 42: Hoare triple {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~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)); {8917#true} is VALID [2022-04-28 12:58:46,994 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8917#true} {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} #84#return; {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:58:46,994 INFO L290 TraceCheckUtils]: 40: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:46,994 INFO L290 TraceCheckUtils]: 39: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:58:46,994 INFO L290 TraceCheckUtils]: 38: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:58:46,995 INFO L272 TraceCheckUtils]: 37: Hoare triple {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:58:46,995 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8917#true} {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} #82#return; {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:58:46,995 INFO L290 TraceCheckUtils]: 35: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:46,995 INFO L290 TraceCheckUtils]: 34: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:58:46,995 INFO L290 TraceCheckUtils]: 33: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:58:46,995 INFO L272 TraceCheckUtils]: 32: Hoare triple {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:58:46,996 INFO L290 TraceCheckUtils]: 31: Hoare triple {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 50);havoc #t~post6; {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:58:46,997 INFO L290 TraceCheckUtils]: 30: Hoare triple {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:58:46,999 INFO L290 TraceCheckUtils]: 29: Hoare triple {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:58:47,000 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8917#true} {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #86#return; {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:58:47,000 INFO L290 TraceCheckUtils]: 27: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:47,000 INFO L290 TraceCheckUtils]: 26: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:58:47,000 INFO L290 TraceCheckUtils]: 25: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:58:47,000 INFO L272 TraceCheckUtils]: 24: Hoare triple {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:58:47,001 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8917#true} {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #84#return; {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:58:47,001 INFO L290 TraceCheckUtils]: 22: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:47,001 INFO L290 TraceCheckUtils]: 21: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:58:47,001 INFO L290 TraceCheckUtils]: 20: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:58:47,001 INFO L272 TraceCheckUtils]: 19: Hoare triple {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:58:47,002 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8917#true} {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #82#return; {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:58:47,002 INFO L290 TraceCheckUtils]: 17: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:47,002 INFO L290 TraceCheckUtils]: 16: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:58:47,002 INFO L290 TraceCheckUtils]: 15: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:58:47,002 INFO L272 TraceCheckUtils]: 14: Hoare triple {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:58:47,003 INFO L290 TraceCheckUtils]: 13: Hoare triple {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} assume !!(#t~post6 < 50);havoc #t~post6; {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:58:47,003 INFO L290 TraceCheckUtils]: 12: Hoare triple {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:58:47,004 INFO L290 TraceCheckUtils]: 11: Hoare triple {8917#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:58:47,004 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8917#true} {8917#true} #80#return; {8917#true} is VALID [2022-04-28 12:58:47,004 INFO L290 TraceCheckUtils]: 9: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:47,004 INFO L290 TraceCheckUtils]: 8: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:58:47,004 INFO L290 TraceCheckUtils]: 7: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:58:47,004 INFO L272 TraceCheckUtils]: 6: Hoare triple {8917#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:58:47,004 INFO L290 TraceCheckUtils]: 5: Hoare triple {8917#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; {8917#true} is VALID [2022-04-28 12:58:47,004 INFO L272 TraceCheckUtils]: 4: Hoare triple {8917#true} call #t~ret8 := main(); {8917#true} is VALID [2022-04-28 12:58:47,004 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8917#true} {8917#true} #96#return; {8917#true} is VALID [2022-04-28 12:58:47,004 INFO L290 TraceCheckUtils]: 2: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:58:47,004 INFO L290 TraceCheckUtils]: 1: Hoare triple {8917#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; {8917#true} is VALID [2022-04-28 12:58:47,004 INFO L272 TraceCheckUtils]: 0: Hoare triple {8917#true} call ULTIMATE.init(); {8917#true} is VALID [2022-04-28 12:58:47,005 INFO L134 CoverageAnalysis]: Checked inductivity of 172 backedges. 41 proven. 11 refuted. 0 times theorem prover too weak. 120 trivial. 0 not checked. [2022-04-28 12:58:47,005 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:58:47,005 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1260005477] [2022-04-28 12:58:47,005 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:58:47,005 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1964554217] [2022-04-28 12:58:47,005 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1964554217] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:58:47,005 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:58:47,005 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2022-04-28 12:58:47,006 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:58:47,006 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [198319200] [2022-04-28 12:58:47,006 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [198319200] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:58:47,006 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:58:47,006 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 12:58:47,006 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [845552507] [2022-04-28 12:58:47,006 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:58:47,007 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 12:58:47,007 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:58:47,007 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:58:47,075 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:58:47,075 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 12:58:47,076 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:58:47,076 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 12:58:47,076 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=276, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:58:47,076 INFO L87 Difference]: Start difference. First operand 141 states and 162 transitions. Second operand has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:58:48,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:58:48,852 INFO L93 Difference]: Finished difference Result 149 states and 171 transitions. [2022-04-28 12:58:48,852 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 12:58:48,852 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 12:58:48,852 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:58:48,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:58:48,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 80 transitions. [2022-04-28 12:58:48,855 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:58:48,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 80 transitions. [2022-04-28 12:58:48,857 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 80 transitions. [2022-04-28 12:58:48,951 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:58:48,954 INFO L225 Difference]: With dead ends: 149 [2022-04-28 12:58:48,954 INFO L226 Difference]: Without dead ends: 147 [2022-04-28 12:58:48,955 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 148 GetRequests, 127 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 74 ImplicationChecksByTransitivity, 2.7s TimeCoverageRelationStatistics Valid=89, Invalid=373, Unknown=0, NotChecked=0, Total=462 [2022-04-28 12:58:48,955 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 15 mSDsluCounter, 194 mSDsCounter, 0 mSdLazyCounter, 299 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 362 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 299 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 50 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 12:58:48,955 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 232 Invalid, 362 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 299 Invalid, 0 Unknown, 50 Unchecked, 0.7s Time] [2022-04-28 12:58:48,956 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 147 states. [2022-04-28 12:58:49,101 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 147 to 147. [2022-04-28 12:58:49,101 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:58:49,101 INFO L82 GeneralOperation]: Start isEquivalent. First operand 147 states. Second operand has 147 states, 96 states have (on average 1.15625) internal successors, (111), 100 states have internal predecessors, (111), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:58:49,102 INFO L74 IsIncluded]: Start isIncluded. First operand 147 states. Second operand has 147 states, 96 states have (on average 1.15625) internal successors, (111), 100 states have internal predecessors, (111), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:58:49,102 INFO L87 Difference]: Start difference. First operand 147 states. Second operand has 147 states, 96 states have (on average 1.15625) internal successors, (111), 100 states have internal predecessors, (111), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:58:49,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:58:49,106 INFO L93 Difference]: Finished difference Result 147 states and 169 transitions. [2022-04-28 12:58:49,106 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 169 transitions. [2022-04-28 12:58:49,106 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:58:49,106 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:58:49,107 INFO L74 IsIncluded]: Start isIncluded. First operand has 147 states, 96 states have (on average 1.15625) internal successors, (111), 100 states have internal predecessors, (111), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) Second operand 147 states. [2022-04-28 12:58:49,107 INFO L87 Difference]: Start difference. First operand has 147 states, 96 states have (on average 1.15625) internal successors, (111), 100 states have internal predecessors, (111), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) Second operand 147 states. [2022-04-28 12:58:49,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:58:49,110 INFO L93 Difference]: Finished difference Result 147 states and 169 transitions. [2022-04-28 12:58:49,110 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 169 transitions. [2022-04-28 12:58:49,111 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:58:49,111 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:58:49,111 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:58:49,111 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:58:49,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 147 states, 96 states have (on average 1.15625) internal successors, (111), 100 states have internal predecessors, (111), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:58:49,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 147 states to 147 states and 169 transitions. [2022-04-28 12:58:49,115 INFO L78 Accepts]: Start accepts. Automaton has 147 states and 169 transitions. Word has length 73 [2022-04-28 12:58:49,115 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:58:49,115 INFO L495 AbstractCegarLoop]: Abstraction has 147 states and 169 transitions. [2022-04-28 12:58:49,115 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:58:49,116 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 147 states and 169 transitions. [2022-04-28 12:58:49,325 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 169 edges. 169 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:58:49,326 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 169 transitions. [2022-04-28 12:58:49,326 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 12:58:49,326 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:58:49,326 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:58:49,343 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 12:58:49,531 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 12:58:49,531 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:58:49,532 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:58:49,532 INFO L85 PathProgramCache]: Analyzing trace with hash 1792978632, now seen corresponding path program 1 times [2022-04-28 12:58:49,532 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:58:49,532 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [689196439] [2022-04-28 12:58:56,481 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 12:58:56,482 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 12:58:56,482 INFO L85 PathProgramCache]: Analyzing trace with hash 1792978632, now seen corresponding path program 2 times [2022-04-28 12:58:56,482 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:58:56,482 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1134881341] [2022-04-28 12:58:56,482 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:58:56,482 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:58:56,491 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:58:56,491 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [685074877] [2022-04-28 12:58:56,491 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:58:56,492 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:58:56,492 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:58:56,500 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:58:56,501 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 12:58:56,588 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:58:56,589 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:58:56,590 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 12:58:56,603 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:58:56,604 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:59:32,374 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:59:35,516 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:59:49,157 INFO L272 TraceCheckUtils]: 0: Hoare triple {10265#true} call ULTIMATE.init(); {10265#true} is VALID [2022-04-28 12:59:49,157 INFO L290 TraceCheckUtils]: 1: Hoare triple {10265#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; {10265#true} is VALID [2022-04-28 12:59:49,157 INFO L290 TraceCheckUtils]: 2: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 12:59:49,157 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10265#true} {10265#true} #96#return; {10265#true} is VALID [2022-04-28 12:59:49,157 INFO L272 TraceCheckUtils]: 4: Hoare triple {10265#true} call #t~ret8 := main(); {10265#true} is VALID [2022-04-28 12:59:49,157 INFO L290 TraceCheckUtils]: 5: Hoare triple {10265#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; {10265#true} is VALID [2022-04-28 12:59:49,158 INFO L272 TraceCheckUtils]: 6: Hoare triple {10265#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {10265#true} is VALID [2022-04-28 12:59:49,158 INFO L290 TraceCheckUtils]: 7: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 12:59:49,158 INFO L290 TraceCheckUtils]: 8: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 12:59:49,158 INFO L290 TraceCheckUtils]: 9: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 12:59:49,158 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10265#true} {10265#true} #80#return; {10265#true} is VALID [2022-04-28 12:59:49,158 INFO L290 TraceCheckUtils]: 11: Hoare triple {10265#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:59:49,159 INFO L290 TraceCheckUtils]: 12: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:59:49,159 INFO L290 TraceCheckUtils]: 13: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(#t~post6 < 50);havoc #t~post6; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:59:49,160 INFO L272 TraceCheckUtils]: 14: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 12:59:49,160 INFO L290 TraceCheckUtils]: 15: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 12:59:49,160 INFO L290 TraceCheckUtils]: 16: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 12:59:49,160 INFO L290 TraceCheckUtils]: 17: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 12:59:49,160 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #82#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:59:49,161 INFO L272 TraceCheckUtils]: 19: Hoare triple {10303#(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)); {10265#true} is VALID [2022-04-28 12:59:49,161 INFO L290 TraceCheckUtils]: 20: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 12:59:49,161 INFO L290 TraceCheckUtils]: 21: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 12:59:49,161 INFO L290 TraceCheckUtils]: 22: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 12:59:49,161 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #84#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:59:49,162 INFO L272 TraceCheckUtils]: 24: Hoare triple {10303#(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)); {10265#true} is VALID [2022-04-28 12:59:49,162 INFO L290 TraceCheckUtils]: 25: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 12:59:49,162 INFO L290 TraceCheckUtils]: 26: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 12:59:49,162 INFO L290 TraceCheckUtils]: 27: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 12:59:49,162 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #86#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:59:49,163 INFO L290 TraceCheckUtils]: 29: Hoare triple {10303#(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; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:59:49,163 INFO L290 TraceCheckUtils]: 30: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:59:49,164 INFO L290 TraceCheckUtils]: 31: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(#t~post6 < 50);havoc #t~post6; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:59:49,164 INFO L272 TraceCheckUtils]: 32: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 12:59:49,164 INFO L290 TraceCheckUtils]: 33: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 12:59:49,164 INFO L290 TraceCheckUtils]: 34: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 12:59:49,164 INFO L290 TraceCheckUtils]: 35: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 12:59:49,165 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #82#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:59:49,165 INFO L272 TraceCheckUtils]: 37: Hoare triple {10303#(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)); {10265#true} is VALID [2022-04-28 12:59:49,165 INFO L290 TraceCheckUtils]: 38: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 12:59:49,165 INFO L290 TraceCheckUtils]: 39: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 12:59:49,165 INFO L290 TraceCheckUtils]: 40: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 12:59:49,166 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #84#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:59:49,166 INFO L272 TraceCheckUtils]: 42: Hoare triple {10303#(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)); {10265#true} is VALID [2022-04-28 12:59:49,166 INFO L290 TraceCheckUtils]: 43: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 12:59:49,166 INFO L290 TraceCheckUtils]: 44: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 12:59:49,166 INFO L290 TraceCheckUtils]: 45: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 12:59:49,167 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #86#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:59:49,168 INFO L290 TraceCheckUtils]: 47: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:59:49,168 INFO L290 TraceCheckUtils]: 48: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:59:49,169 INFO L290 TraceCheckUtils]: 49: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(#t~post7 < 50);havoc #t~post7; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:59:49,169 INFO L272 TraceCheckUtils]: 50: Hoare triple {10303#(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)); {10265#true} is VALID [2022-04-28 12:59:49,169 INFO L290 TraceCheckUtils]: 51: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 12:59:49,169 INFO L290 TraceCheckUtils]: 52: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 12:59:49,169 INFO L290 TraceCheckUtils]: 53: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 12:59:49,170 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #88#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:59:49,170 INFO L272 TraceCheckUtils]: 55: Hoare triple {10303#(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)); {10265#true} is VALID [2022-04-28 12:59:49,170 INFO L290 TraceCheckUtils]: 56: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 12:59:49,170 INFO L290 TraceCheckUtils]: 57: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 12:59:49,170 INFO L290 TraceCheckUtils]: 58: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 12:59:49,171 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #90#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:59:49,172 INFO L290 TraceCheckUtils]: 60: Hoare triple {10303#(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); {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:59:49,173 INFO L290 TraceCheckUtils]: 61: Hoare triple {10303#(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; {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 12:59:49,174 INFO L290 TraceCheckUtils]: 62: Hoare triple {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 12:59:49,174 INFO L290 TraceCheckUtils]: 63: Hoare triple {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} assume !!(#t~post7 < 50);havoc #t~post7; {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 12:59:49,174 INFO L272 TraceCheckUtils]: 64: Hoare triple {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 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)); {10265#true} is VALID [2022-04-28 12:59:49,175 INFO L290 TraceCheckUtils]: 65: Hoare triple {10265#true} ~cond := #in~cond; {10467#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:59:49,175 INFO L290 TraceCheckUtils]: 66: Hoare triple {10467#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:59:49,176 INFO L290 TraceCheckUtils]: 67: Hoare triple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:59:49,177 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} #88#return; {10478#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 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-28 12:59:49,177 INFO L272 TraceCheckUtils]: 69: Hoare triple {10478#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 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)); {10265#true} is VALID [2022-04-28 12:59:49,177 INFO L290 TraceCheckUtils]: 70: Hoare triple {10265#true} ~cond := #in~cond; {10467#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:59:49,178 INFO L290 TraceCheckUtils]: 71: Hoare triple {10467#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:59:49,178 INFO L290 TraceCheckUtils]: 72: Hoare triple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:59:51,182 WARN L284 TraceCheckUtils]: 73: Hoare quadruple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} {10478#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 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; {10494#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (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))) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is UNKNOWN [2022-04-28 12:59:51,191 INFO L290 TraceCheckUtils]: 74: Hoare triple {10494#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (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))) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} assume !(1 != ~p~0); {10498#(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-28 12:59:51,203 INFO L272 TraceCheckUtils]: 75: Hoare triple {10498#(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)); {10502#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:59:51,204 INFO L290 TraceCheckUtils]: 76: Hoare triple {10502#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10506#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:59:51,204 INFO L290 TraceCheckUtils]: 77: Hoare triple {10506#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10266#false} is VALID [2022-04-28 12:59:51,204 INFO L290 TraceCheckUtils]: 78: Hoare triple {10266#false} assume !false; {10266#false} is VALID [2022-04-28 12:59:51,205 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-28 12:59:51,205 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:00:42,547 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 13:00:46,927 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 13:01:07,120 INFO L290 TraceCheckUtils]: 78: Hoare triple {10266#false} assume !false; {10266#false} is VALID [2022-04-28 13:01:07,120 INFO L290 TraceCheckUtils]: 77: Hoare triple {10506#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10266#false} is VALID [2022-04-28 13:01:07,120 INFO L290 TraceCheckUtils]: 76: Hoare triple {10502#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10506#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:01:07,121 INFO L272 TraceCheckUtils]: 75: Hoare triple {10522#(= (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)); {10502#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:01:07,122 INFO L290 TraceCheckUtils]: 74: Hoare triple {10526#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {10522#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-28 13:01:07,122 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} {10530#(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; {10526#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-28 13:01:07,123 INFO L290 TraceCheckUtils]: 72: Hoare triple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:01:07,123 INFO L290 TraceCheckUtils]: 71: Hoare triple {10540#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:01:07,123 INFO L290 TraceCheckUtils]: 70: Hoare triple {10265#true} ~cond := #in~cond; {10540#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:01:07,124 INFO L272 TraceCheckUtils]: 69: Hoare triple {10530#(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)); {10265#true} is VALID [2022-04-28 13:01:07,126 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} {10265#true} #88#return; {10530#(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-28 13:01:07,126 INFO L290 TraceCheckUtils]: 67: Hoare triple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:01:07,127 INFO L290 TraceCheckUtils]: 66: Hoare triple {10540#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:01:07,127 INFO L290 TraceCheckUtils]: 65: Hoare triple {10265#true} ~cond := #in~cond; {10540#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:01:07,127 INFO L272 TraceCheckUtils]: 64: Hoare triple {10265#true} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 13:01:07,127 INFO L290 TraceCheckUtils]: 63: Hoare triple {10265#true} assume !!(#t~post7 < 50);havoc #t~post7; {10265#true} is VALID [2022-04-28 13:01:07,128 INFO L290 TraceCheckUtils]: 62: Hoare triple {10265#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10265#true} is VALID [2022-04-28 13:01:07,128 INFO L290 TraceCheckUtils]: 61: Hoare triple {10265#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10265#true} is VALID [2022-04-28 13:01:07,128 INFO L290 TraceCheckUtils]: 60: Hoare triple {10265#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); {10265#true} is VALID [2022-04-28 13:01:07,128 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10265#true} {10265#true} #90#return; {10265#true} is VALID [2022-04-28 13:01:07,128 INFO L290 TraceCheckUtils]: 58: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 13:01:07,128 INFO L290 TraceCheckUtils]: 57: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 13:01:07,128 INFO L290 TraceCheckUtils]: 56: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 13:01:07,128 INFO L272 TraceCheckUtils]: 55: Hoare triple {10265#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 13:01:07,128 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10265#true} {10265#true} #88#return; {10265#true} is VALID [2022-04-28 13:01:07,128 INFO L290 TraceCheckUtils]: 53: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 13:01:07,129 INFO L290 TraceCheckUtils]: 52: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 13:01:07,129 INFO L290 TraceCheckUtils]: 51: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 13:01:07,129 INFO L272 TraceCheckUtils]: 50: Hoare triple {10265#true} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 13:01:07,129 INFO L290 TraceCheckUtils]: 49: Hoare triple {10265#true} assume !!(#t~post7 < 50);havoc #t~post7; {10265#true} is VALID [2022-04-28 13:01:07,129 INFO L290 TraceCheckUtils]: 48: Hoare triple {10265#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10265#true} is VALID [2022-04-28 13:01:07,129 INFO L290 TraceCheckUtils]: 47: Hoare triple {10265#true} assume !(~r~0 >= ~d~0); {10265#true} is VALID [2022-04-28 13:01:07,129 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10265#true} {10265#true} #86#return; {10265#true} is VALID [2022-04-28 13:01:07,129 INFO L290 TraceCheckUtils]: 45: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 13:01:07,129 INFO L290 TraceCheckUtils]: 44: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 13:01:07,129 INFO L290 TraceCheckUtils]: 43: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 13:01:07,130 INFO L272 TraceCheckUtils]: 42: Hoare triple {10265#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 13:01:07,130 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10265#true} {10265#true} #84#return; {10265#true} is VALID [2022-04-28 13:01:07,130 INFO L290 TraceCheckUtils]: 40: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 13:01:07,130 INFO L290 TraceCheckUtils]: 39: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 13:01:07,130 INFO L290 TraceCheckUtils]: 38: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 13:01:07,130 INFO L272 TraceCheckUtils]: 37: Hoare triple {10265#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10265#true} is VALID [2022-04-28 13:01:07,130 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10265#true} {10265#true} #82#return; {10265#true} is VALID [2022-04-28 13:01:07,130 INFO L290 TraceCheckUtils]: 35: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 13:01:07,130 INFO L290 TraceCheckUtils]: 34: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 13:01:07,131 INFO L290 TraceCheckUtils]: 33: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 13:01:07,131 INFO L272 TraceCheckUtils]: 32: Hoare triple {10265#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 13:01:07,131 INFO L290 TraceCheckUtils]: 31: Hoare triple {10265#true} assume !!(#t~post6 < 50);havoc #t~post6; {10265#true} is VALID [2022-04-28 13:01:07,131 INFO L290 TraceCheckUtils]: 30: Hoare triple {10265#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10265#true} is VALID [2022-04-28 13:01:07,131 INFO L290 TraceCheckUtils]: 29: Hoare triple {10265#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10265#true} is VALID [2022-04-28 13:01:07,131 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10265#true} {10265#true} #86#return; {10265#true} is VALID [2022-04-28 13:01:07,131 INFO L290 TraceCheckUtils]: 27: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 13:01:07,131 INFO L290 TraceCheckUtils]: 26: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 13:01:07,131 INFO L290 TraceCheckUtils]: 25: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 13:01:07,131 INFO L272 TraceCheckUtils]: 24: Hoare triple {10265#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 13:01:07,132 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10265#true} {10265#true} #84#return; {10265#true} is VALID [2022-04-28 13:01:07,132 INFO L290 TraceCheckUtils]: 22: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 13:01:07,132 INFO L290 TraceCheckUtils]: 21: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 13:01:07,132 INFO L290 TraceCheckUtils]: 20: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 13:01:07,132 INFO L272 TraceCheckUtils]: 19: Hoare triple {10265#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10265#true} is VALID [2022-04-28 13:01:07,132 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10265#true} {10265#true} #82#return; {10265#true} is VALID [2022-04-28 13:01:07,132 INFO L290 TraceCheckUtils]: 17: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 13:01:07,132 INFO L290 TraceCheckUtils]: 16: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 13:01:07,132 INFO L290 TraceCheckUtils]: 15: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 13:01:07,132 INFO L272 TraceCheckUtils]: 14: Hoare triple {10265#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 13:01:07,133 INFO L290 TraceCheckUtils]: 13: Hoare triple {10265#true} assume !!(#t~post6 < 50);havoc #t~post6; {10265#true} is VALID [2022-04-28 13:01:07,133 INFO L290 TraceCheckUtils]: 12: Hoare triple {10265#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10265#true} is VALID [2022-04-28 13:01:07,133 INFO L290 TraceCheckUtils]: 11: Hoare triple {10265#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10265#true} is VALID [2022-04-28 13:01:07,133 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10265#true} {10265#true} #80#return; {10265#true} is VALID [2022-04-28 13:01:07,133 INFO L290 TraceCheckUtils]: 9: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 13:01:07,133 INFO L290 TraceCheckUtils]: 8: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 13:01:07,133 INFO L290 TraceCheckUtils]: 7: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 13:01:07,133 INFO L272 TraceCheckUtils]: 6: Hoare triple {10265#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {10265#true} is VALID [2022-04-28 13:01:07,133 INFO L290 TraceCheckUtils]: 5: Hoare triple {10265#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; {10265#true} is VALID [2022-04-28 13:01:07,133 INFO L272 TraceCheckUtils]: 4: Hoare triple {10265#true} call #t~ret8 := main(); {10265#true} is VALID [2022-04-28 13:01:07,134 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10265#true} {10265#true} #96#return; {10265#true} is VALID [2022-04-28 13:01:07,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 13:01:07,134 INFO L290 TraceCheckUtils]: 1: Hoare triple {10265#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; {10265#true} is VALID [2022-04-28 13:01:07,134 INFO L272 TraceCheckUtils]: 0: Hoare triple {10265#true} call ULTIMATE.init(); {10265#true} is VALID [2022-04-28 13:01:07,134 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 68 proven. 2 refuted. 0 times theorem prover too weak. 141 trivial. 0 not checked. [2022-04-28 13:01:07,134 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:01:07,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1134881341] [2022-04-28 13:01:07,135 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:01:07,135 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [685074877] [2022-04-28 13:01:07,135 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [685074877] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:01:07,135 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:01:07,135 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-28 13:01:07,135 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:01:07,135 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [689196439] [2022-04-28 13:01:07,135 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [689196439] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:01:07,135 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:01:07,136 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 13:01:07,136 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [785064182] [2022-04-28 13:01:07,136 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:01:07,136 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-28 13:01:07,136 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:01:07,137 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-28 13:01:09,187 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-28 13:01:09,188 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 13:01:09,188 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:01:09,188 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 13:01:09,188 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=168, Unknown=0, NotChecked=0, Total=210 [2022-04-28 13:01:09,188 INFO L87 Difference]: Start difference. First operand 147 states and 169 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-28 13:01:19,604 WARN L232 SmtUtils]: Spent 6.84s on a formula simplification. DAG size of input: 59 DAG size of output: 56 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 13:01:20,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:20,151 INFO L93 Difference]: Finished difference Result 164 states and 192 transitions. [2022-04-28 13:01:20,151 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 13:01:20,151 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-28 13:01:20,151 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:01:20,151 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-28 13:01:20,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-28 13:01:20,153 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-28 13:01:20,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-28 13:01:20,155 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 76 transitions. [2022-04-28 13:01:22,242 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-28 13:01:22,244 INFO L225 Difference]: With dead ends: 164 [2022-04-28 13:01:22,244 INFO L226 Difference]: Without dead ends: 162 [2022-04-28 13:01:22,245 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 143 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 8.1s TimeCoverageRelationStatistics Valid=62, Invalid=244, Unknown=0, NotChecked=0, Total=306 [2022-04-28 13:01:22,245 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 17 mSDsluCounter, 164 mSDsCounter, 0 mSdLazyCounter, 207 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 203 SdHoareTripleChecker+Invalid, 251 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 207 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 40 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 13:01:22,246 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 203 Invalid, 251 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 207 Invalid, 0 Unknown, 40 Unchecked, 0.7s Time] [2022-04-28 13:01:22,246 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2022-04-28 13:01:22,414 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 158. [2022-04-28 13:01:22,414 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:01:22,414 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand has 158 states, 103 states have (on average 1.174757281553398) internal successors, (121), 107 states have internal predecessors, (121), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 13:01:22,414 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand has 158 states, 103 states have (on average 1.174757281553398) internal successors, (121), 107 states have internal predecessors, (121), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 13:01:22,415 INFO L87 Difference]: Start difference. First operand 162 states. Second operand has 158 states, 103 states have (on average 1.174757281553398) internal successors, (121), 107 states have internal predecessors, (121), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 13:01:22,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:22,418 INFO L93 Difference]: Finished difference Result 162 states and 190 transitions. [2022-04-28 13:01:22,419 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 190 transitions. [2022-04-28 13:01:22,419 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:01:22,419 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:01:22,420 INFO L74 IsIncluded]: Start isIncluded. First operand has 158 states, 103 states have (on average 1.174757281553398) internal successors, (121), 107 states have internal predecessors, (121), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 162 states. [2022-04-28 13:01:22,420 INFO L87 Difference]: Start difference. First operand has 158 states, 103 states have (on average 1.174757281553398) internal successors, (121), 107 states have internal predecessors, (121), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 162 states. [2022-04-28 13:01:22,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:22,424 INFO L93 Difference]: Finished difference Result 162 states and 190 transitions. [2022-04-28 13:01:22,424 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 190 transitions. [2022-04-28 13:01:22,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:01:22,424 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:01:22,424 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:01:22,424 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:01:22,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 158 states, 103 states have (on average 1.174757281553398) internal successors, (121), 107 states have internal predecessors, (121), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 13:01:22,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 158 states to 158 states and 185 transitions. [2022-04-28 13:01:22,428 INFO L78 Accepts]: Start accepts. Automaton has 158 states and 185 transitions. Word has length 79 [2022-04-28 13:01:22,429 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:01:22,429 INFO L495 AbstractCegarLoop]: Abstraction has 158 states and 185 transitions. [2022-04-28 13:01:22,429 INFO L496 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-28 13:01:22,429 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 158 states and 185 transitions. [2022-04-28 13:01:24,694 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 185 edges. 184 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:01:24,695 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 185 transitions. [2022-04-28 13:01:24,695 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 13:01:24,695 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:01:24,696 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:01:24,711 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 13:01:24,896 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-28 13:01:24,896 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:01:24,896 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:01:24,897 INFO L85 PathProgramCache]: Analyzing trace with hash 816704307, now seen corresponding path program 5 times [2022-04-28 13:01:24,897 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:01:24,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [545166267] [2022-04-28 13:01:32,645 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:01:32,646 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:01:32,646 INFO L85 PathProgramCache]: Analyzing trace with hash 816704307, now seen corresponding path program 6 times [2022-04-28 13:01:32,646 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:01:32,646 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2088153119] [2022-04-28 13:01:32,646 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:01:32,646 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:01:32,655 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:01:32,655 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1941869796] [2022-04-28 13:01:32,655 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:01:32,655 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:01:32,656 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:01:32,664 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:01:32,687 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 13:01:32,718 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-28 13:01:32,718 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:01:32,719 INFO L263 TraceCheckSpWp]: Trace formula consists of 207 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 13:01:32,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:01:32,734 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:01:33,043 INFO L272 TraceCheckUtils]: 0: Hoare triple {11727#true} call ULTIMATE.init(); {11727#true} is VALID [2022-04-28 13:01:33,044 INFO L290 TraceCheckUtils]: 1: Hoare triple {11727#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; {11735#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:33,044 INFO L290 TraceCheckUtils]: 2: Hoare triple {11735#(<= ~counter~0 0)} assume true; {11735#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:33,045 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11735#(<= ~counter~0 0)} {11727#true} #96#return; {11735#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:33,045 INFO L272 TraceCheckUtils]: 4: Hoare triple {11735#(<= ~counter~0 0)} call #t~ret8 := main(); {11735#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:33,045 INFO L290 TraceCheckUtils]: 5: Hoare triple {11735#(<= ~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; {11735#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:33,046 INFO L272 TraceCheckUtils]: 6: Hoare triple {11735#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11735#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:33,046 INFO L290 TraceCheckUtils]: 7: Hoare triple {11735#(<= ~counter~0 0)} ~cond := #in~cond; {11735#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:33,046 INFO L290 TraceCheckUtils]: 8: Hoare triple {11735#(<= ~counter~0 0)} assume !(0 == ~cond); {11735#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:33,047 INFO L290 TraceCheckUtils]: 9: Hoare triple {11735#(<= ~counter~0 0)} assume true; {11735#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:33,047 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11735#(<= ~counter~0 0)} {11735#(<= ~counter~0 0)} #80#return; {11735#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:33,047 INFO L290 TraceCheckUtils]: 11: Hoare triple {11735#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11735#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:33,048 INFO L290 TraceCheckUtils]: 12: Hoare triple {11735#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:33,048 INFO L290 TraceCheckUtils]: 13: Hoare triple {11769#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:33,049 INFO L272 TraceCheckUtils]: 14: Hoare triple {11769#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11769#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:33,049 INFO L290 TraceCheckUtils]: 15: Hoare triple {11769#(<= ~counter~0 1)} ~cond := #in~cond; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:33,049 INFO L290 TraceCheckUtils]: 16: Hoare triple {11769#(<= ~counter~0 1)} assume !(0 == ~cond); {11769#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:33,049 INFO L290 TraceCheckUtils]: 17: Hoare triple {11769#(<= ~counter~0 1)} assume true; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:33,050 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {11769#(<= ~counter~0 1)} {11769#(<= ~counter~0 1)} #82#return; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:33,050 INFO L272 TraceCheckUtils]: 19: Hoare triple {11769#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11769#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:33,050 INFO L290 TraceCheckUtils]: 20: Hoare triple {11769#(<= ~counter~0 1)} ~cond := #in~cond; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:33,051 INFO L290 TraceCheckUtils]: 21: Hoare triple {11769#(<= ~counter~0 1)} assume !(0 == ~cond); {11769#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:33,051 INFO L290 TraceCheckUtils]: 22: Hoare triple {11769#(<= ~counter~0 1)} assume true; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:33,051 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11769#(<= ~counter~0 1)} {11769#(<= ~counter~0 1)} #84#return; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:33,052 INFO L272 TraceCheckUtils]: 24: Hoare triple {11769#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11769#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:33,052 INFO L290 TraceCheckUtils]: 25: Hoare triple {11769#(<= ~counter~0 1)} ~cond := #in~cond; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:33,052 INFO L290 TraceCheckUtils]: 26: Hoare triple {11769#(<= ~counter~0 1)} assume !(0 == ~cond); {11769#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:33,053 INFO L290 TraceCheckUtils]: 27: Hoare triple {11769#(<= ~counter~0 1)} assume true; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:33,053 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11769#(<= ~counter~0 1)} {11769#(<= ~counter~0 1)} #86#return; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:33,053 INFO L290 TraceCheckUtils]: 29: Hoare triple {11769#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:33,054 INFO L290 TraceCheckUtils]: 30: Hoare triple {11769#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:33,054 INFO L290 TraceCheckUtils]: 31: Hoare triple {11824#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:33,055 INFO L272 TraceCheckUtils]: 32: Hoare triple {11824#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11824#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:33,055 INFO L290 TraceCheckUtils]: 33: Hoare triple {11824#(<= ~counter~0 2)} ~cond := #in~cond; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:33,055 INFO L290 TraceCheckUtils]: 34: Hoare triple {11824#(<= ~counter~0 2)} assume !(0 == ~cond); {11824#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:33,055 INFO L290 TraceCheckUtils]: 35: Hoare triple {11824#(<= ~counter~0 2)} assume true; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:33,056 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11824#(<= ~counter~0 2)} {11824#(<= ~counter~0 2)} #82#return; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:33,056 INFO L272 TraceCheckUtils]: 37: Hoare triple {11824#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11824#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:33,056 INFO L290 TraceCheckUtils]: 38: Hoare triple {11824#(<= ~counter~0 2)} ~cond := #in~cond; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:33,057 INFO L290 TraceCheckUtils]: 39: Hoare triple {11824#(<= ~counter~0 2)} assume !(0 == ~cond); {11824#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:33,057 INFO L290 TraceCheckUtils]: 40: Hoare triple {11824#(<= ~counter~0 2)} assume true; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:33,057 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11824#(<= ~counter~0 2)} {11824#(<= ~counter~0 2)} #84#return; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:33,058 INFO L272 TraceCheckUtils]: 42: Hoare triple {11824#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11824#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:33,058 INFO L290 TraceCheckUtils]: 43: Hoare triple {11824#(<= ~counter~0 2)} ~cond := #in~cond; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:33,058 INFO L290 TraceCheckUtils]: 44: Hoare triple {11824#(<= ~counter~0 2)} assume !(0 == ~cond); {11824#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:33,059 INFO L290 TraceCheckUtils]: 45: Hoare triple {11824#(<= ~counter~0 2)} assume true; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:33,059 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {11824#(<= ~counter~0 2)} {11824#(<= ~counter~0 2)} #86#return; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:33,059 INFO L290 TraceCheckUtils]: 47: Hoare triple {11824#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:33,060 INFO L290 TraceCheckUtils]: 48: Hoare triple {11824#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:33,060 INFO L290 TraceCheckUtils]: 49: Hoare triple {11879#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:33,061 INFO L272 TraceCheckUtils]: 50: Hoare triple {11879#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11879#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:33,061 INFO L290 TraceCheckUtils]: 51: Hoare triple {11879#(<= ~counter~0 3)} ~cond := #in~cond; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:33,061 INFO L290 TraceCheckUtils]: 52: Hoare triple {11879#(<= ~counter~0 3)} assume !(0 == ~cond); {11879#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:33,061 INFO L290 TraceCheckUtils]: 53: Hoare triple {11879#(<= ~counter~0 3)} assume true; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:33,065 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {11879#(<= ~counter~0 3)} {11879#(<= ~counter~0 3)} #82#return; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:33,065 INFO L272 TraceCheckUtils]: 55: Hoare triple {11879#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11879#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:33,066 INFO L290 TraceCheckUtils]: 56: Hoare triple {11879#(<= ~counter~0 3)} ~cond := #in~cond; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:33,066 INFO L290 TraceCheckUtils]: 57: Hoare triple {11879#(<= ~counter~0 3)} assume !(0 == ~cond); {11879#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:33,066 INFO L290 TraceCheckUtils]: 58: Hoare triple {11879#(<= ~counter~0 3)} assume true; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:33,067 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {11879#(<= ~counter~0 3)} {11879#(<= ~counter~0 3)} #84#return; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:33,067 INFO L272 TraceCheckUtils]: 60: Hoare triple {11879#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11879#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:33,067 INFO L290 TraceCheckUtils]: 61: Hoare triple {11879#(<= ~counter~0 3)} ~cond := #in~cond; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:33,068 INFO L290 TraceCheckUtils]: 62: Hoare triple {11879#(<= ~counter~0 3)} assume !(0 == ~cond); {11879#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:33,068 INFO L290 TraceCheckUtils]: 63: Hoare triple {11879#(<= ~counter~0 3)} assume true; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:33,068 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {11879#(<= ~counter~0 3)} {11879#(<= ~counter~0 3)} #86#return; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:33,069 INFO L290 TraceCheckUtils]: 65: Hoare triple {11879#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:33,069 INFO L290 TraceCheckUtils]: 66: Hoare triple {11879#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11934#(<= |main_#t~post6| 3)} is VALID [2022-04-28 13:01:33,069 INFO L290 TraceCheckUtils]: 67: Hoare triple {11934#(<= |main_#t~post6| 3)} assume !(#t~post6 < 50);havoc #t~post6; {11728#false} is VALID [2022-04-28 13:01:33,069 INFO L290 TraceCheckUtils]: 68: Hoare triple {11728#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11728#false} is VALID [2022-04-28 13:01:33,069 INFO L290 TraceCheckUtils]: 69: Hoare triple {11728#false} assume !(#t~post7 < 50);havoc #t~post7; {11728#false} is VALID [2022-04-28 13:01:33,070 INFO L272 TraceCheckUtils]: 70: Hoare triple {11728#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {11728#false} is VALID [2022-04-28 13:01:33,070 INFO L290 TraceCheckUtils]: 71: Hoare triple {11728#false} ~cond := #in~cond; {11728#false} is VALID [2022-04-28 13:01:33,070 INFO L290 TraceCheckUtils]: 72: Hoare triple {11728#false} assume !(0 == ~cond); {11728#false} is VALID [2022-04-28 13:01:33,070 INFO L290 TraceCheckUtils]: 73: Hoare triple {11728#false} assume true; {11728#false} is VALID [2022-04-28 13:01:33,070 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11728#false} {11728#false} #92#return; {11728#false} is VALID [2022-04-28 13:01:33,070 INFO L272 TraceCheckUtils]: 75: Hoare triple {11728#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {11728#false} is VALID [2022-04-28 13:01:33,070 INFO L290 TraceCheckUtils]: 76: Hoare triple {11728#false} ~cond := #in~cond; {11728#false} is VALID [2022-04-28 13:01:33,070 INFO L290 TraceCheckUtils]: 77: Hoare triple {11728#false} assume 0 == ~cond; {11728#false} is VALID [2022-04-28 13:01:33,070 INFO L290 TraceCheckUtils]: 78: Hoare triple {11728#false} assume !false; {11728#false} is VALID [2022-04-28 13:01:33,070 INFO L134 CoverageAnalysis]: Checked inductivity of 224 backedges. 54 proven. 132 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-28 13:01:33,071 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:01:33,373 INFO L290 TraceCheckUtils]: 78: Hoare triple {11728#false} assume !false; {11728#false} is VALID [2022-04-28 13:01:33,374 INFO L290 TraceCheckUtils]: 77: Hoare triple {11728#false} assume 0 == ~cond; {11728#false} is VALID [2022-04-28 13:01:33,374 INFO L290 TraceCheckUtils]: 76: Hoare triple {11728#false} ~cond := #in~cond; {11728#false} is VALID [2022-04-28 13:01:33,374 INFO L272 TraceCheckUtils]: 75: Hoare triple {11728#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {11728#false} is VALID [2022-04-28 13:01:33,374 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11727#true} {11728#false} #92#return; {11728#false} is VALID [2022-04-28 13:01:33,374 INFO L290 TraceCheckUtils]: 73: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 13:01:33,374 INFO L290 TraceCheckUtils]: 72: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 13:01:33,374 INFO L290 TraceCheckUtils]: 71: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 13:01:33,374 INFO L272 TraceCheckUtils]: 70: Hoare triple {11728#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 13:01:33,374 INFO L290 TraceCheckUtils]: 69: Hoare triple {11728#false} assume !(#t~post7 < 50);havoc #t~post7; {11728#false} is VALID [2022-04-28 13:01:33,375 INFO L290 TraceCheckUtils]: 68: Hoare triple {11728#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11728#false} is VALID [2022-04-28 13:01:33,375 INFO L290 TraceCheckUtils]: 67: Hoare triple {12004#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {11728#false} is VALID [2022-04-28 13:01:33,375 INFO L290 TraceCheckUtils]: 66: Hoare triple {12008#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12004#(< |main_#t~post6| 50)} is VALID [2022-04-28 13:01:33,375 INFO L290 TraceCheckUtils]: 65: Hoare triple {12008#(< ~counter~0 50)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12008#(< ~counter~0 50)} is VALID [2022-04-28 13:01:33,376 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {11727#true} {12008#(< ~counter~0 50)} #86#return; {12008#(< ~counter~0 50)} is VALID [2022-04-28 13:01:33,376 INFO L290 TraceCheckUtils]: 63: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 13:01:33,376 INFO L290 TraceCheckUtils]: 62: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 13:01:33,376 INFO L290 TraceCheckUtils]: 61: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 13:01:33,376 INFO L272 TraceCheckUtils]: 60: Hoare triple {12008#(< ~counter~0 50)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 13:01:33,379 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {11727#true} {12008#(< ~counter~0 50)} #84#return; {12008#(< ~counter~0 50)} is VALID [2022-04-28 13:01:33,379 INFO L290 TraceCheckUtils]: 58: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 13:01:33,379 INFO L290 TraceCheckUtils]: 57: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 13:01:33,379 INFO L290 TraceCheckUtils]: 56: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 13:01:33,379 INFO L272 TraceCheckUtils]: 55: Hoare triple {12008#(< ~counter~0 50)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11727#true} is VALID [2022-04-28 13:01:33,379 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {11727#true} {12008#(< ~counter~0 50)} #82#return; {12008#(< ~counter~0 50)} is VALID [2022-04-28 13:01:33,380 INFO L290 TraceCheckUtils]: 53: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 13:01:33,380 INFO L290 TraceCheckUtils]: 52: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 13:01:33,380 INFO L290 TraceCheckUtils]: 51: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 13:01:33,380 INFO L272 TraceCheckUtils]: 50: Hoare triple {12008#(< ~counter~0 50)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 13:01:33,380 INFO L290 TraceCheckUtils]: 49: Hoare triple {12008#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {12008#(< ~counter~0 50)} is VALID [2022-04-28 13:01:33,381 INFO L290 TraceCheckUtils]: 48: Hoare triple {12063#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12008#(< ~counter~0 50)} is VALID [2022-04-28 13:01:33,381 INFO L290 TraceCheckUtils]: 47: Hoare triple {12063#(< ~counter~0 49)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12063#(< ~counter~0 49)} is VALID [2022-04-28 13:01:33,381 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {11727#true} {12063#(< ~counter~0 49)} #86#return; {12063#(< ~counter~0 49)} is VALID [2022-04-28 13:01:33,382 INFO L290 TraceCheckUtils]: 45: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 13:01:33,382 INFO L290 TraceCheckUtils]: 44: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 13:01:33,382 INFO L290 TraceCheckUtils]: 43: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 13:01:33,382 INFO L272 TraceCheckUtils]: 42: Hoare triple {12063#(< ~counter~0 49)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 13:01:33,383 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11727#true} {12063#(< ~counter~0 49)} #84#return; {12063#(< ~counter~0 49)} is VALID [2022-04-28 13:01:33,383 INFO L290 TraceCheckUtils]: 40: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 13:01:33,384 INFO L290 TraceCheckUtils]: 39: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 13:01:33,384 INFO L290 TraceCheckUtils]: 38: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 13:01:33,384 INFO L272 TraceCheckUtils]: 37: Hoare triple {12063#(< ~counter~0 49)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11727#true} is VALID [2022-04-28 13:01:33,384 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11727#true} {12063#(< ~counter~0 49)} #82#return; {12063#(< ~counter~0 49)} is VALID [2022-04-28 13:01:33,384 INFO L290 TraceCheckUtils]: 35: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 13:01:33,384 INFO L290 TraceCheckUtils]: 34: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 13:01:33,385 INFO L290 TraceCheckUtils]: 33: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 13:01:33,385 INFO L272 TraceCheckUtils]: 32: Hoare triple {12063#(< ~counter~0 49)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 13:01:33,385 INFO L290 TraceCheckUtils]: 31: Hoare triple {12063#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {12063#(< ~counter~0 49)} is VALID [2022-04-28 13:01:33,386 INFO L290 TraceCheckUtils]: 30: Hoare triple {12118#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12063#(< ~counter~0 49)} is VALID [2022-04-28 13:01:33,386 INFO L290 TraceCheckUtils]: 29: Hoare triple {12118#(< ~counter~0 48)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12118#(< ~counter~0 48)} is VALID [2022-04-28 13:01:33,387 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11727#true} {12118#(< ~counter~0 48)} #86#return; {12118#(< ~counter~0 48)} is VALID [2022-04-28 13:01:33,387 INFO L290 TraceCheckUtils]: 27: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 13:01:33,387 INFO L290 TraceCheckUtils]: 26: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 13:01:33,387 INFO L290 TraceCheckUtils]: 25: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 13:01:33,387 INFO L272 TraceCheckUtils]: 24: Hoare triple {12118#(< ~counter~0 48)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 13:01:33,388 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11727#true} {12118#(< ~counter~0 48)} #84#return; {12118#(< ~counter~0 48)} is VALID [2022-04-28 13:01:33,388 INFO L290 TraceCheckUtils]: 22: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 13:01:33,388 INFO L290 TraceCheckUtils]: 21: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 13:01:33,388 INFO L290 TraceCheckUtils]: 20: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 13:01:33,388 INFO L272 TraceCheckUtils]: 19: Hoare triple {12118#(< ~counter~0 48)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11727#true} is VALID [2022-04-28 13:01:33,388 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {11727#true} {12118#(< ~counter~0 48)} #82#return; {12118#(< ~counter~0 48)} is VALID [2022-04-28 13:01:33,389 INFO L290 TraceCheckUtils]: 17: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 13:01:33,389 INFO L290 TraceCheckUtils]: 16: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 13:01:33,389 INFO L290 TraceCheckUtils]: 15: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 13:01:33,389 INFO L272 TraceCheckUtils]: 14: Hoare triple {12118#(< ~counter~0 48)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 13:01:33,389 INFO L290 TraceCheckUtils]: 13: Hoare triple {12118#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {12118#(< ~counter~0 48)} is VALID [2022-04-28 13:01:33,390 INFO L290 TraceCheckUtils]: 12: Hoare triple {12173#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12118#(< ~counter~0 48)} is VALID [2022-04-28 13:01:33,390 INFO L290 TraceCheckUtils]: 11: Hoare triple {12173#(< ~counter~0 47)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {12173#(< ~counter~0 47)} is VALID [2022-04-28 13:01:33,391 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11727#true} {12173#(< ~counter~0 47)} #80#return; {12173#(< ~counter~0 47)} is VALID [2022-04-28 13:01:33,391 INFO L290 TraceCheckUtils]: 9: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 13:01:33,391 INFO L290 TraceCheckUtils]: 8: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 13:01:33,391 INFO L290 TraceCheckUtils]: 7: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 13:01:33,391 INFO L272 TraceCheckUtils]: 6: Hoare triple {12173#(< ~counter~0 47)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11727#true} is VALID [2022-04-28 13:01:33,391 INFO L290 TraceCheckUtils]: 5: Hoare triple {12173#(< ~counter~0 47)} 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; {12173#(< ~counter~0 47)} is VALID [2022-04-28 13:01:33,392 INFO L272 TraceCheckUtils]: 4: Hoare triple {12173#(< ~counter~0 47)} call #t~ret8 := main(); {12173#(< ~counter~0 47)} is VALID [2022-04-28 13:01:33,392 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12173#(< ~counter~0 47)} {11727#true} #96#return; {12173#(< ~counter~0 47)} is VALID [2022-04-28 13:01:33,392 INFO L290 TraceCheckUtils]: 2: Hoare triple {12173#(< ~counter~0 47)} assume true; {12173#(< ~counter~0 47)} is VALID [2022-04-28 13:01:33,393 INFO L290 TraceCheckUtils]: 1: Hoare triple {11727#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; {12173#(< ~counter~0 47)} is VALID [2022-04-28 13:01:33,393 INFO L272 TraceCheckUtils]: 0: Hoare triple {11727#true} call ULTIMATE.init(); {11727#true} is VALID [2022-04-28 13:01:33,394 INFO L134 CoverageAnalysis]: Checked inductivity of 224 backedges. 20 proven. 24 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-28 13:01:33,394 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:01:33,394 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2088153119] [2022-04-28 13:01:33,394 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:01:33,394 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1941869796] [2022-04-28 13:01:33,394 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1941869796] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:01:33,394 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:01:33,394 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 13:01:33,395 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:01:33,395 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [545166267] [2022-04-28 13:01:33,395 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [545166267] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:01:33,395 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:01:33,395 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 13:01:33,395 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2146298458] [2022-04-28 13:01:33,395 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:01:33,396 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-28 13:01:33,396 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:01:33,396 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-28 13:01:33,448 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-28 13:01:33,449 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 13:01:33,449 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:01:33,449 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 13:01:33,449 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 13:01:33,449 INFO L87 Difference]: Start difference. First operand 158 states and 185 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-28 13:01:33,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:33,941 INFO L93 Difference]: Finished difference Result 203 states and 247 transitions. [2022-04-28 13:01:33,941 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 13:01:33,942 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-28 13:01:33,942 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:01:33,942 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-28 13:01:33,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 111 transitions. [2022-04-28 13:01:33,944 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-28 13:01:33,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 111 transitions. [2022-04-28 13:01:33,945 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 111 transitions. [2022-04-28 13:01:34,031 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:01:34,034 INFO L225 Difference]: With dead ends: 203 [2022-04-28 13:01:34,034 INFO L226 Difference]: Without dead ends: 160 [2022-04-28 13:01:34,035 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 147 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-28 13:01:34,035 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 15 mSDsluCounter, 146 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 196 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:01:34,035 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 196 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:01:34,036 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-04-28 13:01:34,218 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 160. [2022-04-28 13:01:34,218 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:01:34,218 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand has 160 states, 105 states have (on average 1.1714285714285715) internal successors, (123), 109 states have internal predecessors, (123), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 13:01:34,218 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand has 160 states, 105 states have (on average 1.1714285714285715) internal successors, (123), 109 states have internal predecessors, (123), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 13:01:34,219 INFO L87 Difference]: Start difference. First operand 160 states. Second operand has 160 states, 105 states have (on average 1.1714285714285715) internal successors, (123), 109 states have internal predecessors, (123), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 13:01:34,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:34,222 INFO L93 Difference]: Finished difference Result 160 states and 187 transitions. [2022-04-28 13:01:34,222 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 187 transitions. [2022-04-28 13:01:34,222 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:01:34,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:01:34,223 INFO L74 IsIncluded]: Start isIncluded. First operand has 160 states, 105 states have (on average 1.1714285714285715) internal successors, (123), 109 states have internal predecessors, (123), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 160 states. [2022-04-28 13:01:34,223 INFO L87 Difference]: Start difference. First operand has 160 states, 105 states have (on average 1.1714285714285715) internal successors, (123), 109 states have internal predecessors, (123), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 160 states. [2022-04-28 13:01:34,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:34,227 INFO L93 Difference]: Finished difference Result 160 states and 187 transitions. [2022-04-28 13:01:34,227 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 187 transitions. [2022-04-28 13:01:34,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:01:34,227 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:01:34,227 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:01:34,227 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:01:34,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 160 states, 105 states have (on average 1.1714285714285715) internal successors, (123), 109 states have internal predecessors, (123), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 13:01:34,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 160 states to 160 states and 187 transitions. [2022-04-28 13:01:34,232 INFO L78 Accepts]: Start accepts. Automaton has 160 states and 187 transitions. Word has length 79 [2022-04-28 13:01:34,232 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:01:34,232 INFO L495 AbstractCegarLoop]: Abstraction has 160 states and 187 transitions. [2022-04-28 13:01:34,232 INFO L496 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-28 13:01:34,233 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 160 states and 187 transitions. [2022-04-28 13:01:36,524 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 187 edges. 186 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:01:36,524 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 187 transitions. [2022-04-28 13:01:36,527 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2022-04-28 13:01:36,527 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:01:36,527 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 3, 2, 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] [2022-04-28 13:01:36,546 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 13:01:36,735 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 13:01:36,735 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:01:36,736 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:01:36,736 INFO L85 PathProgramCache]: Analyzing trace with hash 435352067, now seen corresponding path program 3 times [2022-04-28 13:01:36,736 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:01:36,736 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2108103324] [2022-04-28 13:01:43,884 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:01:43,884 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:01:43,885 INFO L85 PathProgramCache]: Analyzing trace with hash 435352067, now seen corresponding path program 4 times [2022-04-28 13:01:43,885 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:01:43,885 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1770374398] [2022-04-28 13:01:43,885 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:01:43,885 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:01:43,895 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:01:43,895 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1795089650] [2022-04-28 13:01:43,895 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:01:43,895 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:01:43,895 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:01:43,896 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:01:43,897 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 13:01:43,948 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:01:43,949 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:01:43,949 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 13:01:43,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:01:43,965 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:01:44,276 INFO L272 TraceCheckUtils]: 0: Hoare triple {13264#true} call ULTIMATE.init(); {13264#true} is VALID [2022-04-28 13:01:44,276 INFO L290 TraceCheckUtils]: 1: Hoare triple {13264#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; {13272#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:44,277 INFO L290 TraceCheckUtils]: 2: Hoare triple {13272#(<= ~counter~0 0)} assume true; {13272#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:44,277 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13272#(<= ~counter~0 0)} {13264#true} #96#return; {13272#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:44,277 INFO L272 TraceCheckUtils]: 4: Hoare triple {13272#(<= ~counter~0 0)} call #t~ret8 := main(); {13272#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:44,278 INFO L290 TraceCheckUtils]: 5: Hoare triple {13272#(<= ~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; {13272#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:44,278 INFO L272 TraceCheckUtils]: 6: Hoare triple {13272#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {13272#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:44,278 INFO L290 TraceCheckUtils]: 7: Hoare triple {13272#(<= ~counter~0 0)} ~cond := #in~cond; {13272#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:44,279 INFO L290 TraceCheckUtils]: 8: Hoare triple {13272#(<= ~counter~0 0)} assume !(0 == ~cond); {13272#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:44,279 INFO L290 TraceCheckUtils]: 9: Hoare triple {13272#(<= ~counter~0 0)} assume true; {13272#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:44,279 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13272#(<= ~counter~0 0)} {13272#(<= ~counter~0 0)} #80#return; {13272#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:44,279 INFO L290 TraceCheckUtils]: 11: Hoare triple {13272#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {13272#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:44,280 INFO L290 TraceCheckUtils]: 12: Hoare triple {13272#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:44,280 INFO L290 TraceCheckUtils]: 13: Hoare triple {13306#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:44,281 INFO L272 TraceCheckUtils]: 14: Hoare triple {13306#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13306#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:44,281 INFO L290 TraceCheckUtils]: 15: Hoare triple {13306#(<= ~counter~0 1)} ~cond := #in~cond; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:44,281 INFO L290 TraceCheckUtils]: 16: Hoare triple {13306#(<= ~counter~0 1)} assume !(0 == ~cond); {13306#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:44,282 INFO L290 TraceCheckUtils]: 17: Hoare triple {13306#(<= ~counter~0 1)} assume true; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:44,282 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {13306#(<= ~counter~0 1)} {13306#(<= ~counter~0 1)} #82#return; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:44,282 INFO L272 TraceCheckUtils]: 19: Hoare triple {13306#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13306#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:44,283 INFO L290 TraceCheckUtils]: 20: Hoare triple {13306#(<= ~counter~0 1)} ~cond := #in~cond; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:44,283 INFO L290 TraceCheckUtils]: 21: Hoare triple {13306#(<= ~counter~0 1)} assume !(0 == ~cond); {13306#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:44,283 INFO L290 TraceCheckUtils]: 22: Hoare triple {13306#(<= ~counter~0 1)} assume true; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:44,284 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13306#(<= ~counter~0 1)} {13306#(<= ~counter~0 1)} #84#return; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:44,284 INFO L272 TraceCheckUtils]: 24: Hoare triple {13306#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13306#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:44,284 INFO L290 TraceCheckUtils]: 25: Hoare triple {13306#(<= ~counter~0 1)} ~cond := #in~cond; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:44,285 INFO L290 TraceCheckUtils]: 26: Hoare triple {13306#(<= ~counter~0 1)} assume !(0 == ~cond); {13306#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:44,285 INFO L290 TraceCheckUtils]: 27: Hoare triple {13306#(<= ~counter~0 1)} assume true; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:44,285 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13306#(<= ~counter~0 1)} {13306#(<= ~counter~0 1)} #86#return; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:44,286 INFO L290 TraceCheckUtils]: 29: Hoare triple {13306#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:44,286 INFO L290 TraceCheckUtils]: 30: Hoare triple {13306#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:44,286 INFO L290 TraceCheckUtils]: 31: Hoare triple {13361#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:44,287 INFO L272 TraceCheckUtils]: 32: Hoare triple {13361#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13361#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:44,287 INFO L290 TraceCheckUtils]: 33: Hoare triple {13361#(<= ~counter~0 2)} ~cond := #in~cond; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:44,287 INFO L290 TraceCheckUtils]: 34: Hoare triple {13361#(<= ~counter~0 2)} assume !(0 == ~cond); {13361#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:44,288 INFO L290 TraceCheckUtils]: 35: Hoare triple {13361#(<= ~counter~0 2)} assume true; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:44,288 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13361#(<= ~counter~0 2)} {13361#(<= ~counter~0 2)} #82#return; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:44,288 INFO L272 TraceCheckUtils]: 37: Hoare triple {13361#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13361#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:44,289 INFO L290 TraceCheckUtils]: 38: Hoare triple {13361#(<= ~counter~0 2)} ~cond := #in~cond; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:44,289 INFO L290 TraceCheckUtils]: 39: Hoare triple {13361#(<= ~counter~0 2)} assume !(0 == ~cond); {13361#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:44,289 INFO L290 TraceCheckUtils]: 40: Hoare triple {13361#(<= ~counter~0 2)} assume true; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:44,299 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13361#(<= ~counter~0 2)} {13361#(<= ~counter~0 2)} #84#return; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:44,300 INFO L272 TraceCheckUtils]: 42: Hoare triple {13361#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13361#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:44,300 INFO L290 TraceCheckUtils]: 43: Hoare triple {13361#(<= ~counter~0 2)} ~cond := #in~cond; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:44,301 INFO L290 TraceCheckUtils]: 44: Hoare triple {13361#(<= ~counter~0 2)} assume !(0 == ~cond); {13361#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:44,301 INFO L290 TraceCheckUtils]: 45: Hoare triple {13361#(<= ~counter~0 2)} assume true; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:44,302 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {13361#(<= ~counter~0 2)} {13361#(<= ~counter~0 2)} #86#return; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:44,302 INFO L290 TraceCheckUtils]: 47: Hoare triple {13361#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {13361#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:44,303 INFO L290 TraceCheckUtils]: 48: Hoare triple {13361#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13416#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:44,303 INFO L290 TraceCheckUtils]: 49: Hoare triple {13416#(<= ~counter~0 3)} assume !!(#t~post7 < 50);havoc #t~post7; {13416#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:44,304 INFO L272 TraceCheckUtils]: 50: Hoare triple {13416#(<= ~counter~0 3)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {13416#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:44,304 INFO L290 TraceCheckUtils]: 51: Hoare triple {13416#(<= ~counter~0 3)} ~cond := #in~cond; {13416#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:44,304 INFO L290 TraceCheckUtils]: 52: Hoare triple {13416#(<= ~counter~0 3)} assume !(0 == ~cond); {13416#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:44,305 INFO L290 TraceCheckUtils]: 53: Hoare triple {13416#(<= ~counter~0 3)} assume true; {13416#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:44,305 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {13416#(<= ~counter~0 3)} {13416#(<= ~counter~0 3)} #88#return; {13416#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:44,306 INFO L272 TraceCheckUtils]: 55: Hoare triple {13416#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13416#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:44,306 INFO L290 TraceCheckUtils]: 56: Hoare triple {13416#(<= ~counter~0 3)} ~cond := #in~cond; {13416#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:44,307 INFO L290 TraceCheckUtils]: 57: Hoare triple {13416#(<= ~counter~0 3)} assume !(0 == ~cond); {13416#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:44,307 INFO L290 TraceCheckUtils]: 58: Hoare triple {13416#(<= ~counter~0 3)} assume true; {13416#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:44,307 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13416#(<= ~counter~0 3)} {13416#(<= ~counter~0 3)} #90#return; {13416#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:44,308 INFO L290 TraceCheckUtils]: 60: Hoare triple {13416#(<= ~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); {13416#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:44,308 INFO L290 TraceCheckUtils]: 61: Hoare triple {13416#(<= ~counter~0 3)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13416#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:44,309 INFO L290 TraceCheckUtils]: 62: Hoare triple {13416#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13459#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:44,309 INFO L290 TraceCheckUtils]: 63: Hoare triple {13459#(<= ~counter~0 4)} assume !!(#t~post7 < 50);havoc #t~post7; {13459#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:44,309 INFO L272 TraceCheckUtils]: 64: Hoare triple {13459#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {13459#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:44,310 INFO L290 TraceCheckUtils]: 65: Hoare triple {13459#(<= ~counter~0 4)} ~cond := #in~cond; {13459#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:44,310 INFO L290 TraceCheckUtils]: 66: Hoare triple {13459#(<= ~counter~0 4)} assume !(0 == ~cond); {13459#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:44,310 INFO L290 TraceCheckUtils]: 67: Hoare triple {13459#(<= ~counter~0 4)} assume true; {13459#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:44,311 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {13459#(<= ~counter~0 4)} {13459#(<= ~counter~0 4)} #88#return; {13459#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:44,311 INFO L272 TraceCheckUtils]: 69: Hoare triple {13459#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13459#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:44,311 INFO L290 TraceCheckUtils]: 70: Hoare triple {13459#(<= ~counter~0 4)} ~cond := #in~cond; {13459#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:44,312 INFO L290 TraceCheckUtils]: 71: Hoare triple {13459#(<= ~counter~0 4)} assume !(0 == ~cond); {13459#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:44,312 INFO L290 TraceCheckUtils]: 72: Hoare triple {13459#(<= ~counter~0 4)} assume true; {13459#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:44,312 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {13459#(<= ~counter~0 4)} {13459#(<= ~counter~0 4)} #90#return; {13459#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:44,313 INFO L290 TraceCheckUtils]: 74: Hoare triple {13459#(<= ~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); {13459#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:44,313 INFO L290 TraceCheckUtils]: 75: Hoare triple {13459#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13459#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:44,313 INFO L290 TraceCheckUtils]: 76: Hoare triple {13459#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13502#(<= |main_#t~post7| 4)} is VALID [2022-04-28 13:01:44,314 INFO L290 TraceCheckUtils]: 77: Hoare triple {13502#(<= |main_#t~post7| 4)} assume !(#t~post7 < 50);havoc #t~post7; {13265#false} is VALID [2022-04-28 13:01:44,314 INFO L272 TraceCheckUtils]: 78: Hoare triple {13265#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {13265#false} is VALID [2022-04-28 13:01:44,314 INFO L290 TraceCheckUtils]: 79: Hoare triple {13265#false} ~cond := #in~cond; {13265#false} is VALID [2022-04-28 13:01:44,314 INFO L290 TraceCheckUtils]: 80: Hoare triple {13265#false} assume 0 == ~cond; {13265#false} is VALID [2022-04-28 13:01:44,314 INFO L290 TraceCheckUtils]: 81: Hoare triple {13265#false} assume !false; {13265#false} is VALID [2022-04-28 13:01:44,314 INFO L134 CoverageAnalysis]: Checked inductivity of 216 backedges. 20 proven. 164 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2022-04-28 13:01:44,314 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:01:44,651 INFO L290 TraceCheckUtils]: 81: Hoare triple {13265#false} assume !false; {13265#false} is VALID [2022-04-28 13:01:44,651 INFO L290 TraceCheckUtils]: 80: Hoare triple {13265#false} assume 0 == ~cond; {13265#false} is VALID [2022-04-28 13:01:44,651 INFO L290 TraceCheckUtils]: 79: Hoare triple {13265#false} ~cond := #in~cond; {13265#false} is VALID [2022-04-28 13:01:44,651 INFO L272 TraceCheckUtils]: 78: Hoare triple {13265#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {13265#false} is VALID [2022-04-28 13:01:44,651 INFO L290 TraceCheckUtils]: 77: Hoare triple {13530#(< |main_#t~post7| 50)} assume !(#t~post7 < 50);havoc #t~post7; {13265#false} is VALID [2022-04-28 13:01:44,652 INFO L290 TraceCheckUtils]: 76: Hoare triple {13534#(< ~counter~0 50)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13530#(< |main_#t~post7| 50)} is VALID [2022-04-28 13:01:44,652 INFO L290 TraceCheckUtils]: 75: Hoare triple {13534#(< ~counter~0 50)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13534#(< ~counter~0 50)} is VALID [2022-04-28 13:01:44,652 INFO L290 TraceCheckUtils]: 74: Hoare triple {13534#(< ~counter~0 50)} 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); {13534#(< ~counter~0 50)} is VALID [2022-04-28 13:01:44,653 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {13264#true} {13534#(< ~counter~0 50)} #90#return; {13534#(< ~counter~0 50)} is VALID [2022-04-28 13:01:44,653 INFO L290 TraceCheckUtils]: 72: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 13:01:44,653 INFO L290 TraceCheckUtils]: 71: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 13:01:44,653 INFO L290 TraceCheckUtils]: 70: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 13:01:44,653 INFO L272 TraceCheckUtils]: 69: Hoare triple {13534#(< ~counter~0 50)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13264#true} is VALID [2022-04-28 13:01:44,654 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {13264#true} {13534#(< ~counter~0 50)} #88#return; {13534#(< ~counter~0 50)} is VALID [2022-04-28 13:01:44,654 INFO L290 TraceCheckUtils]: 67: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 13:01:44,654 INFO L290 TraceCheckUtils]: 66: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 13:01:44,654 INFO L290 TraceCheckUtils]: 65: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 13:01:44,654 INFO L272 TraceCheckUtils]: 64: Hoare triple {13534#(< ~counter~0 50)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {13264#true} is VALID [2022-04-28 13:01:44,654 INFO L290 TraceCheckUtils]: 63: Hoare triple {13534#(< ~counter~0 50)} assume !!(#t~post7 < 50);havoc #t~post7; {13534#(< ~counter~0 50)} is VALID [2022-04-28 13:01:44,655 INFO L290 TraceCheckUtils]: 62: Hoare triple {13577#(< ~counter~0 49)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13534#(< ~counter~0 50)} is VALID [2022-04-28 13:01:44,655 INFO L290 TraceCheckUtils]: 61: Hoare triple {13577#(< ~counter~0 49)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13577#(< ~counter~0 49)} is VALID [2022-04-28 13:01:44,655 INFO L290 TraceCheckUtils]: 60: Hoare triple {13577#(< ~counter~0 49)} 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); {13577#(< ~counter~0 49)} is VALID [2022-04-28 13:01:44,656 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13264#true} {13577#(< ~counter~0 49)} #90#return; {13577#(< ~counter~0 49)} is VALID [2022-04-28 13:01:44,656 INFO L290 TraceCheckUtils]: 58: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 13:01:44,656 INFO L290 TraceCheckUtils]: 57: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 13:01:44,656 INFO L290 TraceCheckUtils]: 56: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 13:01:44,656 INFO L272 TraceCheckUtils]: 55: Hoare triple {13577#(< ~counter~0 49)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13264#true} is VALID [2022-04-28 13:01:44,657 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {13264#true} {13577#(< ~counter~0 49)} #88#return; {13577#(< ~counter~0 49)} is VALID [2022-04-28 13:01:44,657 INFO L290 TraceCheckUtils]: 53: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 13:01:44,657 INFO L290 TraceCheckUtils]: 52: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 13:01:44,657 INFO L290 TraceCheckUtils]: 51: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 13:01:44,657 INFO L272 TraceCheckUtils]: 50: Hoare triple {13577#(< ~counter~0 49)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {13264#true} is VALID [2022-04-28 13:01:44,657 INFO L290 TraceCheckUtils]: 49: Hoare triple {13577#(< ~counter~0 49)} assume !!(#t~post7 < 50);havoc #t~post7; {13577#(< ~counter~0 49)} is VALID [2022-04-28 13:01:44,658 INFO L290 TraceCheckUtils]: 48: Hoare triple {13620#(< ~counter~0 48)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13577#(< ~counter~0 49)} is VALID [2022-04-28 13:01:44,658 INFO L290 TraceCheckUtils]: 47: Hoare triple {13620#(< ~counter~0 48)} assume !(~r~0 >= ~d~0); {13620#(< ~counter~0 48)} is VALID [2022-04-28 13:01:44,658 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {13264#true} {13620#(< ~counter~0 48)} #86#return; {13620#(< ~counter~0 48)} is VALID [2022-04-28 13:01:44,658 INFO L290 TraceCheckUtils]: 45: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 13:01:44,659 INFO L290 TraceCheckUtils]: 44: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 13:01:44,659 INFO L290 TraceCheckUtils]: 43: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 13:01:44,659 INFO L272 TraceCheckUtils]: 42: Hoare triple {13620#(< ~counter~0 48)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13264#true} is VALID [2022-04-28 13:01:44,661 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13264#true} {13620#(< ~counter~0 48)} #84#return; {13620#(< ~counter~0 48)} is VALID [2022-04-28 13:01:44,661 INFO L290 TraceCheckUtils]: 40: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 13:01:44,661 INFO L290 TraceCheckUtils]: 39: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 13:01:44,661 INFO L290 TraceCheckUtils]: 38: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 13:01:44,661 INFO L272 TraceCheckUtils]: 37: Hoare triple {13620#(< ~counter~0 48)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13264#true} is VALID [2022-04-28 13:01:44,661 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13264#true} {13620#(< ~counter~0 48)} #82#return; {13620#(< ~counter~0 48)} is VALID [2022-04-28 13:01:44,661 INFO L290 TraceCheckUtils]: 35: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 13:01:44,662 INFO L290 TraceCheckUtils]: 34: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 13:01:44,662 INFO L290 TraceCheckUtils]: 33: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 13:01:44,662 INFO L272 TraceCheckUtils]: 32: Hoare triple {13620#(< ~counter~0 48)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13264#true} is VALID [2022-04-28 13:01:44,662 INFO L290 TraceCheckUtils]: 31: Hoare triple {13620#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {13620#(< ~counter~0 48)} is VALID [2022-04-28 13:01:44,662 INFO L290 TraceCheckUtils]: 30: Hoare triple {13675#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13620#(< ~counter~0 48)} is VALID [2022-04-28 13:01:44,663 INFO L290 TraceCheckUtils]: 29: Hoare triple {13675#(< ~counter~0 47)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13675#(< ~counter~0 47)} is VALID [2022-04-28 13:01:44,663 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13264#true} {13675#(< ~counter~0 47)} #86#return; {13675#(< ~counter~0 47)} is VALID [2022-04-28 13:01:44,663 INFO L290 TraceCheckUtils]: 27: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 13:01:44,663 INFO L290 TraceCheckUtils]: 26: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 13:01:44,663 INFO L290 TraceCheckUtils]: 25: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 13:01:44,663 INFO L272 TraceCheckUtils]: 24: Hoare triple {13675#(< ~counter~0 47)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13264#true} is VALID [2022-04-28 13:01:44,664 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13264#true} {13675#(< ~counter~0 47)} #84#return; {13675#(< ~counter~0 47)} is VALID [2022-04-28 13:01:44,664 INFO L290 TraceCheckUtils]: 22: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 13:01:44,664 INFO L290 TraceCheckUtils]: 21: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 13:01:44,664 INFO L290 TraceCheckUtils]: 20: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 13:01:44,664 INFO L272 TraceCheckUtils]: 19: Hoare triple {13675#(< ~counter~0 47)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13264#true} is VALID [2022-04-28 13:01:44,664 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {13264#true} {13675#(< ~counter~0 47)} #82#return; {13675#(< ~counter~0 47)} is VALID [2022-04-28 13:01:44,665 INFO L290 TraceCheckUtils]: 17: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 13:01:44,665 INFO L290 TraceCheckUtils]: 16: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 13:01:44,665 INFO L290 TraceCheckUtils]: 15: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 13:01:44,665 INFO L272 TraceCheckUtils]: 14: Hoare triple {13675#(< ~counter~0 47)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13264#true} is VALID [2022-04-28 13:01:44,665 INFO L290 TraceCheckUtils]: 13: Hoare triple {13675#(< ~counter~0 47)} assume !!(#t~post6 < 50);havoc #t~post6; {13675#(< ~counter~0 47)} is VALID [2022-04-28 13:01:44,666 INFO L290 TraceCheckUtils]: 12: Hoare triple {13730#(< ~counter~0 46)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13675#(< ~counter~0 47)} is VALID [2022-04-28 13:01:44,666 INFO L290 TraceCheckUtils]: 11: Hoare triple {13730#(< ~counter~0 46)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {13730#(< ~counter~0 46)} is VALID [2022-04-28 13:01:44,666 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13264#true} {13730#(< ~counter~0 46)} #80#return; {13730#(< ~counter~0 46)} is VALID [2022-04-28 13:01:44,666 INFO L290 TraceCheckUtils]: 9: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 13:01:44,666 INFO L290 TraceCheckUtils]: 8: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 13:01:44,666 INFO L290 TraceCheckUtils]: 7: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 13:01:44,667 INFO L272 TraceCheckUtils]: 6: Hoare triple {13730#(< ~counter~0 46)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {13264#true} is VALID [2022-04-28 13:01:44,667 INFO L290 TraceCheckUtils]: 5: Hoare triple {13730#(< ~counter~0 46)} 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; {13730#(< ~counter~0 46)} is VALID [2022-04-28 13:01:44,667 INFO L272 TraceCheckUtils]: 4: Hoare triple {13730#(< ~counter~0 46)} call #t~ret8 := main(); {13730#(< ~counter~0 46)} is VALID [2022-04-28 13:01:44,667 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13730#(< ~counter~0 46)} {13264#true} #96#return; {13730#(< ~counter~0 46)} is VALID [2022-04-28 13:01:44,668 INFO L290 TraceCheckUtils]: 2: Hoare triple {13730#(< ~counter~0 46)} assume true; {13730#(< ~counter~0 46)} is VALID [2022-04-28 13:01:44,668 INFO L290 TraceCheckUtils]: 1: Hoare triple {13264#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; {13730#(< ~counter~0 46)} is VALID [2022-04-28 13:01:44,668 INFO L272 TraceCheckUtils]: 0: Hoare triple {13264#true} call ULTIMATE.init(); {13264#true} is VALID [2022-04-28 13:01:44,668 INFO L134 CoverageAnalysis]: Checked inductivity of 216 backedges. 20 proven. 16 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-28 13:01:44,669 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:01:44,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1770374398] [2022-04-28 13:01:44,669 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:01:44,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1795089650] [2022-04-28 13:01:44,669 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1795089650] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:01:44,669 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:01:44,669 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 13:01:44,669 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:01:44,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2108103324] [2022-04-28 13:01:44,669 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2108103324] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:01:44,669 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:01:44,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 13:01:44,670 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1914193217] [2022-04-28 13:01:44,670 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:01:44,670 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 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 82 [2022-04-28 13:01:44,670 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:01:44,670 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 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-28 13:01:44,718 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:01:44,718 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 13:01:44,718 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:01:44,718 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 13:01:44,718 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 13:01:44,719 INFO L87 Difference]: Start difference. First operand 160 states and 187 transitions. Second operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 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-28 13:01:45,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:45,375 INFO L93 Difference]: Finished difference Result 226 states and 262 transitions. [2022-04-28 13:01:45,375 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 13:01:45,375 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 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 82 [2022-04-28 13:01:45,375 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:01:45,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 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-28 13:01:45,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 128 transitions. [2022-04-28 13:01:45,377 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 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-28 13:01:45,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 128 transitions. [2022-04-28 13:01:45,379 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 128 transitions. [2022-04-28 13:01:45,494 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:01:45,498 INFO L225 Difference]: With dead ends: 226 [2022-04-28 13:01:45,499 INFO L226 Difference]: Without dead ends: 211 [2022-04-28 13:01:45,499 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 165 GetRequests, 151 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=93, Invalid=147, Unknown=0, NotChecked=0, Total=240 [2022-04-28 13:01:45,499 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 36 mSDsluCounter, 177 mSDsCounter, 0 mSdLazyCounter, 98 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 235 SdHoareTripleChecker+Invalid, 119 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 98 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 13:01:45,500 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 235 Invalid, 119 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 98 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 13:01:45,500 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 211 states. [2022-04-28 13:01:45,726 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 211 to 208. [2022-04-28 13:01:45,727 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:01:45,727 INFO L82 GeneralOperation]: Start isEquivalent. First operand 211 states. Second operand has 208 states, 139 states have (on average 1.158273381294964) internal successors, (161), 144 states have internal predecessors, (161), 41 states have call successors, (41), 29 states have call predecessors, (41), 27 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 13:01:45,727 INFO L74 IsIncluded]: Start isIncluded. First operand 211 states. Second operand has 208 states, 139 states have (on average 1.158273381294964) internal successors, (161), 144 states have internal predecessors, (161), 41 states have call successors, (41), 29 states have call predecessors, (41), 27 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 13:01:45,728 INFO L87 Difference]: Start difference. First operand 211 states. Second operand has 208 states, 139 states have (on average 1.158273381294964) internal successors, (161), 144 states have internal predecessors, (161), 41 states have call successors, (41), 29 states have call predecessors, (41), 27 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 13:01:45,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:45,732 INFO L93 Difference]: Finished difference Result 211 states and 242 transitions. [2022-04-28 13:01:45,733 INFO L276 IsEmpty]: Start isEmpty. Operand 211 states and 242 transitions. [2022-04-28 13:01:45,733 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:01:45,733 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:01:45,734 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 139 states have (on average 1.158273381294964) internal successors, (161), 144 states have internal predecessors, (161), 41 states have call successors, (41), 29 states have call predecessors, (41), 27 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 211 states. [2022-04-28 13:01:45,734 INFO L87 Difference]: Start difference. First operand has 208 states, 139 states have (on average 1.158273381294964) internal successors, (161), 144 states have internal predecessors, (161), 41 states have call successors, (41), 29 states have call predecessors, (41), 27 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 211 states. [2022-04-28 13:01:45,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:45,738 INFO L93 Difference]: Finished difference Result 211 states and 242 transitions. [2022-04-28 13:01:45,739 INFO L276 IsEmpty]: Start isEmpty. Operand 211 states and 242 transitions. [2022-04-28 13:01:45,739 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:01:45,739 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:01:45,739 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:01:45,739 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:01:45,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 139 states have (on average 1.158273381294964) internal successors, (161), 144 states have internal predecessors, (161), 41 states have call successors, (41), 29 states have call predecessors, (41), 27 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 13:01:45,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 240 transitions. [2022-04-28 13:01:45,745 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 240 transitions. Word has length 82 [2022-04-28 13:01:45,745 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:01:45,745 INFO L495 AbstractCegarLoop]: Abstraction has 208 states and 240 transitions. [2022-04-28 13:01:45,745 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 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-28 13:01:45,745 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 240 transitions. [2022-04-28 13:01:48,056 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 240 edges. 239 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:01:48,056 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 240 transitions. [2022-04-28 13:01:48,058 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2022-04-28 13:01:48,058 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:01:48,058 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 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] [2022-04-28 13:01:48,083 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 13:01:48,271 WARN L477 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-28 13:01:48,272 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:01:48,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:01:48,272 INFO L85 PathProgramCache]: Analyzing trace with hash 437079945, now seen corresponding path program 5 times [2022-04-28 13:01:48,272 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:01:48,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [654336384] [2022-04-28 13:01:55,565 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:01:55,565 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:01:55,565 INFO L85 PathProgramCache]: Analyzing trace with hash 437079945, now seen corresponding path program 6 times [2022-04-28 13:01:55,565 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:01:55,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1492612191] [2022-04-28 13:01:55,566 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:01:55,566 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:01:55,577 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:01:55,577 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [510631054] [2022-04-28 13:01:55,577 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:01:55,577 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:01:55,578 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:01:55,581 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:01:55,581 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 13:01:55,631 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 13:01:55,631 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:01:55,632 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 13:01:55,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:01:55,644 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:01:55,787 INFO L272 TraceCheckUtils]: 0: Hoare triple {15063#true} call ULTIMATE.init(); {15063#true} is VALID [2022-04-28 13:01:55,787 INFO L290 TraceCheckUtils]: 1: Hoare triple {15063#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; {15063#true} is VALID [2022-04-28 13:01:55,787 INFO L290 TraceCheckUtils]: 2: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:55,788 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15063#true} {15063#true} #96#return; {15063#true} is VALID [2022-04-28 13:01:55,788 INFO L272 TraceCheckUtils]: 4: Hoare triple {15063#true} call #t~ret8 := main(); {15063#true} is VALID [2022-04-28 13:01:55,788 INFO L290 TraceCheckUtils]: 5: Hoare triple {15063#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; {15063#true} is VALID [2022-04-28 13:01:55,788 INFO L272 TraceCheckUtils]: 6: Hoare triple {15063#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:55,788 INFO L290 TraceCheckUtils]: 7: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:55,788 INFO L290 TraceCheckUtils]: 8: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:55,788 INFO L290 TraceCheckUtils]: 9: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:55,788 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15063#true} {15063#true} #80#return; {15063#true} is VALID [2022-04-28 13:01:55,788 INFO L290 TraceCheckUtils]: 11: Hoare triple {15063#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:55,789 INFO L290 TraceCheckUtils]: 12: Hoare triple {15101#(= main_~p~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:55,789 INFO L290 TraceCheckUtils]: 13: Hoare triple {15101#(= main_~p~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:55,789 INFO L272 TraceCheckUtils]: 14: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:55,789 INFO L290 TraceCheckUtils]: 15: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:55,789 INFO L290 TraceCheckUtils]: 16: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:55,789 INFO L290 TraceCheckUtils]: 17: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:55,790 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #82#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:55,790 INFO L272 TraceCheckUtils]: 19: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:55,790 INFO L290 TraceCheckUtils]: 20: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:55,790 INFO L290 TraceCheckUtils]: 21: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:55,790 INFO L290 TraceCheckUtils]: 22: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:55,790 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #84#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:55,790 INFO L272 TraceCheckUtils]: 24: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:55,790 INFO L290 TraceCheckUtils]: 25: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:55,790 INFO L290 TraceCheckUtils]: 26: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:55,791 INFO L290 TraceCheckUtils]: 27: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:55,791 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #86#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:55,791 INFO L290 TraceCheckUtils]: 29: Hoare triple {15101#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15156#(= main_~p~0 2)} is VALID [2022-04-28 13:01:55,792 INFO L290 TraceCheckUtils]: 30: Hoare triple {15156#(= main_~p~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15156#(= main_~p~0 2)} is VALID [2022-04-28 13:01:55,792 INFO L290 TraceCheckUtils]: 31: Hoare triple {15156#(= main_~p~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {15156#(= main_~p~0 2)} is VALID [2022-04-28 13:01:55,792 INFO L272 TraceCheckUtils]: 32: Hoare triple {15156#(= main_~p~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:55,792 INFO L290 TraceCheckUtils]: 33: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:55,792 INFO L290 TraceCheckUtils]: 34: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:55,792 INFO L290 TraceCheckUtils]: 35: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:55,793 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {15063#true} {15156#(= main_~p~0 2)} #82#return; {15156#(= main_~p~0 2)} is VALID [2022-04-28 13:01:55,793 INFO L272 TraceCheckUtils]: 37: Hoare triple {15156#(= main_~p~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:55,793 INFO L290 TraceCheckUtils]: 38: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:55,793 INFO L290 TraceCheckUtils]: 39: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:55,793 INFO L290 TraceCheckUtils]: 40: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:55,794 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15063#true} {15156#(= main_~p~0 2)} #84#return; {15156#(= main_~p~0 2)} is VALID [2022-04-28 13:01:55,794 INFO L272 TraceCheckUtils]: 42: Hoare triple {15156#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:55,794 INFO L290 TraceCheckUtils]: 43: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:55,794 INFO L290 TraceCheckUtils]: 44: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:55,794 INFO L290 TraceCheckUtils]: 45: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:55,795 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {15063#true} {15156#(= main_~p~0 2)} #86#return; {15156#(= main_~p~0 2)} is VALID [2022-04-28 13:01:55,795 INFO L290 TraceCheckUtils]: 47: Hoare triple {15156#(= main_~p~0 2)} assume !(~r~0 >= ~d~0); {15156#(= main_~p~0 2)} is VALID [2022-04-28 13:01:55,796 INFO L290 TraceCheckUtils]: 48: Hoare triple {15156#(= main_~p~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15156#(= main_~p~0 2)} is VALID [2022-04-28 13:01:55,796 INFO L290 TraceCheckUtils]: 49: Hoare triple {15156#(= main_~p~0 2)} assume !!(#t~post7 < 50);havoc #t~post7; {15156#(= main_~p~0 2)} is VALID [2022-04-28 13:01:55,796 INFO L272 TraceCheckUtils]: 50: Hoare triple {15156#(= main_~p~0 2)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:55,796 INFO L290 TraceCheckUtils]: 51: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:55,796 INFO L290 TraceCheckUtils]: 52: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:55,796 INFO L290 TraceCheckUtils]: 53: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:55,797 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {15063#true} {15156#(= main_~p~0 2)} #88#return; {15156#(= main_~p~0 2)} is VALID [2022-04-28 13:01:55,797 INFO L272 TraceCheckUtils]: 55: Hoare triple {15156#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:55,797 INFO L290 TraceCheckUtils]: 56: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:55,797 INFO L290 TraceCheckUtils]: 57: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:55,797 INFO L290 TraceCheckUtils]: 58: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:55,798 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {15063#true} {15156#(= main_~p~0 2)} #90#return; {15156#(= main_~p~0 2)} is VALID [2022-04-28 13:01:55,798 INFO L290 TraceCheckUtils]: 60: Hoare triple {15156#(= main_~p~0 2)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:55,798 INFO L290 TraceCheckUtils]: 61: Hoare triple {15101#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:55,799 INFO L290 TraceCheckUtils]: 62: Hoare triple {15101#(= main_~p~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:55,799 INFO L290 TraceCheckUtils]: 63: Hoare triple {15101#(= main_~p~0 1)} assume !!(#t~post7 < 50);havoc #t~post7; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:55,799 INFO L272 TraceCheckUtils]: 64: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:55,799 INFO L290 TraceCheckUtils]: 65: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:55,799 INFO L290 TraceCheckUtils]: 66: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:55,799 INFO L290 TraceCheckUtils]: 67: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:55,800 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #88#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:55,800 INFO L272 TraceCheckUtils]: 69: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:55,800 INFO L290 TraceCheckUtils]: 70: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:55,800 INFO L290 TraceCheckUtils]: 71: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:55,800 INFO L290 TraceCheckUtils]: 72: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:55,800 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #90#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:55,801 INFO L290 TraceCheckUtils]: 74: Hoare triple {15101#(= main_~p~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15064#false} is VALID [2022-04-28 13:01:55,801 INFO L290 TraceCheckUtils]: 75: Hoare triple {15064#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15064#false} is VALID [2022-04-28 13:01:55,801 INFO L290 TraceCheckUtils]: 76: Hoare triple {15064#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15064#false} is VALID [2022-04-28 13:01:55,801 INFO L290 TraceCheckUtils]: 77: Hoare triple {15064#false} assume !!(#t~post7 < 50);havoc #t~post7; {15064#false} is VALID [2022-04-28 13:01:55,801 INFO L272 TraceCheckUtils]: 78: Hoare triple {15064#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15064#false} is VALID [2022-04-28 13:01:55,801 INFO L290 TraceCheckUtils]: 79: Hoare triple {15064#false} ~cond := #in~cond; {15064#false} is VALID [2022-04-28 13:01:55,801 INFO L290 TraceCheckUtils]: 80: Hoare triple {15064#false} assume 0 == ~cond; {15064#false} is VALID [2022-04-28 13:01:55,801 INFO L290 TraceCheckUtils]: 81: Hoare triple {15064#false} assume !false; {15064#false} is VALID [2022-04-28 13:01:55,801 INFO L134 CoverageAnalysis]: Checked inductivity of 218 backedges. 27 proven. 11 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-28 13:01:55,801 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:01:56,052 INFO L290 TraceCheckUtils]: 81: Hoare triple {15064#false} assume !false; {15064#false} is VALID [2022-04-28 13:01:56,053 INFO L290 TraceCheckUtils]: 80: Hoare triple {15064#false} assume 0 == ~cond; {15064#false} is VALID [2022-04-28 13:01:56,053 INFO L290 TraceCheckUtils]: 79: Hoare triple {15064#false} ~cond := #in~cond; {15064#false} is VALID [2022-04-28 13:01:56,053 INFO L272 TraceCheckUtils]: 78: Hoare triple {15064#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15064#false} is VALID [2022-04-28 13:01:56,053 INFO L290 TraceCheckUtils]: 77: Hoare triple {15064#false} assume !!(#t~post7 < 50);havoc #t~post7; {15064#false} is VALID [2022-04-28 13:01:56,053 INFO L290 TraceCheckUtils]: 76: Hoare triple {15064#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15064#false} is VALID [2022-04-28 13:01:56,053 INFO L290 TraceCheckUtils]: 75: Hoare triple {15064#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15064#false} is VALID [2022-04-28 13:01:56,053 INFO L290 TraceCheckUtils]: 74: Hoare triple {15101#(= main_~p~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15064#false} is VALID [2022-04-28 13:01:56,054 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #90#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:56,054 INFO L290 TraceCheckUtils]: 72: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:56,054 INFO L290 TraceCheckUtils]: 71: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:56,054 INFO L290 TraceCheckUtils]: 70: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:56,054 INFO L272 TraceCheckUtils]: 69: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:56,054 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #88#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:56,055 INFO L290 TraceCheckUtils]: 67: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:56,055 INFO L290 TraceCheckUtils]: 66: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:56,055 INFO L290 TraceCheckUtils]: 65: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:56,059 INFO L272 TraceCheckUtils]: 64: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:56,060 INFO L290 TraceCheckUtils]: 63: Hoare triple {15101#(= main_~p~0 1)} assume !!(#t~post7 < 50);havoc #t~post7; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:56,060 INFO L290 TraceCheckUtils]: 62: Hoare triple {15101#(= main_~p~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:56,060 INFO L290 TraceCheckUtils]: 61: Hoare triple {15101#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:56,061 INFO L290 TraceCheckUtils]: 60: Hoare triple {15376#(= (div main_~p~0 2) 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:56,062 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {15063#true} {15376#(= (div main_~p~0 2) 1)} #90#return; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 13:01:56,062 INFO L290 TraceCheckUtils]: 58: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:56,062 INFO L290 TraceCheckUtils]: 57: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:56,062 INFO L290 TraceCheckUtils]: 56: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:56,062 INFO L272 TraceCheckUtils]: 55: Hoare triple {15376#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:56,062 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {15063#true} {15376#(= (div main_~p~0 2) 1)} #88#return; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 13:01:56,063 INFO L290 TraceCheckUtils]: 53: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:56,063 INFO L290 TraceCheckUtils]: 52: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:56,063 INFO L290 TraceCheckUtils]: 51: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:56,063 INFO L272 TraceCheckUtils]: 50: Hoare triple {15376#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:56,063 INFO L290 TraceCheckUtils]: 49: Hoare triple {15376#(= (div main_~p~0 2) 1)} assume !!(#t~post7 < 50);havoc #t~post7; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 13:01:56,063 INFO L290 TraceCheckUtils]: 48: Hoare triple {15376#(= (div main_~p~0 2) 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 13:01:56,064 INFO L290 TraceCheckUtils]: 47: Hoare triple {15376#(= (div main_~p~0 2) 1)} assume !(~r~0 >= ~d~0); {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 13:01:56,064 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {15063#true} {15376#(= (div main_~p~0 2) 1)} #86#return; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 13:01:56,064 INFO L290 TraceCheckUtils]: 45: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:56,064 INFO L290 TraceCheckUtils]: 44: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:56,064 INFO L290 TraceCheckUtils]: 43: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:56,064 INFO L272 TraceCheckUtils]: 42: Hoare triple {15376#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:56,065 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15063#true} {15376#(= (div main_~p~0 2) 1)} #84#return; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 13:01:56,065 INFO L290 TraceCheckUtils]: 40: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:56,065 INFO L290 TraceCheckUtils]: 39: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:56,065 INFO L290 TraceCheckUtils]: 38: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:56,065 INFO L272 TraceCheckUtils]: 37: Hoare triple {15376#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:56,065 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {15063#true} {15376#(= (div main_~p~0 2) 1)} #82#return; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 13:01:56,065 INFO L290 TraceCheckUtils]: 35: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:56,066 INFO L290 TraceCheckUtils]: 34: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:56,066 INFO L290 TraceCheckUtils]: 33: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:56,066 INFO L272 TraceCheckUtils]: 32: Hoare triple {15376#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:56,066 INFO L290 TraceCheckUtils]: 31: Hoare triple {15376#(= (div main_~p~0 2) 1)} assume !!(#t~post6 < 50);havoc #t~post6; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 13:01:56,066 INFO L290 TraceCheckUtils]: 30: Hoare triple {15376#(= (div main_~p~0 2) 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 13:01:56,067 INFO L290 TraceCheckUtils]: 29: Hoare triple {15101#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 13:01:56,067 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #86#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:56,067 INFO L290 TraceCheckUtils]: 27: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:56,067 INFO L290 TraceCheckUtils]: 26: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:56,067 INFO L290 TraceCheckUtils]: 25: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:56,067 INFO L272 TraceCheckUtils]: 24: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:56,068 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #84#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:56,068 INFO L290 TraceCheckUtils]: 22: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:56,068 INFO L290 TraceCheckUtils]: 21: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:56,068 INFO L290 TraceCheckUtils]: 20: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:56,068 INFO L272 TraceCheckUtils]: 19: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:56,068 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #82#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:56,069 INFO L290 TraceCheckUtils]: 17: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:56,069 INFO L290 TraceCheckUtils]: 16: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:56,069 INFO L290 TraceCheckUtils]: 15: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:56,069 INFO L272 TraceCheckUtils]: 14: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:56,069 INFO L290 TraceCheckUtils]: 13: Hoare triple {15101#(= main_~p~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:56,069 INFO L290 TraceCheckUtils]: 12: Hoare triple {15101#(= main_~p~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:56,070 INFO L290 TraceCheckUtils]: 11: Hoare triple {15063#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {15101#(= main_~p~0 1)} is VALID [2022-04-28 13:01:56,070 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15063#true} {15063#true} #80#return; {15063#true} is VALID [2022-04-28 13:01:56,070 INFO L290 TraceCheckUtils]: 9: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:56,070 INFO L290 TraceCheckUtils]: 8: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 13:01:56,070 INFO L290 TraceCheckUtils]: 7: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 13:01:56,070 INFO L272 TraceCheckUtils]: 6: Hoare triple {15063#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {15063#true} is VALID [2022-04-28 13:01:56,070 INFO L290 TraceCheckUtils]: 5: Hoare triple {15063#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; {15063#true} is VALID [2022-04-28 13:01:56,070 INFO L272 TraceCheckUtils]: 4: Hoare triple {15063#true} call #t~ret8 := main(); {15063#true} is VALID [2022-04-28 13:01:56,070 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15063#true} {15063#true} #96#return; {15063#true} is VALID [2022-04-28 13:01:56,070 INFO L290 TraceCheckUtils]: 2: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 13:01:56,070 INFO L290 TraceCheckUtils]: 1: Hoare triple {15063#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; {15063#true} is VALID [2022-04-28 13:01:56,070 INFO L272 TraceCheckUtils]: 0: Hoare triple {15063#true} call ULTIMATE.init(); {15063#true} is VALID [2022-04-28 13:01:56,071 INFO L134 CoverageAnalysis]: Checked inductivity of 218 backedges. 27 proven. 11 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-28 13:01:56,071 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:01:56,071 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1492612191] [2022-04-28 13:01:56,071 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:01:56,071 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [510631054] [2022-04-28 13:01:56,071 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [510631054] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:01:56,071 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:01:56,071 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2022-04-28 13:01:56,071 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:01:56,071 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [654336384] [2022-04-28 13:01:56,072 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [654336384] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:01:56,072 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:01:56,072 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 13:01:56,072 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [129039272] [2022-04-28 13:01:56,072 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:01:56,072 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) Word has length 82 [2022-04-28 13:01:56,072 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:01:56,072 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-28 13:01:56,117 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:01:56,117 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 13:01:56,117 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:01:56,117 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 13:01:56,117 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 13:01:56,118 INFO L87 Difference]: Start difference. First operand 208 states and 240 transitions. Second operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-28 13:01:56,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:56,507 INFO L93 Difference]: Finished difference Result 225 states and 264 transitions. [2022-04-28 13:01:56,507 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 13:01:56,507 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) Word has length 82 [2022-04-28 13:01:56,507 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:01:56,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-28 13:01:56,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-04-28 13:01:56,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-28 13:01:56,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-04-28 13:01:56,511 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 99 transitions. [2022-04-28 13:01:56,608 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:01:56,612 INFO L225 Difference]: With dead ends: 225 [2022-04-28 13:01:56,612 INFO L226 Difference]: Without dead ends: 196 [2022-04-28 13:01:56,612 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 159 SyntacticMatches, 1 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 13:01:56,613 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 1 mSDsluCounter, 74 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 35 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:01:56,613 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [2 Valid, 132 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 35 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:01:56,613 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 196 states. [2022-04-28 13:01:56,870 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 196 to 193. [2022-04-28 13:01:56,870 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:01:56,871 INFO L82 GeneralOperation]: Start isEquivalent. First operand 196 states. Second operand has 193 states, 127 states have (on average 1.1338582677165354) internal successors, (144), 132 states have internal predecessors, (144), 39 states have call successors, (39), 28 states have call predecessors, (39), 26 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-28 13:01:56,871 INFO L74 IsIncluded]: Start isIncluded. First operand 196 states. Second operand has 193 states, 127 states have (on average 1.1338582677165354) internal successors, (144), 132 states have internal predecessors, (144), 39 states have call successors, (39), 28 states have call predecessors, (39), 26 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-28 13:01:56,872 INFO L87 Difference]: Start difference. First operand 196 states. Second operand has 193 states, 127 states have (on average 1.1338582677165354) internal successors, (144), 132 states have internal predecessors, (144), 39 states have call successors, (39), 28 states have call predecessors, (39), 26 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-28 13:01:56,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:56,876 INFO L93 Difference]: Finished difference Result 196 states and 224 transitions. [2022-04-28 13:01:56,876 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 224 transitions. [2022-04-28 13:01:56,876 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:01:56,876 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:01:56,877 INFO L74 IsIncluded]: Start isIncluded. First operand has 193 states, 127 states have (on average 1.1338582677165354) internal successors, (144), 132 states have internal predecessors, (144), 39 states have call successors, (39), 28 states have call predecessors, (39), 26 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) Second operand 196 states. [2022-04-28 13:01:56,877 INFO L87 Difference]: Start difference. First operand has 193 states, 127 states have (on average 1.1338582677165354) internal successors, (144), 132 states have internal predecessors, (144), 39 states have call successors, (39), 28 states have call predecessors, (39), 26 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) Second operand 196 states. [2022-04-28 13:01:56,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:56,881 INFO L93 Difference]: Finished difference Result 196 states and 224 transitions. [2022-04-28 13:01:56,881 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 224 transitions. [2022-04-28 13:01:56,882 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:01:56,882 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:01:56,882 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:01:56,882 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:01:56,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 193 states, 127 states have (on average 1.1338582677165354) internal successors, (144), 132 states have internal predecessors, (144), 39 states have call successors, (39), 28 states have call predecessors, (39), 26 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-28 13:01:56,886 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193 states to 193 states and 219 transitions. [2022-04-28 13:01:56,887 INFO L78 Accepts]: Start accepts. Automaton has 193 states and 219 transitions. Word has length 82 [2022-04-28 13:01:56,887 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:01:56,887 INFO L495 AbstractCegarLoop]: Abstraction has 193 states and 219 transitions. [2022-04-28 13:01:56,887 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-28 13:01:56,887 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 193 states and 219 transitions. [2022-04-28 13:01:59,169 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 219 edges. 218 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:01:59,169 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 219 transitions. [2022-04-28 13:01:59,170 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-04-28 13:01:59,170 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:01:59,170 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 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, 1, 1] [2022-04-28 13:01:59,186 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 13:01:59,370 WARN L477 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-28 13:01:59,371 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:01:59,371 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:01:59,371 INFO L85 PathProgramCache]: Analyzing trace with hash 111833757, now seen corresponding path program 1 times [2022-04-28 13:01:59,371 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:01:59,371 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1193982489] [2022-04-28 13:02:07,035 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:02:07,035 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:02:07,036 INFO L85 PathProgramCache]: Analyzing trace with hash 111833757, now seen corresponding path program 2 times [2022-04-28 13:02:07,036 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:02:07,036 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1800208910] [2022-04-28 13:02:07,036 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:02:07,036 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:02:07,046 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:02:07,046 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [690417764] [2022-04-28 13:02:07,046 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:02:07,046 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:02:07,047 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:02:07,051 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:02:07,051 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 13:02:07,095 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:02:07,095 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:02:07,096 INFO L263 TraceCheckSpWp]: Trace formula consists of 214 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 13:02:07,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:02:07,115 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:02:08,066 INFO L272 TraceCheckUtils]: 0: Hoare triple {16787#true} call ULTIMATE.init(); {16787#true} is VALID [2022-04-28 13:02:08,066 INFO L290 TraceCheckUtils]: 1: Hoare triple {16787#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; {16787#true} is VALID [2022-04-28 13:02:08,066 INFO L290 TraceCheckUtils]: 2: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,066 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16787#true} {16787#true} #96#return; {16787#true} is VALID [2022-04-28 13:02:08,067 INFO L272 TraceCheckUtils]: 4: Hoare triple {16787#true} call #t~ret8 := main(); {16787#true} is VALID [2022-04-28 13:02:08,067 INFO L290 TraceCheckUtils]: 5: Hoare triple {16787#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; {16787#true} is VALID [2022-04-28 13:02:08,067 INFO L272 TraceCheckUtils]: 6: Hoare triple {16787#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,067 INFO L290 TraceCheckUtils]: 7: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,067 INFO L290 TraceCheckUtils]: 8: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,067 INFO L290 TraceCheckUtils]: 9: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,067 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16787#true} {16787#true} #80#return; {16787#true} is VALID [2022-04-28 13:02:08,067 INFO L290 TraceCheckUtils]: 11: Hoare triple {16787#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 13:02:08,068 INFO L290 TraceCheckUtils]: 12: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 13:02:08,068 INFO L290 TraceCheckUtils]: 13: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(#t~post6 < 50);havoc #t~post6; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 13:02:08,068 INFO L272 TraceCheckUtils]: 14: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,068 INFO L290 TraceCheckUtils]: 15: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,068 INFO L290 TraceCheckUtils]: 16: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,068 INFO L290 TraceCheckUtils]: 17: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,069 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16787#true} {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #82#return; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 13:02:08,069 INFO L272 TraceCheckUtils]: 19: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,069 INFO L290 TraceCheckUtils]: 20: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,069 INFO L290 TraceCheckUtils]: 21: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,069 INFO L290 TraceCheckUtils]: 22: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,069 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16787#true} {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #84#return; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 13:02:08,069 INFO L272 TraceCheckUtils]: 24: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,069 INFO L290 TraceCheckUtils]: 25: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,069 INFO L290 TraceCheckUtils]: 26: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,070 INFO L290 TraceCheckUtils]: 27: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,070 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16787#true} {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #86#return; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 13:02:08,071 INFO L290 TraceCheckUtils]: 29: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 13:02:08,071 INFO L290 TraceCheckUtils]: 30: Hoare triple {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 13:02:08,072 INFO L290 TraceCheckUtils]: 31: Hoare triple {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(#t~post6 < 50);havoc #t~post6; {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 13:02:08,072 INFO L272 TraceCheckUtils]: 32: Hoare triple {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,072 INFO L290 TraceCheckUtils]: 33: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,072 INFO L290 TraceCheckUtils]: 34: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,072 INFO L290 TraceCheckUtils]: 35: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,072 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16787#true} {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 13:02:08,072 INFO L272 TraceCheckUtils]: 37: Hoare triple {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,073 INFO L290 TraceCheckUtils]: 38: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,073 INFO L290 TraceCheckUtils]: 39: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,073 INFO L290 TraceCheckUtils]: 40: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,073 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16787#true} {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 13:02:08,074 INFO L272 TraceCheckUtils]: 42: Hoare triple {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,074 INFO L290 TraceCheckUtils]: 43: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,074 INFO L290 TraceCheckUtils]: 44: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,074 INFO L290 TraceCheckUtils]: 45: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,074 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16787#true} {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #86#return; {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 13:02:08,076 INFO L290 TraceCheckUtils]: 47: Hoare triple {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 13:02:08,076 INFO L290 TraceCheckUtils]: 48: Hoare triple {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 13:02:08,076 INFO L290 TraceCheckUtils]: 49: Hoare triple {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(#t~post7 < 50);havoc #t~post7; {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 13:02:08,076 INFO L272 TraceCheckUtils]: 50: Hoare triple {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (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)); {16787#true} is VALID [2022-04-28 13:02:08,077 INFO L290 TraceCheckUtils]: 51: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,077 INFO L290 TraceCheckUtils]: 52: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,077 INFO L290 TraceCheckUtils]: 53: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,077 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {16787#true} {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #88#return; {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 13:02:08,077 INFO L272 TraceCheckUtils]: 55: Hoare triple {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,077 INFO L290 TraceCheckUtils]: 56: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,077 INFO L290 TraceCheckUtils]: 57: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,077 INFO L290 TraceCheckUtils]: 58: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,078 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16787#true} {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #90#return; {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 13:02:08,079 INFO L290 TraceCheckUtils]: 60: Hoare triple {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (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); {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:02:08,079 INFO L290 TraceCheckUtils]: 61: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:02:08,080 INFO L290 TraceCheckUtils]: 62: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:02:08,080 INFO L290 TraceCheckUtils]: 63: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 50);havoc #t~post7; {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:02:08,080 INFO L272 TraceCheckUtils]: 64: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,080 INFO L290 TraceCheckUtils]: 65: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,080 INFO L290 TraceCheckUtils]: 66: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,081 INFO L290 TraceCheckUtils]: 67: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,081 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {16787#true} {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #88#return; {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:02:08,081 INFO L272 TraceCheckUtils]: 69: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,081 INFO L290 TraceCheckUtils]: 70: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,081 INFO L290 TraceCheckUtils]: 71: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,081 INFO L290 TraceCheckUtils]: 72: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,083 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {16787#true} {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #90#return; {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:02:08,084 INFO L290 TraceCheckUtils]: 74: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !(1 != ~p~0); {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:02:08,084 INFO L272 TraceCheckUtils]: 75: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,084 INFO L290 TraceCheckUtils]: 76: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,084 INFO L290 TraceCheckUtils]: 77: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,084 INFO L290 TraceCheckUtils]: 78: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,085 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {16787#true} {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #92#return; {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:02:08,086 INFO L272 TraceCheckUtils]: 80: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {17036#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:02:08,086 INFO L290 TraceCheckUtils]: 81: Hoare triple {17036#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17040#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:02:08,087 INFO L290 TraceCheckUtils]: 82: Hoare triple {17040#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16788#false} is VALID [2022-04-28 13:02:08,087 INFO L290 TraceCheckUtils]: 83: Hoare triple {16788#false} assume !false; {16788#false} is VALID [2022-04-28 13:02:08,087 INFO L134 CoverageAnalysis]: Checked inductivity of 253 backedges. 22 proven. 11 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-28 13:02:08,087 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:02:08,652 INFO L290 TraceCheckUtils]: 83: Hoare triple {16788#false} assume !false; {16788#false} is VALID [2022-04-28 13:02:08,652 INFO L290 TraceCheckUtils]: 82: Hoare triple {17040#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16788#false} is VALID [2022-04-28 13:02:08,652 INFO L290 TraceCheckUtils]: 81: Hoare triple {17036#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17040#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:02:08,653 INFO L272 TraceCheckUtils]: 80: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {17036#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:02:08,653 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {16787#true} {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #92#return; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 13:02:08,654 INFO L290 TraceCheckUtils]: 78: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,654 INFO L290 TraceCheckUtils]: 77: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,654 INFO L290 TraceCheckUtils]: 76: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,654 INFO L272 TraceCheckUtils]: 75: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,654 INFO L290 TraceCheckUtils]: 74: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} assume !(1 != ~p~0); {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 13:02:08,654 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {16787#true} {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #90#return; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 13:02:08,655 INFO L290 TraceCheckUtils]: 72: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,655 INFO L290 TraceCheckUtils]: 71: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,655 INFO L290 TraceCheckUtils]: 70: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,655 INFO L272 TraceCheckUtils]: 69: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,655 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {16787#true} {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #88#return; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 13:02:08,655 INFO L290 TraceCheckUtils]: 67: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,655 INFO L290 TraceCheckUtils]: 66: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,655 INFO L290 TraceCheckUtils]: 65: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,656 INFO L272 TraceCheckUtils]: 64: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,656 INFO L290 TraceCheckUtils]: 63: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(#t~post7 < 50);havoc #t~post7; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 13:02:08,656 INFO L290 TraceCheckUtils]: 62: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 13:02:08,656 INFO L290 TraceCheckUtils]: 61: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 13:02:08,658 INFO L290 TraceCheckUtils]: 60: Hoare triple {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 13:02:08,658 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16787#true} {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #90#return; {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-28 13:02:08,658 INFO L290 TraceCheckUtils]: 58: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,658 INFO L290 TraceCheckUtils]: 57: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,658 INFO L290 TraceCheckUtils]: 56: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,659 INFO L272 TraceCheckUtils]: 55: Hoare triple {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,659 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {16787#true} {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #88#return; {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-28 13:02:08,659 INFO L290 TraceCheckUtils]: 53: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,659 INFO L290 TraceCheckUtils]: 52: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,659 INFO L290 TraceCheckUtils]: 51: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,659 INFO L272 TraceCheckUtils]: 50: Hoare triple {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,660 INFO L290 TraceCheckUtils]: 49: Hoare triple {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} assume !!(#t~post7 < 50);havoc #t~post7; {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-28 13:02:08,661 INFO L290 TraceCheckUtils]: 48: Hoare triple {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-28 13:02:08,662 INFO L290 TraceCheckUtils]: 47: Hoare triple {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} assume !(~r~0 >= ~d~0); {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-28 13:02:08,662 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16787#true} {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #86#return; {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-28 13:02:08,662 INFO L290 TraceCheckUtils]: 45: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,662 INFO L290 TraceCheckUtils]: 44: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,662 INFO L290 TraceCheckUtils]: 43: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,662 INFO L272 TraceCheckUtils]: 42: Hoare triple {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,663 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16787#true} {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #84#return; {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-28 13:02:08,663 INFO L290 TraceCheckUtils]: 40: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,663 INFO L290 TraceCheckUtils]: 39: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,663 INFO L290 TraceCheckUtils]: 38: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,663 INFO L272 TraceCheckUtils]: 37: Hoare triple {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,664 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16787#true} {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #82#return; {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-28 13:02:08,664 INFO L290 TraceCheckUtils]: 35: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,664 INFO L290 TraceCheckUtils]: 34: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,664 INFO L290 TraceCheckUtils]: 33: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,664 INFO L272 TraceCheckUtils]: 32: Hoare triple {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,665 INFO L290 TraceCheckUtils]: 31: Hoare triple {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-28 13:02:08,665 INFO L290 TraceCheckUtils]: 30: Hoare triple {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-28 13:02:08,666 INFO L290 TraceCheckUtils]: 29: Hoare triple {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-28 13:02:08,667 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16787#true} {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #86#return; {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-28 13:02:08,667 INFO L290 TraceCheckUtils]: 27: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,667 INFO L290 TraceCheckUtils]: 26: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,667 INFO L290 TraceCheckUtils]: 25: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,667 INFO L272 TraceCheckUtils]: 24: Hoare triple {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,667 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16787#true} {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #84#return; {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-28 13:02:08,668 INFO L290 TraceCheckUtils]: 22: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,668 INFO L290 TraceCheckUtils]: 21: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,668 INFO L290 TraceCheckUtils]: 20: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,668 INFO L272 TraceCheckUtils]: 19: Hoare triple {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,668 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16787#true} {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #82#return; {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-28 13:02:08,668 INFO L290 TraceCheckUtils]: 17: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,668 INFO L290 TraceCheckUtils]: 16: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,668 INFO L290 TraceCheckUtils]: 15: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,668 INFO L272 TraceCheckUtils]: 14: Hoare triple {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,669 INFO L290 TraceCheckUtils]: 13: Hoare triple {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-28 13:02:08,669 INFO L290 TraceCheckUtils]: 12: Hoare triple {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-28 13:02:08,670 INFO L290 TraceCheckUtils]: 11: Hoare triple {16787#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-28 13:02:08,670 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16787#true} {16787#true} #80#return; {16787#true} is VALID [2022-04-28 13:02:08,670 INFO L290 TraceCheckUtils]: 9: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,670 INFO L290 TraceCheckUtils]: 8: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 13:02:08,670 INFO L290 TraceCheckUtils]: 7: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 13:02:08,670 INFO L272 TraceCheckUtils]: 6: Hoare triple {16787#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {16787#true} is VALID [2022-04-28 13:02:08,670 INFO L290 TraceCheckUtils]: 5: Hoare triple {16787#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; {16787#true} is VALID [2022-04-28 13:02:08,670 INFO L272 TraceCheckUtils]: 4: Hoare triple {16787#true} call #t~ret8 := main(); {16787#true} is VALID [2022-04-28 13:02:08,670 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16787#true} {16787#true} #96#return; {16787#true} is VALID [2022-04-28 13:02:08,670 INFO L290 TraceCheckUtils]: 2: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 13:02:08,670 INFO L290 TraceCheckUtils]: 1: Hoare triple {16787#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; {16787#true} is VALID [2022-04-28 13:02:08,670 INFO L272 TraceCheckUtils]: 0: Hoare triple {16787#true} call ULTIMATE.init(); {16787#true} is VALID [2022-04-28 13:02:08,671 INFO L134 CoverageAnalysis]: Checked inductivity of 253 backedges. 22 proven. 11 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-28 13:02:08,671 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:02:08,671 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1800208910] [2022-04-28 13:02:08,671 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:02:08,671 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [690417764] [2022-04-28 13:02:08,671 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [690417764] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:02:08,671 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:02:08,671 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-28 13:02:08,672 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:02:08,672 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1193982489] [2022-04-28 13:02:08,672 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1193982489] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:02:08,672 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:02:08,672 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 13:02:08,672 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1024838274] [2022-04-28 13:02:08,672 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:02:08,672 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 84 [2022-04-28 13:02:08,672 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:02:08,673 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 13:02:08,724 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:02:08,724 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 13:02:08,725 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:02:08,725 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 13:02:08,725 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-28 13:02:08,725 INFO L87 Difference]: Start difference. First operand 193 states and 219 transitions. Second operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 13:02:09,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:02:09,725 INFO L93 Difference]: Finished difference Result 198 states and 223 transitions. [2022-04-28 13:02:09,725 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 13:02:09,726 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 84 [2022-04-28 13:02:09,726 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:02:09,726 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 13:02:09,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-28 13:02:09,728 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 13:02:09,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-28 13:02:09,731 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 82 transitions. [2022-04-28 13:02:09,832 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-28 13:02:09,835 INFO L225 Difference]: With dead ends: 198 [2022-04-28 13:02:09,835 INFO L226 Difference]: Without dead ends: 161 [2022-04-28 13:02:09,836 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 169 GetRequests, 157 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=119, Unknown=0, NotChecked=0, Total=156 [2022-04-28 13:02:09,836 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 8 mSDsluCounter, 184 mSDsCounter, 0 mSdLazyCounter, 121 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 242 SdHoareTripleChecker+Invalid, 127 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 121 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 13:02:09,837 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 242 Invalid, 127 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 121 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 13:02:09,837 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-04-28 13:02:10,019 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 161. [2022-04-28 13:02:10,020 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:02:10,020 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 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-28 13:02:10,020 INFO L74 IsIncluded]: Start isIncluded. First operand 161 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-28 13:02:10,021 INFO L87 Difference]: Start difference. First operand 161 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-28 13:02:10,024 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:02:10,024 INFO L93 Difference]: Finished difference Result 161 states and 186 transitions. [2022-04-28 13:02:10,024 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 186 transitions. [2022-04-28 13:02:10,025 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:02:10,025 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:02:10,025 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 161 states. [2022-04-28 13:02:10,025 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 161 states. [2022-04-28 13:02:10,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:02:10,028 INFO L93 Difference]: Finished difference Result 161 states and 186 transitions. [2022-04-28 13:02:10,028 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 186 transitions. [2022-04-28 13:02:10,029 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:02:10,029 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:02:10,029 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:02:10,029 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:02:10,031 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-28 13:02:10,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 161 states to 161 states and 186 transitions. [2022-04-28 13:02:10,034 INFO L78 Accepts]: Start accepts. Automaton has 161 states and 186 transitions. Word has length 84 [2022-04-28 13:02:10,034 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:02:10,034 INFO L495 AbstractCegarLoop]: Abstraction has 161 states and 186 transitions. [2022-04-28 13:02:10,034 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 13:02:10,034 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 161 states and 186 transitions. [2022-04-28 13:02:12,270 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-28 13:02:12,271 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 186 transitions. [2022-04-28 13:02:12,273 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 13:02:12,274 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:02:12,274 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:02:12,299 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 13:02:12,487 WARN L477 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-28 13:02:12,487 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:02:12,488 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:02:12,488 INFO L85 PathProgramCache]: Analyzing trace with hash -1068167297, now seen corresponding path program 7 times [2022-04-28 13:02:12,488 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:02:12,488 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1609620829] [2022-04-28 13:02:18,117 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:02:18,118 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:02:18,118 INFO L85 PathProgramCache]: Analyzing trace with hash -1068167297, now seen corresponding path program 8 times [2022-04-28 13:02:18,118 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:02:18,118 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [229641315] [2022-04-28 13:02:18,118 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:02:18,118 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:02:18,127 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:02:18,127 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2068041367] [2022-04-28 13:02:18,128 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:02:18,128 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:02:18,128 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:02:18,131 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:02:18,132 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 13:02:18,220 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:02:18,220 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:02:18,221 INFO L263 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 13:02:18,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:02:18,239 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:02:22,037 INFO L272 TraceCheckUtils]: 0: Hoare triple {18345#true} call ULTIMATE.init(); {18345#true} is VALID [2022-04-28 13:02:22,038 INFO L290 TraceCheckUtils]: 1: Hoare triple {18345#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; {18345#true} is VALID [2022-04-28 13:02:22,038 INFO L290 TraceCheckUtils]: 2: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:22,038 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18345#true} {18345#true} #96#return; {18345#true} is VALID [2022-04-28 13:02:22,038 INFO L272 TraceCheckUtils]: 4: Hoare triple {18345#true} call #t~ret8 := main(); {18345#true} is VALID [2022-04-28 13:02:22,038 INFO L290 TraceCheckUtils]: 5: Hoare triple {18345#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; {18345#true} is VALID [2022-04-28 13:02:22,038 INFO L272 TraceCheckUtils]: 6: Hoare triple {18345#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {18345#true} is VALID [2022-04-28 13:02:22,038 INFO L290 TraceCheckUtils]: 7: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:22,038 INFO L290 TraceCheckUtils]: 8: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:22,038 INFO L290 TraceCheckUtils]: 9: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:22,038 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18345#true} {18345#true} #80#return; {18345#true} is VALID [2022-04-28 13:02:22,039 INFO L290 TraceCheckUtils]: 11: Hoare triple {18345#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {18383#(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-28 13:02:22,039 INFO L290 TraceCheckUtils]: 12: Hoare triple {18383#(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; {18383#(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-28 13:02:22,040 INFO L290 TraceCheckUtils]: 13: Hoare triple {18383#(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 < 50);havoc #t~post6; {18383#(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-28 13:02:22,040 INFO L272 TraceCheckUtils]: 14: Hoare triple {18383#(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)); {18345#true} is VALID [2022-04-28 13:02:22,040 INFO L290 TraceCheckUtils]: 15: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:22,040 INFO L290 TraceCheckUtils]: 16: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:22,040 INFO L290 TraceCheckUtils]: 17: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:22,040 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {18345#true} {18383#(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; {18383#(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-28 13:02:22,040 INFO L272 TraceCheckUtils]: 19: Hoare triple {18383#(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)); {18345#true} is VALID [2022-04-28 13:02:22,041 INFO L290 TraceCheckUtils]: 20: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:22,041 INFO L290 TraceCheckUtils]: 21: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:22,041 INFO L290 TraceCheckUtils]: 22: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:22,041 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18345#true} {18383#(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; {18383#(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-28 13:02:22,041 INFO L272 TraceCheckUtils]: 24: Hoare triple {18383#(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)); {18345#true} is VALID [2022-04-28 13:02:22,041 INFO L290 TraceCheckUtils]: 25: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:22,041 INFO L290 TraceCheckUtils]: 26: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:22,042 INFO L290 TraceCheckUtils]: 27: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:22,042 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18345#true} {18383#(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; {18383#(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-28 13:02:22,043 INFO L290 TraceCheckUtils]: 29: Hoare triple {18383#(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; {18438#(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))} is VALID [2022-04-28 13:02:22,044 INFO L290 TraceCheckUtils]: 30: Hoare triple {18438#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18438#(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))} is VALID [2022-04-28 13:02:22,044 INFO L290 TraceCheckUtils]: 31: Hoare triple {18438#(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))} assume !!(#t~post6 < 50);havoc #t~post6; {18438#(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))} is VALID [2022-04-28 13:02:22,044 INFO L272 TraceCheckUtils]: 32: Hoare triple {18438#(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))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18345#true} is VALID [2022-04-28 13:02:22,044 INFO L290 TraceCheckUtils]: 33: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:22,044 INFO L290 TraceCheckUtils]: 34: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:22,044 INFO L290 TraceCheckUtils]: 35: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:22,045 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18345#true} {18438#(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))} #82#return; {18438#(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))} is VALID [2022-04-28 13:02:22,045 INFO L272 TraceCheckUtils]: 37: Hoare triple {18438#(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))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18345#true} is VALID [2022-04-28 13:02:22,045 INFO L290 TraceCheckUtils]: 38: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:22,045 INFO L290 TraceCheckUtils]: 39: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:22,045 INFO L290 TraceCheckUtils]: 40: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:22,046 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18345#true} {18438#(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))} #84#return; {18438#(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))} is VALID [2022-04-28 13:02:22,046 INFO L272 TraceCheckUtils]: 42: Hoare triple {18438#(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))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18345#true} is VALID [2022-04-28 13:02:22,046 INFO L290 TraceCheckUtils]: 43: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:22,046 INFO L290 TraceCheckUtils]: 44: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:22,046 INFO L290 TraceCheckUtils]: 45: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:22,047 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {18345#true} {18438#(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))} #86#return; {18438#(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))} is VALID [2022-04-28 13:02:22,048 INFO L290 TraceCheckUtils]: 47: Hoare triple {18438#(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))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:22,048 INFO L290 TraceCheckUtils]: 48: Hoare triple {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:22,049 INFO L290 TraceCheckUtils]: 49: Hoare triple {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post6 < 50);havoc #t~post6; {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:22,049 INFO L272 TraceCheckUtils]: 50: Hoare triple {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18345#true} is VALID [2022-04-28 13:02:22,049 INFO L290 TraceCheckUtils]: 51: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:22,049 INFO L290 TraceCheckUtils]: 52: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:22,049 INFO L290 TraceCheckUtils]: 53: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:22,049 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {18345#true} {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:22,049 INFO L272 TraceCheckUtils]: 55: Hoare triple {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18345#true} is VALID [2022-04-28 13:02:22,050 INFO L290 TraceCheckUtils]: 56: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:22,050 INFO L290 TraceCheckUtils]: 57: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:22,050 INFO L290 TraceCheckUtils]: 58: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:22,050 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18345#true} {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:22,050 INFO L272 TraceCheckUtils]: 60: Hoare triple {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18345#true} is VALID [2022-04-28 13:02:22,050 INFO L290 TraceCheckUtils]: 61: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:22,050 INFO L290 TraceCheckUtils]: 62: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:22,050 INFO L290 TraceCheckUtils]: 63: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:22,051 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18345#true} {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #86#return; {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:22,051 INFO L290 TraceCheckUtils]: 65: Hoare triple {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:22,052 INFO L290 TraceCheckUtils]: 66: Hoare triple {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:22,052 INFO L290 TraceCheckUtils]: 67: Hoare triple {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post7 < 50);havoc #t~post7; {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:22,052 INFO L272 TraceCheckUtils]: 68: Hoare triple {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {18345#true} is VALID [2022-04-28 13:02:22,053 INFO L290 TraceCheckUtils]: 69: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:22,053 INFO L290 TraceCheckUtils]: 70: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:22,053 INFO L290 TraceCheckUtils]: 71: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:22,053 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {18345#true} {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} #88#return; {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:22,053 INFO L272 TraceCheckUtils]: 73: Hoare triple {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18345#true} is VALID [2022-04-28 13:02:22,053 INFO L290 TraceCheckUtils]: 74: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:22,053 INFO L290 TraceCheckUtils]: 75: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:22,053 INFO L290 TraceCheckUtils]: 76: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:22,054 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {18345#true} {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} #90#return; {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:22,055 INFO L290 TraceCheckUtils]: 78: Hoare triple {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= 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); {18588#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) main_~r~0)) (= main_~q~0 0))} is VALID [2022-04-28 13:02:22,057 INFO L290 TraceCheckUtils]: 79: Hoare triple {18588#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) main_~r~0)) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18592#(and (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 13:02:22,057 INFO L290 TraceCheckUtils]: 80: Hoare triple {18592#(and (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18592#(and (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 13:02:22,058 INFO L290 TraceCheckUtils]: 81: Hoare triple {18592#(and (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} assume !!(#t~post7 < 50);havoc #t~post7; {18592#(and (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 13:02:22,058 INFO L272 TraceCheckUtils]: 82: Hoare triple {18592#(and (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (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)); {18602#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:02:22,059 INFO L290 TraceCheckUtils]: 83: Hoare triple {18602#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18606#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:02:22,059 INFO L290 TraceCheckUtils]: 84: Hoare triple {18606#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18346#false} is VALID [2022-04-28 13:02:22,059 INFO L290 TraceCheckUtils]: 85: Hoare triple {18346#false} assume !false; {18346#false} is VALID [2022-04-28 13:02:22,059 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 22 proven. 21 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-28 13:02:22,060 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:02:29,267 INFO L290 TraceCheckUtils]: 85: Hoare triple {18346#false} assume !false; {18346#false} is VALID [2022-04-28 13:02:29,267 INFO L290 TraceCheckUtils]: 84: Hoare triple {18606#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18346#false} is VALID [2022-04-28 13:02:29,268 INFO L290 TraceCheckUtils]: 83: Hoare triple {18602#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18606#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:02:29,268 INFO L272 TraceCheckUtils]: 82: Hoare triple {18622#(= (+ 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)); {18602#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:02:29,268 INFO L290 TraceCheckUtils]: 81: Hoare triple {18622#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 50);havoc #t~post7; {18622#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:02:29,269 INFO L290 TraceCheckUtils]: 80: Hoare triple {18622#(= (+ 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; {18622#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:02:29,271 INFO L290 TraceCheckUtils]: 79: Hoare triple {18632#(= (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; {18622#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:02:29,284 INFO L290 TraceCheckUtils]: 78: Hoare triple {18636#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {18632#(= (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-28 13:02:29,284 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {18345#true} {18636#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} #90#return; {18636#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:02:29,284 INFO L290 TraceCheckUtils]: 76: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:29,284 INFO L290 TraceCheckUtils]: 75: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:29,284 INFO L290 TraceCheckUtils]: 74: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:29,284 INFO L272 TraceCheckUtils]: 73: Hoare triple {18636#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18345#true} is VALID [2022-04-28 13:02:29,285 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {18345#true} {18636#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} #88#return; {18636#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:02:29,285 INFO L290 TraceCheckUtils]: 71: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:29,285 INFO L290 TraceCheckUtils]: 70: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:29,285 INFO L290 TraceCheckUtils]: 69: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:29,285 INFO L272 TraceCheckUtils]: 68: Hoare triple {18636#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {18345#true} is VALID [2022-04-28 13:02:29,287 INFO L290 TraceCheckUtils]: 67: Hoare triple {18636#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} assume !!(#t~post7 < 50);havoc #t~post7; {18636#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:02:29,288 INFO L290 TraceCheckUtils]: 66: Hoare triple {18636#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18636#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:02:29,289 INFO L290 TraceCheckUtils]: 65: Hoare triple {18676#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {18636#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:02:29,290 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18345#true} {18676#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} #86#return; {18676#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:02:29,290 INFO L290 TraceCheckUtils]: 63: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:29,290 INFO L290 TraceCheckUtils]: 62: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:29,290 INFO L290 TraceCheckUtils]: 61: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:29,290 INFO L272 TraceCheckUtils]: 60: Hoare triple {18676#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18345#true} is VALID [2022-04-28 13:02:29,291 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18345#true} {18676#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} #84#return; {18676#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:02:29,291 INFO L290 TraceCheckUtils]: 58: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:29,291 INFO L290 TraceCheckUtils]: 57: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:29,291 INFO L290 TraceCheckUtils]: 56: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:29,291 INFO L272 TraceCheckUtils]: 55: Hoare triple {18676#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18345#true} is VALID [2022-04-28 13:02:29,291 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {18345#true} {18676#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} #82#return; {18676#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:02:29,292 INFO L290 TraceCheckUtils]: 53: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:29,292 INFO L290 TraceCheckUtils]: 52: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:29,292 INFO L290 TraceCheckUtils]: 51: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:29,292 INFO L272 TraceCheckUtils]: 50: Hoare triple {18676#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18345#true} is VALID [2022-04-28 13:02:29,293 INFO L290 TraceCheckUtils]: 49: Hoare triple {18676#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 50);havoc #t~post6; {18676#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:02:29,294 INFO L290 TraceCheckUtils]: 48: Hoare triple {18676#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18676#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:02:29,298 INFO L290 TraceCheckUtils]: 47: Hoare triple {18731#(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; {18676#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:02:29,298 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {18345#true} {18731#(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; {18731#(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-28 13:02:29,298 INFO L290 TraceCheckUtils]: 45: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:29,298 INFO L290 TraceCheckUtils]: 44: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:29,298 INFO L290 TraceCheckUtils]: 43: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:29,299 INFO L272 TraceCheckUtils]: 42: Hoare triple {18731#(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)); {18345#true} is VALID [2022-04-28 13:02:29,299 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18345#true} {18731#(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; {18731#(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-28 13:02:29,299 INFO L290 TraceCheckUtils]: 40: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:29,299 INFO L290 TraceCheckUtils]: 39: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:29,299 INFO L290 TraceCheckUtils]: 38: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:29,299 INFO L272 TraceCheckUtils]: 37: Hoare triple {18731#(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)); {18345#true} is VALID [2022-04-28 13:02:29,300 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18345#true} {18731#(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; {18731#(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-28 13:02:29,300 INFO L290 TraceCheckUtils]: 35: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:29,300 INFO L290 TraceCheckUtils]: 34: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:29,300 INFO L290 TraceCheckUtils]: 33: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:29,300 INFO L272 TraceCheckUtils]: 32: Hoare triple {18731#(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)); {18345#true} is VALID [2022-04-28 13:02:29,301 INFO L290 TraceCheckUtils]: 31: Hoare triple {18731#(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 < 50);havoc #t~post6; {18731#(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-28 13:02:29,301 INFO L290 TraceCheckUtils]: 30: Hoare triple {18731#(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; {18731#(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-28 13:02:29,303 INFO L290 TraceCheckUtils]: 29: Hoare triple {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18731#(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-28 13:02:29,303 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18345#true} {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #86#return; {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:02:29,303 INFO L290 TraceCheckUtils]: 27: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:29,303 INFO L290 TraceCheckUtils]: 26: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:29,303 INFO L290 TraceCheckUtils]: 25: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:29,304 INFO L272 TraceCheckUtils]: 24: Hoare triple {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18345#true} is VALID [2022-04-28 13:02:29,304 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18345#true} {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #84#return; {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:02:29,304 INFO L290 TraceCheckUtils]: 22: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:29,304 INFO L290 TraceCheckUtils]: 21: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:29,304 INFO L290 TraceCheckUtils]: 20: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:29,304 INFO L272 TraceCheckUtils]: 19: Hoare triple {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18345#true} is VALID [2022-04-28 13:02:29,305 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {18345#true} {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #82#return; {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:02:29,305 INFO L290 TraceCheckUtils]: 17: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:29,305 INFO L290 TraceCheckUtils]: 16: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:29,305 INFO L290 TraceCheckUtils]: 15: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:29,305 INFO L272 TraceCheckUtils]: 14: Hoare triple {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18345#true} is VALID [2022-04-28 13:02:29,306 INFO L290 TraceCheckUtils]: 13: Hoare triple {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:02:29,306 INFO L290 TraceCheckUtils]: 12: Hoare triple {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:02:29,308 INFO L290 TraceCheckUtils]: 11: Hoare triple {18345#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:02:29,308 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18345#true} {18345#true} #80#return; {18345#true} is VALID [2022-04-28 13:02:29,308 INFO L290 TraceCheckUtils]: 9: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:29,308 INFO L290 TraceCheckUtils]: 8: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 13:02:29,308 INFO L290 TraceCheckUtils]: 7: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 13:02:29,308 INFO L272 TraceCheckUtils]: 6: Hoare triple {18345#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {18345#true} is VALID [2022-04-28 13:02:29,308 INFO L290 TraceCheckUtils]: 5: Hoare triple {18345#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; {18345#true} is VALID [2022-04-28 13:02:29,308 INFO L272 TraceCheckUtils]: 4: Hoare triple {18345#true} call #t~ret8 := main(); {18345#true} is VALID [2022-04-28 13:02:29,309 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18345#true} {18345#true} #96#return; {18345#true} is VALID [2022-04-28 13:02:29,309 INFO L290 TraceCheckUtils]: 2: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 13:02:29,309 INFO L290 TraceCheckUtils]: 1: Hoare triple {18345#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; {18345#true} is VALID [2022-04-28 13:02:29,309 INFO L272 TraceCheckUtils]: 0: Hoare triple {18345#true} call ULTIMATE.init(); {18345#true} is VALID [2022-04-28 13:02:29,309 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 22 proven. 21 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-28 13:02:29,310 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:02:29,310 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [229641315] [2022-04-28 13:02:29,310 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:02:29,310 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2068041367] [2022-04-28 13:02:29,310 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2068041367] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:02:29,310 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:02:29,310 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-28 13:02:29,310 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:02:29,310 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1609620829] [2022-04-28 13:02:29,311 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1609620829] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:02:29,311 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:02:29,311 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 13:02:29,311 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [39658434] [2022-04-28 13:02:29,311 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:02:29,311 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 86 [2022-04-28 13:02:29,312 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:02:29,312 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 13:02:29,377 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:02:29,377 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 13:02:29,377 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:02:29,377 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 13:02:29,377 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=178, Unknown=0, NotChecked=0, Total=240 [2022-04-28 13:02:29,378 INFO L87 Difference]: Start difference. First operand 161 states and 186 transitions. Second operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 13:02:31,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:02:31,076 INFO L93 Difference]: Finished difference Result 220 states and 267 transitions. [2022-04-28 13:02:31,076 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 13:02:31,076 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 86 [2022-04-28 13:02:31,076 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:02:31,077 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 13:02:31,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 117 transitions. [2022-04-28 13:02:31,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 13:02:31,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 117 transitions. [2022-04-28 13:02:31,081 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 117 transitions. [2022-04-28 13:02:31,246 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:02:31,249 INFO L225 Difference]: With dead ends: 220 [2022-04-28 13:02:31,249 INFO L226 Difference]: Without dead ends: 175 [2022-04-28 13:02:31,249 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 172 GetRequests, 156 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=66, Invalid=206, Unknown=0, NotChecked=0, Total=272 [2022-04-28 13:02:31,251 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 12 mSDsluCounter, 222 mSDsCounter, 0 mSdLazyCounter, 295 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 276 SdHoareTripleChecker+Invalid, 311 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 295 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 13:02:31,251 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 276 Invalid, 311 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 295 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 13:02:31,252 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 175 states. [2022-04-28 13:02:31,475 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 175 to 172. [2022-04-28 13:02:31,476 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:02:31,477 INFO L82 GeneralOperation]: Start isEquivalent. First operand 175 states. Second operand has 172 states, 112 states have (on average 1.1607142857142858) internal successors, (130), 116 states have internal predecessors, (130), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 13:02:31,477 INFO L74 IsIncluded]: Start isIncluded. First operand 175 states. Second operand has 172 states, 112 states have (on average 1.1607142857142858) internal successors, (130), 116 states have internal predecessors, (130), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 13:02:31,477 INFO L87 Difference]: Start difference. First operand 175 states. Second operand has 172 states, 112 states have (on average 1.1607142857142858) internal successors, (130), 116 states have internal predecessors, (130), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 13:02:31,482 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:02:31,482 INFO L93 Difference]: Finished difference Result 175 states and 205 transitions. [2022-04-28 13:02:31,482 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 205 transitions. [2022-04-28 13:02:31,482 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:02:31,482 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:02:31,483 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 112 states have (on average 1.1607142857142858) internal successors, (130), 116 states have internal predecessors, (130), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) Second operand 175 states. [2022-04-28 13:02:31,483 INFO L87 Difference]: Start difference. First operand has 172 states, 112 states have (on average 1.1607142857142858) internal successors, (130), 116 states have internal predecessors, (130), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) Second operand 175 states. [2022-04-28 13:02:31,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:02:31,487 INFO L93 Difference]: Finished difference Result 175 states and 205 transitions. [2022-04-28 13:02:31,487 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 205 transitions. [2022-04-28 13:02:31,487 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:02:31,488 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:02:31,488 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:02:31,488 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:02:31,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 112 states have (on average 1.1607142857142858) internal successors, (130), 116 states have internal predecessors, (130), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 13:02:31,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 200 transitions. [2022-04-28 13:02:31,493 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 200 transitions. Word has length 86 [2022-04-28 13:02:31,493 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:02:31,493 INFO L495 AbstractCegarLoop]: Abstraction has 172 states and 200 transitions. [2022-04-28 13:02:31,494 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 13:02:31,494 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 200 transitions. [2022-04-28 13:02:33,766 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 200 edges. 199 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:02:33,766 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 200 transitions. [2022-04-28 13:02:33,767 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-28 13:02:33,767 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:02:33,767 INFO L195 NwaCegarLoop]: 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-28 13:02:33,786 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 13:02:33,979 WARN L477 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-28 13:02:33,979 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:02:33,980 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:02:33,980 INFO L85 PathProgramCache]: Analyzing trace with hash -1271087930, now seen corresponding path program 9 times [2022-04-28 13:02:33,980 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:02:33,980 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1322988300] [2022-04-28 13:02:40,463 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:02:40,463 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:02:40,464 INFO L85 PathProgramCache]: Analyzing trace with hash -1271087930, now seen corresponding path program 10 times [2022-04-28 13:02:40,464 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:02:40,464 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2049546455] [2022-04-28 13:02:40,464 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:02:40,464 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:02:40,473 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:02:40,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1961375181] [2022-04-28 13:02:40,474 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:02:40,474 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:02:40,474 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:02:40,475 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:02:40,476 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 13:02:40,572 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:02:40,572 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:02:40,573 INFO L263 TraceCheckSpWp]: Trace formula consists of 231 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 13:02:40,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:02:40,590 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:02:41,594 INFO L272 TraceCheckUtils]: 0: Hoare triple {20012#true} call ULTIMATE.init(); {20012#true} is VALID [2022-04-28 13:02:41,594 INFO L290 TraceCheckUtils]: 1: Hoare triple {20012#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; {20012#true} is VALID [2022-04-28 13:02:41,594 INFO L290 TraceCheckUtils]: 2: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:41,594 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20012#true} {20012#true} #96#return; {20012#true} is VALID [2022-04-28 13:02:41,594 INFO L272 TraceCheckUtils]: 4: Hoare triple {20012#true} call #t~ret8 := main(); {20012#true} is VALID [2022-04-28 13:02:41,594 INFO L290 TraceCheckUtils]: 5: Hoare triple {20012#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; {20012#true} is VALID [2022-04-28 13:02:41,594 INFO L272 TraceCheckUtils]: 6: Hoare triple {20012#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {20012#true} is VALID [2022-04-28 13:02:41,594 INFO L290 TraceCheckUtils]: 7: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:41,594 INFO L290 TraceCheckUtils]: 8: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:41,594 INFO L290 TraceCheckUtils]: 9: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:41,594 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20012#true} {20012#true} #80#return; {20012#true} is VALID [2022-04-28 13:02:41,595 INFO L290 TraceCheckUtils]: 11: Hoare triple {20012#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:02:41,595 INFO L290 TraceCheckUtils]: 12: Hoare triple {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:02:41,596 INFO L290 TraceCheckUtils]: 13: Hoare triple {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:02:41,596 INFO L272 TraceCheckUtils]: 14: Hoare triple {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20012#true} is VALID [2022-04-28 13:02:41,596 INFO L290 TraceCheckUtils]: 15: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:41,596 INFO L290 TraceCheckUtils]: 16: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:41,596 INFO L290 TraceCheckUtils]: 17: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:41,596 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {20012#true} {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:02:41,596 INFO L272 TraceCheckUtils]: 19: Hoare triple {20050#(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)); {20012#true} is VALID [2022-04-28 13:02:41,596 INFO L290 TraceCheckUtils]: 20: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:41,597 INFO L290 TraceCheckUtils]: 21: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:41,597 INFO L290 TraceCheckUtils]: 22: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:41,597 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20012#true} {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:02:41,597 INFO L272 TraceCheckUtils]: 24: Hoare triple {20050#(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)); {20012#true} is VALID [2022-04-28 13:02:41,597 INFO L290 TraceCheckUtils]: 25: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:41,597 INFO L290 TraceCheckUtils]: 26: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:41,597 INFO L290 TraceCheckUtils]: 27: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:41,598 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20012#true} {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:02:41,599 INFO L290 TraceCheckUtils]: 29: Hoare triple {20050#(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; {20105#(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-28 13:02:41,599 INFO L290 TraceCheckUtils]: 30: Hoare triple {20105#(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; {20105#(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-28 13:02:41,600 INFO L290 TraceCheckUtils]: 31: Hoare triple {20105#(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 < 50);havoc #t~post6; {20105#(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-28 13:02:41,600 INFO L272 TraceCheckUtils]: 32: Hoare triple {20105#(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)); {20012#true} is VALID [2022-04-28 13:02:41,600 INFO L290 TraceCheckUtils]: 33: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:41,600 INFO L290 TraceCheckUtils]: 34: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:41,600 INFO L290 TraceCheckUtils]: 35: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:41,600 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {20012#true} {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {20105#(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-28 13:02:41,601 INFO L272 TraceCheckUtils]: 37: Hoare triple {20105#(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)); {20012#true} is VALID [2022-04-28 13:02:41,601 INFO L290 TraceCheckUtils]: 38: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:41,601 INFO L290 TraceCheckUtils]: 39: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:41,601 INFO L290 TraceCheckUtils]: 40: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:41,601 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20012#true} {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {20105#(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-28 13:02:41,601 INFO L272 TraceCheckUtils]: 42: Hoare triple {20105#(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)); {20012#true} is VALID [2022-04-28 13:02:41,601 INFO L290 TraceCheckUtils]: 43: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:41,601 INFO L290 TraceCheckUtils]: 44: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:41,602 INFO L290 TraceCheckUtils]: 45: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:41,602 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {20012#true} {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #86#return; {20105#(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-28 13:02:41,603 INFO L290 TraceCheckUtils]: 47: Hoare triple {20105#(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);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:41,604 INFO L290 TraceCheckUtils]: 48: Hoare triple {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:41,604 INFO L290 TraceCheckUtils]: 49: Hoare triple {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} assume !!(#t~post6 < 50);havoc #t~post6; {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:41,604 INFO L272 TraceCheckUtils]: 50: Hoare triple {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20012#true} is VALID [2022-04-28 13:02:41,604 INFO L290 TraceCheckUtils]: 51: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:41,604 INFO L290 TraceCheckUtils]: 52: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:41,604 INFO L290 TraceCheckUtils]: 53: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:41,605 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {20012#true} {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #82#return; {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:41,605 INFO L272 TraceCheckUtils]: 55: Hoare triple {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {20012#true} is VALID [2022-04-28 13:02:41,605 INFO L290 TraceCheckUtils]: 56: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:41,605 INFO L290 TraceCheckUtils]: 57: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:41,605 INFO L290 TraceCheckUtils]: 58: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:41,606 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {20012#true} {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #84#return; {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:41,606 INFO L272 TraceCheckUtils]: 60: Hoare triple {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20012#true} is VALID [2022-04-28 13:02:41,606 INFO L290 TraceCheckUtils]: 61: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:41,606 INFO L290 TraceCheckUtils]: 62: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:41,606 INFO L290 TraceCheckUtils]: 63: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:41,606 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20012#true} {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #86#return; {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:41,607 INFO L290 TraceCheckUtils]: 65: Hoare triple {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:41,608 INFO L290 TraceCheckUtils]: 66: Hoare triple {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:41,608 INFO L290 TraceCheckUtils]: 67: Hoare triple {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} assume !!(#t~post7 < 50);havoc #t~post7; {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:41,608 INFO L272 TraceCheckUtils]: 68: Hoare triple {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {20012#true} is VALID [2022-04-28 13:02:41,608 INFO L290 TraceCheckUtils]: 69: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:41,608 INFO L290 TraceCheckUtils]: 70: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:41,608 INFO L290 TraceCheckUtils]: 71: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:41,609 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {20012#true} {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} #88#return; {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:41,609 INFO L272 TraceCheckUtils]: 73: Hoare triple {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20012#true} is VALID [2022-04-28 13:02:41,609 INFO L290 TraceCheckUtils]: 74: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:41,609 INFO L290 TraceCheckUtils]: 75: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:41,609 INFO L290 TraceCheckUtils]: 76: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:41,610 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {20012#true} {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} #90#return; {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 13:02:41,610 INFO L290 TraceCheckUtils]: 78: Hoare triple {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= 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); {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:02:41,611 INFO L290 TraceCheckUtils]: 79: Hoare triple {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:02:41,611 INFO L290 TraceCheckUtils]: 80: Hoare triple {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:02:41,612 INFO L290 TraceCheckUtils]: 81: Hoare triple {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} assume !!(#t~post7 < 50);havoc #t~post7; {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:02:41,612 INFO L272 TraceCheckUtils]: 82: Hoare triple {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {20012#true} is VALID [2022-04-28 13:02:41,612 INFO L290 TraceCheckUtils]: 83: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:41,612 INFO L290 TraceCheckUtils]: 84: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:41,612 INFO L290 TraceCheckUtils]: 85: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:41,612 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {20012#true} {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} #88#return; {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:02:41,613 INFO L272 TraceCheckUtils]: 87: Hoare triple {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20283#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:02:41,613 INFO L290 TraceCheckUtils]: 88: Hoare triple {20283#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20287#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:02:41,614 INFO L290 TraceCheckUtils]: 89: Hoare triple {20287#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20013#false} is VALID [2022-04-28 13:02:41,614 INFO L290 TraceCheckUtils]: 90: Hoare triple {20013#false} assume !false; {20013#false} is VALID [2022-04-28 13:02:41,614 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-28 13:02:41,614 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:02:48,814 INFO L290 TraceCheckUtils]: 90: Hoare triple {20013#false} assume !false; {20013#false} is VALID [2022-04-28 13:02:48,815 INFO L290 TraceCheckUtils]: 89: Hoare triple {20287#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20013#false} is VALID [2022-04-28 13:02:48,815 INFO L290 TraceCheckUtils]: 88: Hoare triple {20283#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20287#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:02:48,816 INFO L272 TraceCheckUtils]: 87: Hoare triple {20303#(= 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)); {20283#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:02:48,817 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {20012#true} {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #88#return; {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:02:48,817 INFO L290 TraceCheckUtils]: 85: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:48,817 INFO L290 TraceCheckUtils]: 84: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:48,817 INFO L290 TraceCheckUtils]: 83: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:48,817 INFO L272 TraceCheckUtils]: 82: Hoare triple {20303#(= 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)); {20012#true} is VALID [2022-04-28 13:02:48,817 INFO L290 TraceCheckUtils]: 81: Hoare triple {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 50);havoc #t~post7; {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:02:48,818 INFO L290 TraceCheckUtils]: 80: Hoare triple {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:02:48,818 INFO L290 TraceCheckUtils]: 79: Hoare triple {20303#(= 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; {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:02:48,832 INFO L290 TraceCheckUtils]: 78: Hoare triple {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:02:48,833 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {20012#true} {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #90#return; {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 13:02:48,833 INFO L290 TraceCheckUtils]: 76: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:48,833 INFO L290 TraceCheckUtils]: 75: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:48,833 INFO L290 TraceCheckUtils]: 74: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:48,833 INFO L272 TraceCheckUtils]: 73: Hoare triple {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20012#true} is VALID [2022-04-28 13:02:48,834 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {20012#true} {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #88#return; {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 13:02:48,834 INFO L290 TraceCheckUtils]: 71: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:48,834 INFO L290 TraceCheckUtils]: 70: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:48,834 INFO L290 TraceCheckUtils]: 69: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:48,835 INFO L272 TraceCheckUtils]: 68: Hoare triple {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {20012#true} is VALID [2022-04-28 13:02:48,836 INFO L290 TraceCheckUtils]: 67: Hoare triple {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !!(#t~post7 < 50);havoc #t~post7; {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 13:02:48,837 INFO L290 TraceCheckUtils]: 66: Hoare triple {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 13:02:48,839 INFO L290 TraceCheckUtils]: 65: Hoare triple {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 13:02:48,840 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20012#true} {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #86#return; {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:02:48,840 INFO L290 TraceCheckUtils]: 63: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:48,840 INFO L290 TraceCheckUtils]: 62: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:48,840 INFO L290 TraceCheckUtils]: 61: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:48,840 INFO L272 TraceCheckUtils]: 60: Hoare triple {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20012#true} is VALID [2022-04-28 13:02:48,841 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {20012#true} {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #84#return; {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:02:48,841 INFO L290 TraceCheckUtils]: 58: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:48,841 INFO L290 TraceCheckUtils]: 57: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:48,841 INFO L290 TraceCheckUtils]: 56: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:48,841 INFO L272 TraceCheckUtils]: 55: Hoare triple {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {20012#true} is VALID [2022-04-28 13:02:48,842 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {20012#true} {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #82#return; {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:02:48,842 INFO L290 TraceCheckUtils]: 53: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:48,842 INFO L290 TraceCheckUtils]: 52: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:48,842 INFO L290 TraceCheckUtils]: 51: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:48,842 INFO L272 TraceCheckUtils]: 50: Hoare triple {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20012#true} is VALID [2022-04-28 13:02:48,843 INFO L290 TraceCheckUtils]: 49: Hoare triple {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 50);havoc #t~post6; {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:02:48,845 INFO L290 TraceCheckUtils]: 48: Hoare triple {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:02:48,850 INFO L290 TraceCheckUtils]: 47: Hoare triple {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~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; {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:02:48,851 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {20012#true} {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:02:48,851 INFO L290 TraceCheckUtils]: 45: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:48,851 INFO L290 TraceCheckUtils]: 44: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:48,851 INFO L290 TraceCheckUtils]: 43: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:48,851 INFO L272 TraceCheckUtils]: 42: Hoare triple {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~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)); {20012#true} is VALID [2022-04-28 13:02:48,852 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20012#true} {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:02:48,852 INFO L290 TraceCheckUtils]: 40: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:48,852 INFO L290 TraceCheckUtils]: 39: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:48,852 INFO L290 TraceCheckUtils]: 38: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:48,853 INFO L272 TraceCheckUtils]: 37: Hoare triple {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~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)); {20012#true} is VALID [2022-04-28 13:02:48,853 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {20012#true} {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:02:48,853 INFO L290 TraceCheckUtils]: 35: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:48,853 INFO L290 TraceCheckUtils]: 34: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:48,853 INFO L290 TraceCheckUtils]: 33: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:48,854 INFO L272 TraceCheckUtils]: 32: Hoare triple {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~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)); {20012#true} is VALID [2022-04-28 13:02:48,854 INFO L290 TraceCheckUtils]: 31: Hoare triple {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 50);havoc #t~post6; {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:02:48,855 INFO L290 TraceCheckUtils]: 30: Hoare triple {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~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; {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:02:48,857 INFO L290 TraceCheckUtils]: 29: Hoare triple {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:02:48,857 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20012#true} {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} #86#return; {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} is VALID [2022-04-28 13:02:48,857 INFO L290 TraceCheckUtils]: 27: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:48,857 INFO L290 TraceCheckUtils]: 26: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:48,858 INFO L290 TraceCheckUtils]: 25: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:48,858 INFO L272 TraceCheckUtils]: 24: Hoare triple {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20012#true} is VALID [2022-04-28 13:02:48,858 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20012#true} {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} #84#return; {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} is VALID [2022-04-28 13:02:48,858 INFO L290 TraceCheckUtils]: 22: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:48,858 INFO L290 TraceCheckUtils]: 21: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:48,859 INFO L290 TraceCheckUtils]: 20: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:48,859 INFO L272 TraceCheckUtils]: 19: Hoare triple {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {20012#true} is VALID [2022-04-28 13:02:48,859 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {20012#true} {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} #82#return; {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} is VALID [2022-04-28 13:02:48,859 INFO L290 TraceCheckUtils]: 17: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:48,859 INFO L290 TraceCheckUtils]: 16: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:48,859 INFO L290 TraceCheckUtils]: 15: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:48,860 INFO L272 TraceCheckUtils]: 14: Hoare triple {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20012#true} is VALID [2022-04-28 13:02:48,860 INFO L290 TraceCheckUtils]: 13: Hoare triple {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} is VALID [2022-04-28 13:02:48,861 INFO L290 TraceCheckUtils]: 12: Hoare triple {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} is VALID [2022-04-28 13:02:48,861 INFO L290 TraceCheckUtils]: 11: Hoare triple {20012#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} is VALID [2022-04-28 13:02:48,861 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20012#true} {20012#true} #80#return; {20012#true} is VALID [2022-04-28 13:02:48,861 INFO L290 TraceCheckUtils]: 9: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:48,861 INFO L290 TraceCheckUtils]: 8: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 13:02:48,861 INFO L290 TraceCheckUtils]: 7: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 13:02:48,862 INFO L272 TraceCheckUtils]: 6: Hoare triple {20012#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {20012#true} is VALID [2022-04-28 13:02:48,862 INFO L290 TraceCheckUtils]: 5: Hoare triple {20012#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; {20012#true} is VALID [2022-04-28 13:02:48,862 INFO L272 TraceCheckUtils]: 4: Hoare triple {20012#true} call #t~ret8 := main(); {20012#true} is VALID [2022-04-28 13:02:48,862 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20012#true} {20012#true} #96#return; {20012#true} is VALID [2022-04-28 13:02:48,862 INFO L290 TraceCheckUtils]: 2: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 13:02:48,862 INFO L290 TraceCheckUtils]: 1: Hoare triple {20012#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; {20012#true} is VALID [2022-04-28 13:02:48,862 INFO L272 TraceCheckUtils]: 0: Hoare triple {20012#true} call ULTIMATE.init(); {20012#true} is VALID [2022-04-28 13:02:48,863 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-28 13:02:48,863 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:02:48,863 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2049546455] [2022-04-28 13:02:48,863 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:02:48,863 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1961375181] [2022-04-28 13:02:48,863 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1961375181] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:02:48,863 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:02:48,863 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 13:02:48,864 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:02:48,864 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1322988300] [2022-04-28 13:02:48,864 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1322988300] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:02:48,864 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:02:48,864 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 13:02:48,864 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [748990671] [2022-04-28 13:02:48,864 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:02:48,865 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 91 [2022-04-28 13:02:48,865 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:02:48,865 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 13:02:48,946 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:02:48,946 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 13:02:48,946 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:02:48,947 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 13:02:48,947 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=130, Unknown=0, NotChecked=0, Total=182 [2022-04-28 13:02:48,947 INFO L87 Difference]: Start difference. First operand 172 states and 200 transitions. Second operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 13:02:50,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:02:50,560 INFO L93 Difference]: Finished difference Result 212 states and 254 transitions. [2022-04-28 13:02:50,560 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 13:02:50,560 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 91 [2022-04-28 13:02:50,561 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:02:50,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 13:02:50,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 123 transitions. [2022-04-28 13:02:50,563 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 13:02:50,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 123 transitions. [2022-04-28 13:02:50,566 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 123 transitions. [2022-04-28 13:02:50,726 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:02:50,729 INFO L225 Difference]: With dead ends: 212 [2022-04-28 13:02:50,729 INFO L226 Difference]: Without dead ends: 182 [2022-04-28 13:02:50,730 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 184 GetRequests, 168 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=74, Invalid=198, Unknown=0, NotChecked=0, Total=272 [2022-04-28 13:02:50,730 INFO L413 NwaCegarLoop]: 68 mSDtfsCounter, 14 mSDsluCounter, 282 mSDsCounter, 0 mSdLazyCounter, 286 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 350 SdHoareTripleChecker+Invalid, 298 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 286 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 13:02:50,730 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 350 Invalid, 298 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 286 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 13:02:50,731 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-28 13:02:50,958 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 180. [2022-04-28 13:02:50,958 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:02:50,959 INFO L82 GeneralOperation]: Start isEquivalent. First operand 182 states. Second operand has 180 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 123 states have internal predecessors, (134), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 13:02:50,959 INFO L74 IsIncluded]: Start isIncluded. First operand 182 states. Second operand has 180 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 123 states have internal predecessors, (134), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 13:02:50,959 INFO L87 Difference]: Start difference. First operand 182 states. Second operand has 180 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 123 states have internal predecessors, (134), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 13:02:50,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:02:50,964 INFO L93 Difference]: Finished difference Result 182 states and 210 transitions. [2022-04-28 13:02:50,964 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 210 transitions. [2022-04-28 13:02:50,965 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:02:50,965 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:02:50,965 INFO L74 IsIncluded]: Start isIncluded. First operand has 180 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 123 states have internal predecessors, (134), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 182 states. [2022-04-28 13:02:50,965 INFO L87 Difference]: Start difference. First operand has 180 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 123 states have internal predecessors, (134), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 182 states. [2022-04-28 13:02:50,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:02:50,970 INFO L93 Difference]: Finished difference Result 182 states and 210 transitions. [2022-04-28 13:02:50,970 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 210 transitions. [2022-04-28 13:02:50,970 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:02:50,970 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:02:50,970 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:02:50,970 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:02:50,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 180 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 123 states have internal predecessors, (134), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 13:02:50,975 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 180 states to 180 states and 207 transitions. [2022-04-28 13:02:50,976 INFO L78 Accepts]: Start accepts. Automaton has 180 states and 207 transitions. Word has length 91 [2022-04-28 13:02:50,976 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:02:50,976 INFO L495 AbstractCegarLoop]: Abstraction has 180 states and 207 transitions. [2022-04-28 13:02:50,976 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 13:02:50,976 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 180 states and 207 transitions. [2022-04-28 13:02:53,302 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 207 edges. 206 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:02:53,302 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 207 transitions. [2022-04-28 13:02:53,303 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-28 13:02:53,303 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:02:53,303 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:02:53,319 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Ended with exit code 0 [2022-04-28 13:02:53,503 WARN L477 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-28 13:02:53,504 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:02:53,504 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:02:53,504 INFO L85 PathProgramCache]: Analyzing trace with hash 114996177, now seen corresponding path program 7 times [2022-04-28 13:02:53,504 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:02:53,504 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1351592204] [2022-04-28 13:03:01,535 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:03:01,535 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:03:01,535 INFO L85 PathProgramCache]: Analyzing trace with hash 114996177, now seen corresponding path program 8 times [2022-04-28 13:03:01,535 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:03:01,535 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [748405714] [2022-04-28 13:03:01,535 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:03:01,535 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:03:01,548 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:03:01,548 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [398415962] [2022-04-28 13:03:01,548 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:03:01,548 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:03:01,549 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:03:01,550 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:03:01,555 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 13:03:01,601 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:03:01,601 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:03:01,602 INFO L263 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 13:03:01,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:03:01,619 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:03:01,960 INFO L272 TraceCheckUtils]: 0: Hoare triple {21725#true} call ULTIMATE.init(); {21725#true} is VALID [2022-04-28 13:03:01,960 INFO L290 TraceCheckUtils]: 1: Hoare triple {21725#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; {21733#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:01,961 INFO L290 TraceCheckUtils]: 2: Hoare triple {21733#(<= ~counter~0 0)} assume true; {21733#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:01,961 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21733#(<= ~counter~0 0)} {21725#true} #96#return; {21733#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:01,961 INFO L272 TraceCheckUtils]: 4: Hoare triple {21733#(<= ~counter~0 0)} call #t~ret8 := main(); {21733#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:01,962 INFO L290 TraceCheckUtils]: 5: Hoare triple {21733#(<= ~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; {21733#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:01,962 INFO L272 TraceCheckUtils]: 6: Hoare triple {21733#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {21733#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:01,962 INFO L290 TraceCheckUtils]: 7: Hoare triple {21733#(<= ~counter~0 0)} ~cond := #in~cond; {21733#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:01,962 INFO L290 TraceCheckUtils]: 8: Hoare triple {21733#(<= ~counter~0 0)} assume !(0 == ~cond); {21733#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:01,963 INFO L290 TraceCheckUtils]: 9: Hoare triple {21733#(<= ~counter~0 0)} assume true; {21733#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:01,963 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21733#(<= ~counter~0 0)} {21733#(<= ~counter~0 0)} #80#return; {21733#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:01,963 INFO L290 TraceCheckUtils]: 11: Hoare triple {21733#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {21733#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:01,964 INFO L290 TraceCheckUtils]: 12: Hoare triple {21733#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:01,964 INFO L290 TraceCheckUtils]: 13: Hoare triple {21767#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:01,965 INFO L272 TraceCheckUtils]: 14: Hoare triple {21767#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21767#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:01,965 INFO L290 TraceCheckUtils]: 15: Hoare triple {21767#(<= ~counter~0 1)} ~cond := #in~cond; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:01,965 INFO L290 TraceCheckUtils]: 16: Hoare triple {21767#(<= ~counter~0 1)} assume !(0 == ~cond); {21767#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:01,966 INFO L290 TraceCheckUtils]: 17: Hoare triple {21767#(<= ~counter~0 1)} assume true; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:01,966 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {21767#(<= ~counter~0 1)} {21767#(<= ~counter~0 1)} #82#return; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:01,966 INFO L272 TraceCheckUtils]: 19: Hoare triple {21767#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21767#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:01,967 INFO L290 TraceCheckUtils]: 20: Hoare triple {21767#(<= ~counter~0 1)} ~cond := #in~cond; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:01,967 INFO L290 TraceCheckUtils]: 21: Hoare triple {21767#(<= ~counter~0 1)} assume !(0 == ~cond); {21767#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:01,967 INFO L290 TraceCheckUtils]: 22: Hoare triple {21767#(<= ~counter~0 1)} assume true; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:01,968 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {21767#(<= ~counter~0 1)} {21767#(<= ~counter~0 1)} #84#return; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:01,968 INFO L272 TraceCheckUtils]: 24: Hoare triple {21767#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21767#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:01,968 INFO L290 TraceCheckUtils]: 25: Hoare triple {21767#(<= ~counter~0 1)} ~cond := #in~cond; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:01,969 INFO L290 TraceCheckUtils]: 26: Hoare triple {21767#(<= ~counter~0 1)} assume !(0 == ~cond); {21767#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:01,969 INFO L290 TraceCheckUtils]: 27: Hoare triple {21767#(<= ~counter~0 1)} assume true; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:01,969 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {21767#(<= ~counter~0 1)} {21767#(<= ~counter~0 1)} #86#return; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:01,970 INFO L290 TraceCheckUtils]: 29: Hoare triple {21767#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:01,970 INFO L290 TraceCheckUtils]: 30: Hoare triple {21767#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:01,971 INFO L290 TraceCheckUtils]: 31: Hoare triple {21822#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:01,971 INFO L272 TraceCheckUtils]: 32: Hoare triple {21822#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21822#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:01,971 INFO L290 TraceCheckUtils]: 33: Hoare triple {21822#(<= ~counter~0 2)} ~cond := #in~cond; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:01,971 INFO L290 TraceCheckUtils]: 34: Hoare triple {21822#(<= ~counter~0 2)} assume !(0 == ~cond); {21822#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:01,972 INFO L290 TraceCheckUtils]: 35: Hoare triple {21822#(<= ~counter~0 2)} assume true; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:01,972 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {21822#(<= ~counter~0 2)} {21822#(<= ~counter~0 2)} #82#return; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:01,973 INFO L272 TraceCheckUtils]: 37: Hoare triple {21822#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21822#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:01,973 INFO L290 TraceCheckUtils]: 38: Hoare triple {21822#(<= ~counter~0 2)} ~cond := #in~cond; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:01,973 INFO L290 TraceCheckUtils]: 39: Hoare triple {21822#(<= ~counter~0 2)} assume !(0 == ~cond); {21822#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:01,973 INFO L290 TraceCheckUtils]: 40: Hoare triple {21822#(<= ~counter~0 2)} assume true; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:01,974 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21822#(<= ~counter~0 2)} {21822#(<= ~counter~0 2)} #84#return; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:01,974 INFO L272 TraceCheckUtils]: 42: Hoare triple {21822#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21822#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:01,975 INFO L290 TraceCheckUtils]: 43: Hoare triple {21822#(<= ~counter~0 2)} ~cond := #in~cond; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:01,975 INFO L290 TraceCheckUtils]: 44: Hoare triple {21822#(<= ~counter~0 2)} assume !(0 == ~cond); {21822#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:01,975 INFO L290 TraceCheckUtils]: 45: Hoare triple {21822#(<= ~counter~0 2)} assume true; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:01,976 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {21822#(<= ~counter~0 2)} {21822#(<= ~counter~0 2)} #86#return; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:01,976 INFO L290 TraceCheckUtils]: 47: Hoare triple {21822#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:01,976 INFO L290 TraceCheckUtils]: 48: Hoare triple {21822#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:01,977 INFO L290 TraceCheckUtils]: 49: Hoare triple {21877#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:01,977 INFO L272 TraceCheckUtils]: 50: Hoare triple {21877#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21877#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:01,977 INFO L290 TraceCheckUtils]: 51: Hoare triple {21877#(<= ~counter~0 3)} ~cond := #in~cond; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:01,978 INFO L290 TraceCheckUtils]: 52: Hoare triple {21877#(<= ~counter~0 3)} assume !(0 == ~cond); {21877#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:01,978 INFO L290 TraceCheckUtils]: 53: Hoare triple {21877#(<= ~counter~0 3)} assume true; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:01,978 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {21877#(<= ~counter~0 3)} {21877#(<= ~counter~0 3)} #82#return; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:01,979 INFO L272 TraceCheckUtils]: 55: Hoare triple {21877#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21877#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:01,979 INFO L290 TraceCheckUtils]: 56: Hoare triple {21877#(<= ~counter~0 3)} ~cond := #in~cond; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:01,979 INFO L290 TraceCheckUtils]: 57: Hoare triple {21877#(<= ~counter~0 3)} assume !(0 == ~cond); {21877#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:01,979 INFO L290 TraceCheckUtils]: 58: Hoare triple {21877#(<= ~counter~0 3)} assume true; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:01,980 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {21877#(<= ~counter~0 3)} {21877#(<= ~counter~0 3)} #84#return; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:01,980 INFO L272 TraceCheckUtils]: 60: Hoare triple {21877#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21877#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:01,981 INFO L290 TraceCheckUtils]: 61: Hoare triple {21877#(<= ~counter~0 3)} ~cond := #in~cond; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:01,981 INFO L290 TraceCheckUtils]: 62: Hoare triple {21877#(<= ~counter~0 3)} assume !(0 == ~cond); {21877#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:01,981 INFO L290 TraceCheckUtils]: 63: Hoare triple {21877#(<= ~counter~0 3)} assume true; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:01,982 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {21877#(<= ~counter~0 3)} {21877#(<= ~counter~0 3)} #86#return; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:01,982 INFO L290 TraceCheckUtils]: 65: Hoare triple {21877#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:01,982 INFO L290 TraceCheckUtils]: 66: Hoare triple {21877#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:01,983 INFO L290 TraceCheckUtils]: 67: Hoare triple {21932#(<= ~counter~0 4)} assume !!(#t~post6 < 50);havoc #t~post6; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:01,983 INFO L272 TraceCheckUtils]: 68: Hoare triple {21932#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21932#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:01,983 INFO L290 TraceCheckUtils]: 69: Hoare triple {21932#(<= ~counter~0 4)} ~cond := #in~cond; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:01,984 INFO L290 TraceCheckUtils]: 70: Hoare triple {21932#(<= ~counter~0 4)} assume !(0 == ~cond); {21932#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:01,984 INFO L290 TraceCheckUtils]: 71: Hoare triple {21932#(<= ~counter~0 4)} assume true; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:01,984 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {21932#(<= ~counter~0 4)} {21932#(<= ~counter~0 4)} #82#return; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:01,985 INFO L272 TraceCheckUtils]: 73: Hoare triple {21932#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21932#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:01,985 INFO L290 TraceCheckUtils]: 74: Hoare triple {21932#(<= ~counter~0 4)} ~cond := #in~cond; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:01,985 INFO L290 TraceCheckUtils]: 75: Hoare triple {21932#(<= ~counter~0 4)} assume !(0 == ~cond); {21932#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:01,985 INFO L290 TraceCheckUtils]: 76: Hoare triple {21932#(<= ~counter~0 4)} assume true; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:01,986 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {21932#(<= ~counter~0 4)} {21932#(<= ~counter~0 4)} #84#return; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:01,986 INFO L272 TraceCheckUtils]: 78: Hoare triple {21932#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21932#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:01,987 INFO L290 TraceCheckUtils]: 79: Hoare triple {21932#(<= ~counter~0 4)} ~cond := #in~cond; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:01,987 INFO L290 TraceCheckUtils]: 80: Hoare triple {21932#(<= ~counter~0 4)} assume !(0 == ~cond); {21932#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:01,987 INFO L290 TraceCheckUtils]: 81: Hoare triple {21932#(<= ~counter~0 4)} assume true; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:01,988 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {21932#(<= ~counter~0 4)} {21932#(<= ~counter~0 4)} #86#return; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:01,988 INFO L290 TraceCheckUtils]: 83: Hoare triple {21932#(<= ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:01,988 INFO L290 TraceCheckUtils]: 84: Hoare triple {21932#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21987#(<= |main_#t~post6| 4)} is VALID [2022-04-28 13:03:01,989 INFO L290 TraceCheckUtils]: 85: Hoare triple {21987#(<= |main_#t~post6| 4)} assume !(#t~post6 < 50);havoc #t~post6; {21726#false} is VALID [2022-04-28 13:03:01,989 INFO L290 TraceCheckUtils]: 86: Hoare triple {21726#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {21726#false} is VALID [2022-04-28 13:03:01,989 INFO L290 TraceCheckUtils]: 87: Hoare triple {21726#false} assume !(#t~post7 < 50);havoc #t~post7; {21726#false} is VALID [2022-04-28 13:03:01,989 INFO L272 TraceCheckUtils]: 88: Hoare triple {21726#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {21726#false} is VALID [2022-04-28 13:03:01,989 INFO L290 TraceCheckUtils]: 89: Hoare triple {21726#false} ~cond := #in~cond; {21726#false} is VALID [2022-04-28 13:03:01,989 INFO L290 TraceCheckUtils]: 90: Hoare triple {21726#false} assume !(0 == ~cond); {21726#false} is VALID [2022-04-28 13:03:01,989 INFO L290 TraceCheckUtils]: 91: Hoare triple {21726#false} assume true; {21726#false} is VALID [2022-04-28 13:03:01,989 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {21726#false} {21726#false} #92#return; {21726#false} is VALID [2022-04-28 13:03:01,989 INFO L272 TraceCheckUtils]: 93: Hoare triple {21726#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {21726#false} is VALID [2022-04-28 13:03:01,989 INFO L290 TraceCheckUtils]: 94: Hoare triple {21726#false} ~cond := #in~cond; {21726#false} is VALID [2022-04-28 13:03:01,989 INFO L290 TraceCheckUtils]: 95: Hoare triple {21726#false} assume 0 == ~cond; {21726#false} is VALID [2022-04-28 13:03:01,989 INFO L290 TraceCheckUtils]: 96: Hoare triple {21726#false} assume !false; {21726#false} is VALID [2022-04-28 13:03:01,990 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 72 proven. 260 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2022-04-28 13:03:01,990 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:03:02,354 INFO L290 TraceCheckUtils]: 96: Hoare triple {21726#false} assume !false; {21726#false} is VALID [2022-04-28 13:03:02,355 INFO L290 TraceCheckUtils]: 95: Hoare triple {21726#false} assume 0 == ~cond; {21726#false} is VALID [2022-04-28 13:03:02,355 INFO L290 TraceCheckUtils]: 94: Hoare triple {21726#false} ~cond := #in~cond; {21726#false} is VALID [2022-04-28 13:03:02,355 INFO L272 TraceCheckUtils]: 93: Hoare triple {21726#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {21726#false} is VALID [2022-04-28 13:03:02,355 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {21725#true} {21726#false} #92#return; {21726#false} is VALID [2022-04-28 13:03:02,355 INFO L290 TraceCheckUtils]: 91: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 13:03:02,355 INFO L290 TraceCheckUtils]: 90: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 13:03:02,355 INFO L290 TraceCheckUtils]: 89: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 13:03:02,355 INFO L272 TraceCheckUtils]: 88: Hoare triple {21726#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {21725#true} is VALID [2022-04-28 13:03:02,355 INFO L290 TraceCheckUtils]: 87: Hoare triple {21726#false} assume !(#t~post7 < 50);havoc #t~post7; {21726#false} is VALID [2022-04-28 13:03:02,355 INFO L290 TraceCheckUtils]: 86: Hoare triple {21726#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {21726#false} is VALID [2022-04-28 13:03:02,356 INFO L290 TraceCheckUtils]: 85: Hoare triple {22057#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {21726#false} is VALID [2022-04-28 13:03:02,356 INFO L290 TraceCheckUtils]: 84: Hoare triple {22061#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22057#(< |main_#t~post6| 50)} is VALID [2022-04-28 13:03:02,356 INFO L290 TraceCheckUtils]: 83: Hoare triple {22061#(< ~counter~0 50)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22061#(< ~counter~0 50)} is VALID [2022-04-28 13:03:02,357 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {21725#true} {22061#(< ~counter~0 50)} #86#return; {22061#(< ~counter~0 50)} is VALID [2022-04-28 13:03:02,357 INFO L290 TraceCheckUtils]: 81: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 13:03:02,357 INFO L290 TraceCheckUtils]: 80: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 13:03:02,357 INFO L290 TraceCheckUtils]: 79: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 13:03:02,357 INFO L272 TraceCheckUtils]: 78: Hoare triple {22061#(< ~counter~0 50)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21725#true} is VALID [2022-04-28 13:03:02,357 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {21725#true} {22061#(< ~counter~0 50)} #84#return; {22061#(< ~counter~0 50)} is VALID [2022-04-28 13:03:02,358 INFO L290 TraceCheckUtils]: 76: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 13:03:02,358 INFO L290 TraceCheckUtils]: 75: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 13:03:02,358 INFO L290 TraceCheckUtils]: 74: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 13:03:02,358 INFO L272 TraceCheckUtils]: 73: Hoare triple {22061#(< ~counter~0 50)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21725#true} is VALID [2022-04-28 13:03:02,358 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {21725#true} {22061#(< ~counter~0 50)} #82#return; {22061#(< ~counter~0 50)} is VALID [2022-04-28 13:03:02,358 INFO L290 TraceCheckUtils]: 71: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 13:03:02,358 INFO L290 TraceCheckUtils]: 70: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 13:03:02,358 INFO L290 TraceCheckUtils]: 69: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 13:03:02,358 INFO L272 TraceCheckUtils]: 68: Hoare triple {22061#(< ~counter~0 50)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21725#true} is VALID [2022-04-28 13:03:02,359 INFO L290 TraceCheckUtils]: 67: Hoare triple {22061#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {22061#(< ~counter~0 50)} is VALID [2022-04-28 13:03:02,359 INFO L290 TraceCheckUtils]: 66: Hoare triple {22116#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22061#(< ~counter~0 50)} is VALID [2022-04-28 13:03:02,360 INFO L290 TraceCheckUtils]: 65: Hoare triple {22116#(< ~counter~0 49)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22116#(< ~counter~0 49)} is VALID [2022-04-28 13:03:02,360 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {21725#true} {22116#(< ~counter~0 49)} #86#return; {22116#(< ~counter~0 49)} is VALID [2022-04-28 13:03:02,360 INFO L290 TraceCheckUtils]: 63: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 13:03:02,360 INFO L290 TraceCheckUtils]: 62: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 13:03:02,360 INFO L290 TraceCheckUtils]: 61: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 13:03:02,361 INFO L272 TraceCheckUtils]: 60: Hoare triple {22116#(< ~counter~0 49)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21725#true} is VALID [2022-04-28 13:03:02,361 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {21725#true} {22116#(< ~counter~0 49)} #84#return; {22116#(< ~counter~0 49)} is VALID [2022-04-28 13:03:02,361 INFO L290 TraceCheckUtils]: 58: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 13:03:02,361 INFO L290 TraceCheckUtils]: 57: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 13:03:02,361 INFO L290 TraceCheckUtils]: 56: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 13:03:02,361 INFO L272 TraceCheckUtils]: 55: Hoare triple {22116#(< ~counter~0 49)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21725#true} is VALID [2022-04-28 13:03:02,362 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {21725#true} {22116#(< ~counter~0 49)} #82#return; {22116#(< ~counter~0 49)} is VALID [2022-04-28 13:03:02,362 INFO L290 TraceCheckUtils]: 53: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 13:03:02,362 INFO L290 TraceCheckUtils]: 52: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 13:03:02,362 INFO L290 TraceCheckUtils]: 51: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 13:03:02,362 INFO L272 TraceCheckUtils]: 50: Hoare triple {22116#(< ~counter~0 49)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21725#true} is VALID [2022-04-28 13:03:02,362 INFO L290 TraceCheckUtils]: 49: Hoare triple {22116#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {22116#(< ~counter~0 49)} is VALID [2022-04-28 13:03:02,363 INFO L290 TraceCheckUtils]: 48: Hoare triple {22171#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22116#(< ~counter~0 49)} is VALID [2022-04-28 13:03:02,364 INFO L290 TraceCheckUtils]: 47: Hoare triple {22171#(< ~counter~0 48)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22171#(< ~counter~0 48)} is VALID [2022-04-28 13:03:02,364 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {21725#true} {22171#(< ~counter~0 48)} #86#return; {22171#(< ~counter~0 48)} is VALID [2022-04-28 13:03:02,365 INFO L290 TraceCheckUtils]: 45: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 13:03:02,365 INFO L290 TraceCheckUtils]: 44: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 13:03:02,365 INFO L290 TraceCheckUtils]: 43: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 13:03:02,365 INFO L272 TraceCheckUtils]: 42: Hoare triple {22171#(< ~counter~0 48)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21725#true} is VALID [2022-04-28 13:03:02,365 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21725#true} {22171#(< ~counter~0 48)} #84#return; {22171#(< ~counter~0 48)} is VALID [2022-04-28 13:03:02,365 INFO L290 TraceCheckUtils]: 40: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 13:03:02,366 INFO L290 TraceCheckUtils]: 39: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 13:03:02,366 INFO L290 TraceCheckUtils]: 38: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 13:03:02,366 INFO L272 TraceCheckUtils]: 37: Hoare triple {22171#(< ~counter~0 48)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21725#true} is VALID [2022-04-28 13:03:02,366 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {21725#true} {22171#(< ~counter~0 48)} #82#return; {22171#(< ~counter~0 48)} is VALID [2022-04-28 13:03:02,366 INFO L290 TraceCheckUtils]: 35: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 13:03:02,366 INFO L290 TraceCheckUtils]: 34: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 13:03:02,367 INFO L290 TraceCheckUtils]: 33: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 13:03:02,367 INFO L272 TraceCheckUtils]: 32: Hoare triple {22171#(< ~counter~0 48)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21725#true} is VALID [2022-04-28 13:03:02,367 INFO L290 TraceCheckUtils]: 31: Hoare triple {22171#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {22171#(< ~counter~0 48)} is VALID [2022-04-28 13:03:02,368 INFO L290 TraceCheckUtils]: 30: Hoare triple {22226#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22171#(< ~counter~0 48)} is VALID [2022-04-28 13:03:02,368 INFO L290 TraceCheckUtils]: 29: Hoare triple {22226#(< ~counter~0 47)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22226#(< ~counter~0 47)} is VALID [2022-04-28 13:03:02,369 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {21725#true} {22226#(< ~counter~0 47)} #86#return; {22226#(< ~counter~0 47)} is VALID [2022-04-28 13:03:02,369 INFO L290 TraceCheckUtils]: 27: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 13:03:02,369 INFO L290 TraceCheckUtils]: 26: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 13:03:02,369 INFO L290 TraceCheckUtils]: 25: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 13:03:02,369 INFO L272 TraceCheckUtils]: 24: Hoare triple {22226#(< ~counter~0 47)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21725#true} is VALID [2022-04-28 13:03:02,370 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {21725#true} {22226#(< ~counter~0 47)} #84#return; {22226#(< ~counter~0 47)} is VALID [2022-04-28 13:03:02,370 INFO L290 TraceCheckUtils]: 22: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 13:03:02,370 INFO L290 TraceCheckUtils]: 21: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 13:03:02,370 INFO L290 TraceCheckUtils]: 20: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 13:03:02,370 INFO L272 TraceCheckUtils]: 19: Hoare triple {22226#(< ~counter~0 47)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21725#true} is VALID [2022-04-28 13:03:02,371 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {21725#true} {22226#(< ~counter~0 47)} #82#return; {22226#(< ~counter~0 47)} is VALID [2022-04-28 13:03:02,371 INFO L290 TraceCheckUtils]: 17: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 13:03:02,371 INFO L290 TraceCheckUtils]: 16: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 13:03:02,371 INFO L290 TraceCheckUtils]: 15: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 13:03:02,371 INFO L272 TraceCheckUtils]: 14: Hoare triple {22226#(< ~counter~0 47)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21725#true} is VALID [2022-04-28 13:03:02,371 INFO L290 TraceCheckUtils]: 13: Hoare triple {22226#(< ~counter~0 47)} assume !!(#t~post6 < 50);havoc #t~post6; {22226#(< ~counter~0 47)} is VALID [2022-04-28 13:03:02,372 INFO L290 TraceCheckUtils]: 12: Hoare triple {22281#(< ~counter~0 46)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22226#(< ~counter~0 47)} is VALID [2022-04-28 13:03:02,372 INFO L290 TraceCheckUtils]: 11: Hoare triple {22281#(< ~counter~0 46)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {22281#(< ~counter~0 46)} is VALID [2022-04-28 13:03:02,373 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21725#true} {22281#(< ~counter~0 46)} #80#return; {22281#(< ~counter~0 46)} is VALID [2022-04-28 13:03:02,373 INFO L290 TraceCheckUtils]: 9: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 13:03:02,373 INFO L290 TraceCheckUtils]: 8: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 13:03:02,373 INFO L290 TraceCheckUtils]: 7: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 13:03:02,373 INFO L272 TraceCheckUtils]: 6: Hoare triple {22281#(< ~counter~0 46)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {21725#true} is VALID [2022-04-28 13:03:02,374 INFO L290 TraceCheckUtils]: 5: Hoare triple {22281#(< ~counter~0 46)} 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; {22281#(< ~counter~0 46)} is VALID [2022-04-28 13:03:02,374 INFO L272 TraceCheckUtils]: 4: Hoare triple {22281#(< ~counter~0 46)} call #t~ret8 := main(); {22281#(< ~counter~0 46)} is VALID [2022-04-28 13:03:02,374 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22281#(< ~counter~0 46)} {21725#true} #96#return; {22281#(< ~counter~0 46)} is VALID [2022-04-28 13:03:02,375 INFO L290 TraceCheckUtils]: 2: Hoare triple {22281#(< ~counter~0 46)} assume true; {22281#(< ~counter~0 46)} is VALID [2022-04-28 13:03:02,375 INFO L290 TraceCheckUtils]: 1: Hoare triple {21725#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; {22281#(< ~counter~0 46)} is VALID [2022-04-28 13:03:02,375 INFO L272 TraceCheckUtils]: 0: Hoare triple {21725#true} call ULTIMATE.init(); {21725#true} is VALID [2022-04-28 13:03:02,376 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 26 proven. 44 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 13:03:02,376 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:03:02,376 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [748405714] [2022-04-28 13:03:02,376 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:03:02,376 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [398415962] [2022-04-28 13:03:02,376 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [398415962] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:03:02,376 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:03:02,377 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 13:03:02,377 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:03:02,377 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1351592204] [2022-04-28 13:03:02,377 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1351592204] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:03:02,377 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:03:02,377 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 13:03:02,377 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1661337878] [2022-04-28 13:03:02,377 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:03:02,378 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-28 13:03:02,378 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:03:02,378 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-28 13:03:02,440 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:03:02,440 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 13:03:02,440 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:03:02,441 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 13:03:02,441 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 13:03:02,441 INFO L87 Difference]: Start difference. First operand 180 states and 207 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-28 13:03:03,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:03:03,104 INFO L93 Difference]: Finished difference Result 225 states and 269 transitions. [2022-04-28 13:03:03,104 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 13:03:03,104 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-28 13:03:03,104 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:03:03,104 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-28 13:03:03,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 123 transitions. [2022-04-28 13:03:03,108 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-28 13:03:03,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 123 transitions. [2022-04-28 13:03:03,110 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 123 transitions. [2022-04-28 13:03:03,249 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:03:03,253 INFO L225 Difference]: With dead ends: 225 [2022-04-28 13:03:03,253 INFO L226 Difference]: Without dead ends: 182 [2022-04-28 13:03:03,254 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 197 GetRequests, 181 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=123, Invalid=183, Unknown=0, NotChecked=0, Total=306 [2022-04-28 13:03:03,254 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 15 mSDsluCounter, 135 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 188 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 13:03:03,254 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 188 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 13:03:03,255 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-28 13:03:03,488 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 182. [2022-04-28 13:03:03,488 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:03:03,488 INFO L82 GeneralOperation]: Start isEquivalent. First operand 182 states. Second operand has 182 states, 119 states have (on average 1.1428571428571428) internal successors, (136), 125 states have internal predecessors, (136), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 13:03:03,489 INFO L74 IsIncluded]: Start isIncluded. First operand 182 states. Second operand has 182 states, 119 states have (on average 1.1428571428571428) internal successors, (136), 125 states have internal predecessors, (136), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 13:03:03,489 INFO L87 Difference]: Start difference. First operand 182 states. Second operand has 182 states, 119 states have (on average 1.1428571428571428) internal successors, (136), 125 states have internal predecessors, (136), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 13:03:03,493 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:03:03,493 INFO L93 Difference]: Finished difference Result 182 states and 209 transitions. [2022-04-28 13:03:03,493 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 209 transitions. [2022-04-28 13:03:03,494 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:03:03,494 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:03:03,494 INFO L74 IsIncluded]: Start isIncluded. First operand has 182 states, 119 states have (on average 1.1428571428571428) internal successors, (136), 125 states have internal predecessors, (136), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 182 states. [2022-04-28 13:03:03,494 INFO L87 Difference]: Start difference. First operand has 182 states, 119 states have (on average 1.1428571428571428) internal successors, (136), 125 states have internal predecessors, (136), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 182 states. [2022-04-28 13:03:03,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:03:03,499 INFO L93 Difference]: Finished difference Result 182 states and 209 transitions. [2022-04-28 13:03:03,499 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 209 transitions. [2022-04-28 13:03:03,499 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:03:03,499 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:03:03,499 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:03:03,499 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:03:03,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 182 states, 119 states have (on average 1.1428571428571428) internal successors, (136), 125 states have internal predecessors, (136), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 13:03:03,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 182 states to 182 states and 209 transitions. [2022-04-28 13:03:03,504 INFO L78 Accepts]: Start accepts. Automaton has 182 states and 209 transitions. Word has length 97 [2022-04-28 13:03:03,504 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:03:03,504 INFO L495 AbstractCegarLoop]: Abstraction has 182 states and 209 transitions. [2022-04-28 13:03:03,504 INFO L496 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-28 13:03:03,504 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 182 states and 209 transitions. [2022-04-28 13:03:05,875 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 208 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:03:05,877 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 209 transitions. [2022-04-28 13:03:05,877 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-28 13:03:05,877 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:03:05,878 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:03:05,903 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-28 13:03:06,078 WARN L477 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-28 13:03:06,079 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:03:06,079 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:03:06,079 INFO L85 PathProgramCache]: Analyzing trace with hash -545719131, now seen corresponding path program 5 times [2022-04-28 13:03:06,079 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:03:06,079 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1568067079] [2022-04-28 13:03:11,293 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:03:11,293 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:03:11,293 INFO L85 PathProgramCache]: Analyzing trace with hash -545719131, now seen corresponding path program 6 times [2022-04-28 13:03:11,293 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:03:11,293 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [71301036] [2022-04-28 13:03:11,293 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:03:11,293 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:03:11,304 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:03:11,304 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [99721504] [2022-04-28 13:03:11,304 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:03:11,305 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:03:11,305 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:03:11,312 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:03:11,314 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 13:03:11,457 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 13:03:11,457 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:03:11,458 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 13:03:11,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:03:11,479 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:03:11,870 INFO L272 TraceCheckUtils]: 0: Hoare triple {23506#true} call ULTIMATE.init(); {23506#true} is VALID [2022-04-28 13:03:11,871 INFO L290 TraceCheckUtils]: 1: Hoare triple {23506#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; {23514#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:11,871 INFO L290 TraceCheckUtils]: 2: Hoare triple {23514#(<= ~counter~0 0)} assume true; {23514#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:11,872 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23514#(<= ~counter~0 0)} {23506#true} #96#return; {23514#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:11,872 INFO L272 TraceCheckUtils]: 4: Hoare triple {23514#(<= ~counter~0 0)} call #t~ret8 := main(); {23514#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:11,872 INFO L290 TraceCheckUtils]: 5: Hoare triple {23514#(<= ~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; {23514#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:11,873 INFO L272 TraceCheckUtils]: 6: Hoare triple {23514#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {23514#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:11,873 INFO L290 TraceCheckUtils]: 7: Hoare triple {23514#(<= ~counter~0 0)} ~cond := #in~cond; {23514#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:11,873 INFO L290 TraceCheckUtils]: 8: Hoare triple {23514#(<= ~counter~0 0)} assume !(0 == ~cond); {23514#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:11,874 INFO L290 TraceCheckUtils]: 9: Hoare triple {23514#(<= ~counter~0 0)} assume true; {23514#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:11,874 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23514#(<= ~counter~0 0)} {23514#(<= ~counter~0 0)} #80#return; {23514#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:11,874 INFO L290 TraceCheckUtils]: 11: Hoare triple {23514#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {23514#(<= ~counter~0 0)} is VALID [2022-04-28 13:03:11,875 INFO L290 TraceCheckUtils]: 12: Hoare triple {23514#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:11,875 INFO L290 TraceCheckUtils]: 13: Hoare triple {23548#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:11,876 INFO L272 TraceCheckUtils]: 14: Hoare triple {23548#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23548#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:11,876 INFO L290 TraceCheckUtils]: 15: Hoare triple {23548#(<= ~counter~0 1)} ~cond := #in~cond; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:11,876 INFO L290 TraceCheckUtils]: 16: Hoare triple {23548#(<= ~counter~0 1)} assume !(0 == ~cond); {23548#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:11,876 INFO L290 TraceCheckUtils]: 17: Hoare triple {23548#(<= ~counter~0 1)} assume true; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:11,877 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {23548#(<= ~counter~0 1)} {23548#(<= ~counter~0 1)} #82#return; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:11,877 INFO L272 TraceCheckUtils]: 19: Hoare triple {23548#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23548#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:11,878 INFO L290 TraceCheckUtils]: 20: Hoare triple {23548#(<= ~counter~0 1)} ~cond := #in~cond; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:11,878 INFO L290 TraceCheckUtils]: 21: Hoare triple {23548#(<= ~counter~0 1)} assume !(0 == ~cond); {23548#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:11,878 INFO L290 TraceCheckUtils]: 22: Hoare triple {23548#(<= ~counter~0 1)} assume true; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:11,878 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23548#(<= ~counter~0 1)} {23548#(<= ~counter~0 1)} #84#return; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:11,879 INFO L272 TraceCheckUtils]: 24: Hoare triple {23548#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23548#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:11,879 INFO L290 TraceCheckUtils]: 25: Hoare triple {23548#(<= ~counter~0 1)} ~cond := #in~cond; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:11,879 INFO L290 TraceCheckUtils]: 26: Hoare triple {23548#(<= ~counter~0 1)} assume !(0 == ~cond); {23548#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:11,880 INFO L290 TraceCheckUtils]: 27: Hoare triple {23548#(<= ~counter~0 1)} assume true; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:11,880 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23548#(<= ~counter~0 1)} {23548#(<= ~counter~0 1)} #86#return; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:11,880 INFO L290 TraceCheckUtils]: 29: Hoare triple {23548#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 13:03:11,881 INFO L290 TraceCheckUtils]: 30: Hoare triple {23548#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:11,881 INFO L290 TraceCheckUtils]: 31: Hoare triple {23603#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:11,882 INFO L272 TraceCheckUtils]: 32: Hoare triple {23603#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23603#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:11,882 INFO L290 TraceCheckUtils]: 33: Hoare triple {23603#(<= ~counter~0 2)} ~cond := #in~cond; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:11,882 INFO L290 TraceCheckUtils]: 34: Hoare triple {23603#(<= ~counter~0 2)} assume !(0 == ~cond); {23603#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:11,882 INFO L290 TraceCheckUtils]: 35: Hoare triple {23603#(<= ~counter~0 2)} assume true; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:11,883 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {23603#(<= ~counter~0 2)} {23603#(<= ~counter~0 2)} #82#return; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:11,883 INFO L272 TraceCheckUtils]: 37: Hoare triple {23603#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23603#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:11,884 INFO L290 TraceCheckUtils]: 38: Hoare triple {23603#(<= ~counter~0 2)} ~cond := #in~cond; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:11,884 INFO L290 TraceCheckUtils]: 39: Hoare triple {23603#(<= ~counter~0 2)} assume !(0 == ~cond); {23603#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:11,884 INFO L290 TraceCheckUtils]: 40: Hoare triple {23603#(<= ~counter~0 2)} assume true; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:11,884 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {23603#(<= ~counter~0 2)} {23603#(<= ~counter~0 2)} #84#return; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:11,885 INFO L272 TraceCheckUtils]: 42: Hoare triple {23603#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23603#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:11,885 INFO L290 TraceCheckUtils]: 43: Hoare triple {23603#(<= ~counter~0 2)} ~cond := #in~cond; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:11,885 INFO L290 TraceCheckUtils]: 44: Hoare triple {23603#(<= ~counter~0 2)} assume !(0 == ~cond); {23603#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:11,886 INFO L290 TraceCheckUtils]: 45: Hoare triple {23603#(<= ~counter~0 2)} assume true; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:11,886 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {23603#(<= ~counter~0 2)} {23603#(<= ~counter~0 2)} #86#return; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:11,886 INFO L290 TraceCheckUtils]: 47: Hoare triple {23603#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 13:03:11,887 INFO L290 TraceCheckUtils]: 48: Hoare triple {23603#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:11,887 INFO L290 TraceCheckUtils]: 49: Hoare triple {23658#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:11,888 INFO L272 TraceCheckUtils]: 50: Hoare triple {23658#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23658#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:11,888 INFO L290 TraceCheckUtils]: 51: Hoare triple {23658#(<= ~counter~0 3)} ~cond := #in~cond; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:11,888 INFO L290 TraceCheckUtils]: 52: Hoare triple {23658#(<= ~counter~0 3)} assume !(0 == ~cond); {23658#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:11,888 INFO L290 TraceCheckUtils]: 53: Hoare triple {23658#(<= ~counter~0 3)} assume true; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:11,889 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {23658#(<= ~counter~0 3)} {23658#(<= ~counter~0 3)} #82#return; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:11,889 INFO L272 TraceCheckUtils]: 55: Hoare triple {23658#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23658#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:11,890 INFO L290 TraceCheckUtils]: 56: Hoare triple {23658#(<= ~counter~0 3)} ~cond := #in~cond; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:11,890 INFO L290 TraceCheckUtils]: 57: Hoare triple {23658#(<= ~counter~0 3)} assume !(0 == ~cond); {23658#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:11,890 INFO L290 TraceCheckUtils]: 58: Hoare triple {23658#(<= ~counter~0 3)} assume true; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:11,890 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {23658#(<= ~counter~0 3)} {23658#(<= ~counter~0 3)} #84#return; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:11,891 INFO L272 TraceCheckUtils]: 60: Hoare triple {23658#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23658#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:11,891 INFO L290 TraceCheckUtils]: 61: Hoare triple {23658#(<= ~counter~0 3)} ~cond := #in~cond; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:11,891 INFO L290 TraceCheckUtils]: 62: Hoare triple {23658#(<= ~counter~0 3)} assume !(0 == ~cond); {23658#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:11,892 INFO L290 TraceCheckUtils]: 63: Hoare triple {23658#(<= ~counter~0 3)} assume true; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:11,892 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {23658#(<= ~counter~0 3)} {23658#(<= ~counter~0 3)} #86#return; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:11,892 INFO L290 TraceCheckUtils]: 65: Hoare triple {23658#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {23658#(<= ~counter~0 3)} is VALID [2022-04-28 13:03:11,893 INFO L290 TraceCheckUtils]: 66: Hoare triple {23658#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23713#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:11,893 INFO L290 TraceCheckUtils]: 67: Hoare triple {23713#(<= ~counter~0 4)} assume !!(#t~post7 < 50);havoc #t~post7; {23713#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:11,894 INFO L272 TraceCheckUtils]: 68: Hoare triple {23713#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {23713#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:11,894 INFO L290 TraceCheckUtils]: 69: Hoare triple {23713#(<= ~counter~0 4)} ~cond := #in~cond; {23713#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:11,894 INFO L290 TraceCheckUtils]: 70: Hoare triple {23713#(<= ~counter~0 4)} assume !(0 == ~cond); {23713#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:11,895 INFO L290 TraceCheckUtils]: 71: Hoare triple {23713#(<= ~counter~0 4)} assume true; {23713#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:11,895 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {23713#(<= ~counter~0 4)} {23713#(<= ~counter~0 4)} #88#return; {23713#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:11,896 INFO L272 TraceCheckUtils]: 73: Hoare triple {23713#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23713#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:11,896 INFO L290 TraceCheckUtils]: 74: Hoare triple {23713#(<= ~counter~0 4)} ~cond := #in~cond; {23713#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:11,896 INFO L290 TraceCheckUtils]: 75: Hoare triple {23713#(<= ~counter~0 4)} assume !(0 == ~cond); {23713#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:11,896 INFO L290 TraceCheckUtils]: 76: Hoare triple {23713#(<= ~counter~0 4)} assume true; {23713#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:11,897 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {23713#(<= ~counter~0 4)} {23713#(<= ~counter~0 4)} #90#return; {23713#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:11,897 INFO L290 TraceCheckUtils]: 78: Hoare triple {23713#(<= ~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); {23713#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:11,897 INFO L290 TraceCheckUtils]: 79: Hoare triple {23713#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {23713#(<= ~counter~0 4)} is VALID [2022-04-28 13:03:11,898 INFO L290 TraceCheckUtils]: 80: Hoare triple {23713#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23756#(<= ~counter~0 5)} is VALID [2022-04-28 13:03:11,898 INFO L290 TraceCheckUtils]: 81: Hoare triple {23756#(<= ~counter~0 5)} assume !!(#t~post7 < 50);havoc #t~post7; {23756#(<= ~counter~0 5)} is VALID [2022-04-28 13:03:11,899 INFO L272 TraceCheckUtils]: 82: Hoare triple {23756#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {23756#(<= ~counter~0 5)} is VALID [2022-04-28 13:03:11,899 INFO L290 TraceCheckUtils]: 83: Hoare triple {23756#(<= ~counter~0 5)} ~cond := #in~cond; {23756#(<= ~counter~0 5)} is VALID [2022-04-28 13:03:11,899 INFO L290 TraceCheckUtils]: 84: Hoare triple {23756#(<= ~counter~0 5)} assume !(0 == ~cond); {23756#(<= ~counter~0 5)} is VALID [2022-04-28 13:03:11,900 INFO L290 TraceCheckUtils]: 85: Hoare triple {23756#(<= ~counter~0 5)} assume true; {23756#(<= ~counter~0 5)} is VALID [2022-04-28 13:03:11,900 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {23756#(<= ~counter~0 5)} {23756#(<= ~counter~0 5)} #88#return; {23756#(<= ~counter~0 5)} is VALID [2022-04-28 13:03:11,901 INFO L272 TraceCheckUtils]: 87: Hoare triple {23756#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23756#(<= ~counter~0 5)} is VALID [2022-04-28 13:03:11,901 INFO L290 TraceCheckUtils]: 88: Hoare triple {23756#(<= ~counter~0 5)} ~cond := #in~cond; {23756#(<= ~counter~0 5)} is VALID [2022-04-28 13:03:11,901 INFO L290 TraceCheckUtils]: 89: Hoare triple {23756#(<= ~counter~0 5)} assume !(0 == ~cond); {23756#(<= ~counter~0 5)} is VALID [2022-04-28 13:03:11,901 INFO L290 TraceCheckUtils]: 90: Hoare triple {23756#(<= ~counter~0 5)} assume true; {23756#(<= ~counter~0 5)} is VALID [2022-04-28 13:03:11,902 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {23756#(<= ~counter~0 5)} {23756#(<= ~counter~0 5)} #90#return; {23756#(<= ~counter~0 5)} is VALID [2022-04-28 13:03:11,902 INFO L290 TraceCheckUtils]: 92: Hoare triple {23756#(<= ~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); {23756#(<= ~counter~0 5)} is VALID [2022-04-28 13:03:11,902 INFO L290 TraceCheckUtils]: 93: Hoare triple {23756#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {23756#(<= ~counter~0 5)} is VALID [2022-04-28 13:03:11,903 INFO L290 TraceCheckUtils]: 94: Hoare triple {23756#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23799#(<= |main_#t~post7| 5)} is VALID [2022-04-28 13:03:11,903 INFO L290 TraceCheckUtils]: 95: Hoare triple {23799#(<= |main_#t~post7| 5)} assume !(#t~post7 < 50);havoc #t~post7; {23507#false} is VALID [2022-04-28 13:03:11,903 INFO L272 TraceCheckUtils]: 96: Hoare triple {23507#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {23507#false} is VALID [2022-04-28 13:03:11,903 INFO L290 TraceCheckUtils]: 97: Hoare triple {23507#false} ~cond := #in~cond; {23507#false} is VALID [2022-04-28 13:03:11,903 INFO L290 TraceCheckUtils]: 98: Hoare triple {23507#false} assume 0 == ~cond; {23507#false} is VALID [2022-04-28 13:03:11,903 INFO L290 TraceCheckUtils]: 99: Hoare triple {23507#false} assume !false; {23507#false} is VALID [2022-04-28 13:03:11,904 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 26 proven. 296 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-28 13:03:11,904 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:03:12,308 INFO L290 TraceCheckUtils]: 99: Hoare triple {23507#false} assume !false; {23507#false} is VALID [2022-04-28 13:03:12,308 INFO L290 TraceCheckUtils]: 98: Hoare triple {23507#false} assume 0 == ~cond; {23507#false} is VALID [2022-04-28 13:03:12,309 INFO L290 TraceCheckUtils]: 97: Hoare triple {23507#false} ~cond := #in~cond; {23507#false} is VALID [2022-04-28 13:03:12,309 INFO L272 TraceCheckUtils]: 96: Hoare triple {23507#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {23507#false} is VALID [2022-04-28 13:03:12,309 INFO L290 TraceCheckUtils]: 95: Hoare triple {23827#(< |main_#t~post7| 50)} assume !(#t~post7 < 50);havoc #t~post7; {23507#false} is VALID [2022-04-28 13:03:12,309 INFO L290 TraceCheckUtils]: 94: Hoare triple {23831#(< ~counter~0 50)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23827#(< |main_#t~post7| 50)} is VALID [2022-04-28 13:03:12,309 INFO L290 TraceCheckUtils]: 93: Hoare triple {23831#(< ~counter~0 50)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {23831#(< ~counter~0 50)} is VALID [2022-04-28 13:03:12,310 INFO L290 TraceCheckUtils]: 92: Hoare triple {23831#(< ~counter~0 50)} 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); {23831#(< ~counter~0 50)} is VALID [2022-04-28 13:03:12,310 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {23506#true} {23831#(< ~counter~0 50)} #90#return; {23831#(< ~counter~0 50)} is VALID [2022-04-28 13:03:12,310 INFO L290 TraceCheckUtils]: 90: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 13:03:12,310 INFO L290 TraceCheckUtils]: 89: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 13:03:12,310 INFO L290 TraceCheckUtils]: 88: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 13:03:12,311 INFO L272 TraceCheckUtils]: 87: Hoare triple {23831#(< ~counter~0 50)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 13:03:12,311 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {23506#true} {23831#(< ~counter~0 50)} #88#return; {23831#(< ~counter~0 50)} is VALID [2022-04-28 13:03:12,311 INFO L290 TraceCheckUtils]: 85: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 13:03:12,311 INFO L290 TraceCheckUtils]: 84: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 13:03:12,311 INFO L290 TraceCheckUtils]: 83: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 13:03:12,311 INFO L272 TraceCheckUtils]: 82: Hoare triple {23831#(< ~counter~0 50)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 13:03:12,312 INFO L290 TraceCheckUtils]: 81: Hoare triple {23831#(< ~counter~0 50)} assume !!(#t~post7 < 50);havoc #t~post7; {23831#(< ~counter~0 50)} is VALID [2022-04-28 13:03:12,312 INFO L290 TraceCheckUtils]: 80: Hoare triple {23874#(< ~counter~0 49)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23831#(< ~counter~0 50)} is VALID [2022-04-28 13:03:12,313 INFO L290 TraceCheckUtils]: 79: Hoare triple {23874#(< ~counter~0 49)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {23874#(< ~counter~0 49)} is VALID [2022-04-28 13:03:12,313 INFO L290 TraceCheckUtils]: 78: Hoare triple {23874#(< ~counter~0 49)} 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); {23874#(< ~counter~0 49)} is VALID [2022-04-28 13:03:12,313 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {23506#true} {23874#(< ~counter~0 49)} #90#return; {23874#(< ~counter~0 49)} is VALID [2022-04-28 13:03:12,313 INFO L290 TraceCheckUtils]: 76: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 13:03:12,314 INFO L290 TraceCheckUtils]: 75: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 13:03:12,314 INFO L290 TraceCheckUtils]: 74: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 13:03:12,314 INFO L272 TraceCheckUtils]: 73: Hoare triple {23874#(< ~counter~0 49)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 13:03:12,314 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {23506#true} {23874#(< ~counter~0 49)} #88#return; {23874#(< ~counter~0 49)} is VALID [2022-04-28 13:03:12,314 INFO L290 TraceCheckUtils]: 71: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 13:03:12,314 INFO L290 TraceCheckUtils]: 70: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 13:03:12,314 INFO L290 TraceCheckUtils]: 69: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 13:03:12,314 INFO L272 TraceCheckUtils]: 68: Hoare triple {23874#(< ~counter~0 49)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 13:03:12,315 INFO L290 TraceCheckUtils]: 67: Hoare triple {23874#(< ~counter~0 49)} assume !!(#t~post7 < 50);havoc #t~post7; {23874#(< ~counter~0 49)} is VALID [2022-04-28 13:03:12,315 INFO L290 TraceCheckUtils]: 66: Hoare triple {23917#(< ~counter~0 48)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23874#(< ~counter~0 49)} is VALID [2022-04-28 13:03:12,316 INFO L290 TraceCheckUtils]: 65: Hoare triple {23917#(< ~counter~0 48)} assume !(~r~0 >= ~d~0); {23917#(< ~counter~0 48)} is VALID [2022-04-28 13:03:12,316 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {23506#true} {23917#(< ~counter~0 48)} #86#return; {23917#(< ~counter~0 48)} is VALID [2022-04-28 13:03:12,316 INFO L290 TraceCheckUtils]: 63: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 13:03:12,316 INFO L290 TraceCheckUtils]: 62: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 13:03:12,316 INFO L290 TraceCheckUtils]: 61: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 13:03:12,316 INFO L272 TraceCheckUtils]: 60: Hoare triple {23917#(< ~counter~0 48)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 13:03:12,317 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {23506#true} {23917#(< ~counter~0 48)} #84#return; {23917#(< ~counter~0 48)} is VALID [2022-04-28 13:03:12,317 INFO L290 TraceCheckUtils]: 58: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 13:03:12,317 INFO L290 TraceCheckUtils]: 57: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 13:03:12,317 INFO L290 TraceCheckUtils]: 56: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 13:03:12,317 INFO L272 TraceCheckUtils]: 55: Hoare triple {23917#(< ~counter~0 48)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23506#true} is VALID [2022-04-28 13:03:12,317 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {23506#true} {23917#(< ~counter~0 48)} #82#return; {23917#(< ~counter~0 48)} is VALID [2022-04-28 13:03:12,318 INFO L290 TraceCheckUtils]: 53: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 13:03:12,318 INFO L290 TraceCheckUtils]: 52: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 13:03:12,318 INFO L290 TraceCheckUtils]: 51: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 13:03:12,318 INFO L272 TraceCheckUtils]: 50: Hoare triple {23917#(< ~counter~0 48)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 13:03:12,318 INFO L290 TraceCheckUtils]: 49: Hoare triple {23917#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {23917#(< ~counter~0 48)} is VALID [2022-04-28 13:03:12,319 INFO L290 TraceCheckUtils]: 48: Hoare triple {23972#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23917#(< ~counter~0 48)} is VALID [2022-04-28 13:03:12,319 INFO L290 TraceCheckUtils]: 47: Hoare triple {23972#(< ~counter~0 47)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {23972#(< ~counter~0 47)} is VALID [2022-04-28 13:03:12,319 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {23506#true} {23972#(< ~counter~0 47)} #86#return; {23972#(< ~counter~0 47)} is VALID [2022-04-28 13:03:12,319 INFO L290 TraceCheckUtils]: 45: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 13:03:12,319 INFO L290 TraceCheckUtils]: 44: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 13:03:12,320 INFO L290 TraceCheckUtils]: 43: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 13:03:12,320 INFO L272 TraceCheckUtils]: 42: Hoare triple {23972#(< ~counter~0 47)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 13:03:12,320 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {23506#true} {23972#(< ~counter~0 47)} #84#return; {23972#(< ~counter~0 47)} is VALID [2022-04-28 13:03:12,320 INFO L290 TraceCheckUtils]: 40: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 13:03:12,320 INFO L290 TraceCheckUtils]: 39: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 13:03:12,320 INFO L290 TraceCheckUtils]: 38: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 13:03:12,320 INFO L272 TraceCheckUtils]: 37: Hoare triple {23972#(< ~counter~0 47)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23506#true} is VALID [2022-04-28 13:03:12,321 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {23506#true} {23972#(< ~counter~0 47)} #82#return; {23972#(< ~counter~0 47)} is VALID [2022-04-28 13:03:12,321 INFO L290 TraceCheckUtils]: 35: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 13:03:12,321 INFO L290 TraceCheckUtils]: 34: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 13:03:12,321 INFO L290 TraceCheckUtils]: 33: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 13:03:12,321 INFO L272 TraceCheckUtils]: 32: Hoare triple {23972#(< ~counter~0 47)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 13:03:12,322 INFO L290 TraceCheckUtils]: 31: Hoare triple {23972#(< ~counter~0 47)} assume !!(#t~post6 < 50);havoc #t~post6; {23972#(< ~counter~0 47)} is VALID [2022-04-28 13:03:12,323 INFO L290 TraceCheckUtils]: 30: Hoare triple {24027#(< ~counter~0 46)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23972#(< ~counter~0 47)} is VALID [2022-04-28 13:03:12,323 INFO L290 TraceCheckUtils]: 29: Hoare triple {24027#(< ~counter~0 46)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {24027#(< ~counter~0 46)} is VALID [2022-04-28 13:03:12,324 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23506#true} {24027#(< ~counter~0 46)} #86#return; {24027#(< ~counter~0 46)} is VALID [2022-04-28 13:03:12,324 INFO L290 TraceCheckUtils]: 27: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 13:03:12,324 INFO L290 TraceCheckUtils]: 26: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 13:03:12,324 INFO L290 TraceCheckUtils]: 25: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 13:03:12,324 INFO L272 TraceCheckUtils]: 24: Hoare triple {24027#(< ~counter~0 46)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 13:03:12,325 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23506#true} {24027#(< ~counter~0 46)} #84#return; {24027#(< ~counter~0 46)} is VALID [2022-04-28 13:03:12,325 INFO L290 TraceCheckUtils]: 22: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 13:03:12,325 INFO L290 TraceCheckUtils]: 21: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 13:03:12,325 INFO L290 TraceCheckUtils]: 20: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 13:03:12,325 INFO L272 TraceCheckUtils]: 19: Hoare triple {24027#(< ~counter~0 46)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23506#true} is VALID [2022-04-28 13:03:12,325 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {23506#true} {24027#(< ~counter~0 46)} #82#return; {24027#(< ~counter~0 46)} is VALID [2022-04-28 13:03:12,326 INFO L290 TraceCheckUtils]: 17: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 13:03:12,326 INFO L290 TraceCheckUtils]: 16: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 13:03:12,326 INFO L290 TraceCheckUtils]: 15: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 13:03:12,326 INFO L272 TraceCheckUtils]: 14: Hoare triple {24027#(< ~counter~0 46)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 13:03:12,326 INFO L290 TraceCheckUtils]: 13: Hoare triple {24027#(< ~counter~0 46)} assume !!(#t~post6 < 50);havoc #t~post6; {24027#(< ~counter~0 46)} is VALID [2022-04-28 13:03:12,327 INFO L290 TraceCheckUtils]: 12: Hoare triple {24082#(< ~counter~0 45)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24027#(< ~counter~0 46)} is VALID [2022-04-28 13:03:12,327 INFO L290 TraceCheckUtils]: 11: Hoare triple {24082#(< ~counter~0 45)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {24082#(< ~counter~0 45)} is VALID [2022-04-28 13:03:12,328 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23506#true} {24082#(< ~counter~0 45)} #80#return; {24082#(< ~counter~0 45)} is VALID [2022-04-28 13:03:12,328 INFO L290 TraceCheckUtils]: 9: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 13:03:12,328 INFO L290 TraceCheckUtils]: 8: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 13:03:12,328 INFO L290 TraceCheckUtils]: 7: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 13:03:12,328 INFO L272 TraceCheckUtils]: 6: Hoare triple {24082#(< ~counter~0 45)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {23506#true} is VALID [2022-04-28 13:03:12,329 INFO L290 TraceCheckUtils]: 5: Hoare triple {24082#(< ~counter~0 45)} 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; {24082#(< ~counter~0 45)} is VALID [2022-04-28 13:03:12,329 INFO L272 TraceCheckUtils]: 4: Hoare triple {24082#(< ~counter~0 45)} call #t~ret8 := main(); {24082#(< ~counter~0 45)} is VALID [2022-04-28 13:03:12,329 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24082#(< ~counter~0 45)} {23506#true} #96#return; {24082#(< ~counter~0 45)} is VALID [2022-04-28 13:03:12,330 INFO L290 TraceCheckUtils]: 2: Hoare triple {24082#(< ~counter~0 45)} assume true; {24082#(< ~counter~0 45)} is VALID [2022-04-28 13:03:12,330 INFO L290 TraceCheckUtils]: 1: Hoare triple {23506#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; {24082#(< ~counter~0 45)} is VALID [2022-04-28 13:03:12,331 INFO L272 TraceCheckUtils]: 0: Hoare triple {23506#true} call ULTIMATE.init(); {23506#true} is VALID [2022-04-28 13:03:12,331 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 26 proven. 28 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 13:03:12,331 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:03:12,331 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [71301036] [2022-04-28 13:03:12,331 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:03:12,331 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [99721504] [2022-04-28 13:03:12,332 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [99721504] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:03:12,332 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:03:12,332 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 13:03:12,332 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:03:12,332 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1568067079] [2022-04-28 13:03:12,332 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1568067079] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:03:12,332 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:03:12,332 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 13:03:12,332 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1860789733] [2022-04-28 13:03:12,333 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:03:12,333 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-28 13:03:12,333 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:03:12,333 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-28 13:03:12,406 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:03:12,407 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 13:03:12,407 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:03:12,407 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 13:03:12,407 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-28 13:03:12,407 INFO L87 Difference]: Start difference. First operand 182 states and 209 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-28 13:03:13,391 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:03:13,391 INFO L93 Difference]: Finished difference Result 243 states and 275 transitions. [2022-04-28 13:03:13,391 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 13:03:13,391 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-28 13:03:13,392 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:03:13,392 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-28 13:03:13,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 140 transitions. [2022-04-28 13:03:13,395 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-28 13:03:13,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 140 transitions. [2022-04-28 13:03:13,397 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 140 transitions. [2022-04-28 13:03:13,576 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:03:13,581 INFO L225 Difference]: With dead ends: 243 [2022-04-28 13:03:13,581 INFO L226 Difference]: Without dead ends: 227 [2022-04-28 13:03:13,582 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 201 GetRequests, 185 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=120, Invalid=186, Unknown=0, NotChecked=0, Total=306 [2022-04-28 13:03:13,582 INFO L413 NwaCegarLoop]: 61 mSDtfsCounter, 44 mSDsluCounter, 167 mSDsCounter, 0 mSdLazyCounter, 88 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 228 SdHoareTripleChecker+Invalid, 121 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 88 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 13:03:13,582 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 228 Invalid, 121 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 88 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 13:03:13,583 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 227 states. [2022-04-28 13:03:13,926 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 227 to 224. [2022-04-28 13:03:13,926 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:03:13,927 INFO L82 GeneralOperation]: Start isEquivalent. First operand 227 states. Second operand has 224 states, 148 states have (on average 1.1216216216216217) internal successors, (166), 154 states have internal predecessors, (166), 45 states have call successors, (45), 32 states have call predecessors, (45), 30 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 13:03:13,927 INFO L74 IsIncluded]: Start isIncluded. First operand 227 states. Second operand has 224 states, 148 states have (on average 1.1216216216216217) internal successors, (166), 154 states have internal predecessors, (166), 45 states have call successors, (45), 32 states have call predecessors, (45), 30 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 13:03:13,927 INFO L87 Difference]: Start difference. First operand 227 states. Second operand has 224 states, 148 states have (on average 1.1216216216216217) internal successors, (166), 154 states have internal predecessors, (166), 45 states have call successors, (45), 32 states have call predecessors, (45), 30 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 13:03:13,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:03:13,933 INFO L93 Difference]: Finished difference Result 227 states and 254 transitions. [2022-04-28 13:03:13,933 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 254 transitions. [2022-04-28 13:03:13,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:03:13,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:03:13,934 INFO L74 IsIncluded]: Start isIncluded. First operand has 224 states, 148 states have (on average 1.1216216216216217) internal successors, (166), 154 states have internal predecessors, (166), 45 states have call successors, (45), 32 states have call predecessors, (45), 30 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) Second operand 227 states. [2022-04-28 13:03:13,934 INFO L87 Difference]: Start difference. First operand has 224 states, 148 states have (on average 1.1216216216216217) internal successors, (166), 154 states have internal predecessors, (166), 45 states have call successors, (45), 32 states have call predecessors, (45), 30 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) Second operand 227 states. [2022-04-28 13:03:13,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:03:13,940 INFO L93 Difference]: Finished difference Result 227 states and 254 transitions. [2022-04-28 13:03:13,940 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 254 transitions. [2022-04-28 13:03:13,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:03:13,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:03:13,941 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:03:13,941 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:03:13,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 224 states, 148 states have (on average 1.1216216216216217) internal successors, (166), 154 states have internal predecessors, (166), 45 states have call successors, (45), 32 states have call predecessors, (45), 30 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 13:03:13,947 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 224 states to 224 states and 252 transitions. [2022-04-28 13:03:13,948 INFO L78 Accepts]: Start accepts. Automaton has 224 states and 252 transitions. Word has length 100 [2022-04-28 13:03:13,948 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:03:13,948 INFO L495 AbstractCegarLoop]: Abstraction has 224 states and 252 transitions. [2022-04-28 13:03:13,948 INFO L496 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-28 13:03:13,948 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 224 states and 252 transitions. [2022-04-28 13:03:16,393 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 252 edges. 251 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:03:16,393 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 252 transitions. [2022-04-28 13:03:16,394 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-28 13:03:16,394 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:03:16,394 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:03:16,410 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-28 13:03:16,594 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable22 [2022-04-28 13:03:16,595 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:03:16,595 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:03:16,595 INFO L85 PathProgramCache]: Analyzing trace with hash -543991253, now seen corresponding path program 11 times [2022-04-28 13:03:16,595 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:03:16,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1204674725] [2022-04-28 13:03:23,559 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:03:23,559 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:03:23,560 INFO L85 PathProgramCache]: Analyzing trace with hash -543991253, now seen corresponding path program 12 times [2022-04-28 13:03:23,560 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:03:23,560 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1783254894] [2022-04-28 13:03:23,560 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:03:23,560 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:03:23,572 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:03:23,573 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1995300499] [2022-04-28 13:03:23,573 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:03:23,573 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:03:23,573 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:03:23,581 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:03:23,609 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 13:03:23,742 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 13:03:23,742 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:03:23,744 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-28 13:03:23,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:03:23,762 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:03:25,966 INFO L272 TraceCheckUtils]: 0: Hoare triple {25513#true} call ULTIMATE.init(); {25513#true} is VALID [2022-04-28 13:03:25,966 INFO L290 TraceCheckUtils]: 1: Hoare triple {25513#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; {25513#true} is VALID [2022-04-28 13:03:25,966 INFO L290 TraceCheckUtils]: 2: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:03:25,967 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25513#true} {25513#true} #96#return; {25513#true} is VALID [2022-04-28 13:03:25,967 INFO L272 TraceCheckUtils]: 4: Hoare triple {25513#true} call #t~ret8 := main(); {25513#true} is VALID [2022-04-28 13:03:25,967 INFO L290 TraceCheckUtils]: 5: Hoare triple {25513#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; {25513#true} is VALID [2022-04-28 13:03:25,967 INFO L272 TraceCheckUtils]: 6: Hoare triple {25513#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:03:25,967 INFO L290 TraceCheckUtils]: 7: Hoare triple {25513#true} ~cond := #in~cond; {25539#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 13:03:25,968 INFO L290 TraceCheckUtils]: 8: Hoare triple {25539#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {25543#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 13:03:25,968 INFO L290 TraceCheckUtils]: 9: Hoare triple {25543#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {25543#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 13:03:25,969 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25543#(not (= |assume_abort_if_not_#in~cond| 0))} {25513#true} #80#return; {25550#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-28 13:03:25,969 INFO L290 TraceCheckUtils]: 11: Hoare triple {25550#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:03:25,970 INFO L290 TraceCheckUtils]: 12: Hoare triple {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:03:25,970 INFO L290 TraceCheckUtils]: 13: Hoare triple {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:03:25,970 INFO L272 TraceCheckUtils]: 14: Hoare triple {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:03:25,970 INFO L290 TraceCheckUtils]: 15: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:03:25,970 INFO L290 TraceCheckUtils]: 16: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:03:25,971 INFO L290 TraceCheckUtils]: 17: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:03:25,971 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {25513#true} {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:03:25,971 INFO L272 TraceCheckUtils]: 19: Hoare triple {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:03:25,971 INFO L290 TraceCheckUtils]: 20: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:03:25,972 INFO L290 TraceCheckUtils]: 21: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:03:25,972 INFO L290 TraceCheckUtils]: 22: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:03:25,972 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {25513#true} {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:03:25,973 INFO L272 TraceCheckUtils]: 24: Hoare triple {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:03:25,973 INFO L290 TraceCheckUtils]: 25: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:03:25,973 INFO L290 TraceCheckUtils]: 26: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:03:25,973 INFO L290 TraceCheckUtils]: 27: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:03:25,974 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {25513#true} {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:03:25,975 INFO L290 TraceCheckUtils]: 29: Hoare triple {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:03:25,976 INFO L290 TraceCheckUtils]: 30: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:03:25,976 INFO L290 TraceCheckUtils]: 31: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:03:25,977 INFO L272 TraceCheckUtils]: 32: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:03:25,977 INFO L290 TraceCheckUtils]: 33: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:03:25,977 INFO L290 TraceCheckUtils]: 34: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:03:25,977 INFO L290 TraceCheckUtils]: 35: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:03:25,978 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {25513#true} {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #82#return; {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:03:25,978 INFO L272 TraceCheckUtils]: 37: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:03:25,978 INFO L290 TraceCheckUtils]: 38: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:03:25,978 INFO L290 TraceCheckUtils]: 39: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:03:25,978 INFO L290 TraceCheckUtils]: 40: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:03:25,979 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {25513#true} {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #84#return; {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:03:25,979 INFO L272 TraceCheckUtils]: 42: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:03:25,979 INFO L290 TraceCheckUtils]: 43: Hoare triple {25513#true} ~cond := #in~cond; {25652#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:03:25,979 INFO L290 TraceCheckUtils]: 44: Hoare triple {25652#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:03:25,980 INFO L290 TraceCheckUtils]: 45: Hoare triple {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:03:25,980 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #86#return; {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:03:25,982 INFO L290 TraceCheckUtils]: 47: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:03:25,983 INFO L290 TraceCheckUtils]: 48: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:03:25,983 INFO L290 TraceCheckUtils]: 49: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post6 < 50);havoc #t~post6; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:03:25,984 INFO L272 TraceCheckUtils]: 50: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:03:25,984 INFO L290 TraceCheckUtils]: 51: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:03:25,984 INFO L290 TraceCheckUtils]: 52: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:03:25,984 INFO L290 TraceCheckUtils]: 53: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:03:25,985 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {25513#true} {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:03:25,985 INFO L272 TraceCheckUtils]: 55: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:03:25,985 INFO L290 TraceCheckUtils]: 56: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:03:25,985 INFO L290 TraceCheckUtils]: 57: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:03:25,985 INFO L290 TraceCheckUtils]: 58: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:03:25,986 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {25513#true} {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:03:25,986 INFO L272 TraceCheckUtils]: 60: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:03:25,986 INFO L290 TraceCheckUtils]: 61: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:03:25,986 INFO L290 TraceCheckUtils]: 62: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:03:25,986 INFO L290 TraceCheckUtils]: 63: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:03:25,987 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {25513#true} {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #86#return; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:03:25,987 INFO L290 TraceCheckUtils]: 65: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:03:25,988 INFO L290 TraceCheckUtils]: 66: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:03:25,989 INFO L290 TraceCheckUtils]: 67: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post7 < 50);havoc #t~post7; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:03:25,989 INFO L272 TraceCheckUtils]: 68: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:03:25,989 INFO L290 TraceCheckUtils]: 69: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:03:25,989 INFO L290 TraceCheckUtils]: 70: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:03:25,989 INFO L290 TraceCheckUtils]: 71: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:03:25,990 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {25513#true} {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #88#return; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:03:25,990 INFO L272 TraceCheckUtils]: 73: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:03:25,990 INFO L290 TraceCheckUtils]: 74: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:03:25,990 INFO L290 TraceCheckUtils]: 75: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:03:25,990 INFO L290 TraceCheckUtils]: 76: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:03:25,991 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {25513#true} {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #90#return; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:03:25,993 INFO L290 TraceCheckUtils]: 78: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= 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); {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:03:25,995 INFO L290 TraceCheckUtils]: 79: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (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; {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:25,996 INFO L290 TraceCheckUtils]: 80: Hoare triple {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:25,996 INFO L290 TraceCheckUtils]: 81: Hoare triple {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 50);havoc #t~post7; {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:25,997 INFO L272 TraceCheckUtils]: 82: Hoare triple {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:03:25,997 INFO L290 TraceCheckUtils]: 83: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:03:25,997 INFO L290 TraceCheckUtils]: 84: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:03:25,997 INFO L290 TraceCheckUtils]: 85: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:03:25,998 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {25513#true} {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} #88#return; {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:25,998 INFO L272 TraceCheckUtils]: 87: Hoare triple {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:03:25,998 INFO L290 TraceCheckUtils]: 88: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:03:25,998 INFO L290 TraceCheckUtils]: 89: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:03:25,998 INFO L290 TraceCheckUtils]: 90: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:03:25,999 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {25513#true} {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} #90#return; {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:26,004 INFO L290 TraceCheckUtils]: 92: Hoare triple {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 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); {25803#(and (= main_~p~0 (div main_~q~0 2)) (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 2) (<= 1 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* 2 (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:03:26,006 INFO L290 TraceCheckUtils]: 93: Hoare triple {25803#(and (= main_~p~0 (div main_~q~0 2)) (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 2) (<= 1 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* 2 (mod main_~B~0 4294967296)))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {25807#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-28 13:03:26,007 INFO L290 TraceCheckUtils]: 94: Hoare triple {25807#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {25807#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-28 13:03:26,008 INFO L290 TraceCheckUtils]: 95: Hoare triple {25807#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} assume !!(#t~post7 < 50);havoc #t~post7; {25807#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-28 13:03:26,009 INFO L272 TraceCheckUtils]: 96: Hoare triple {25807#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {25817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:03:26,009 INFO L290 TraceCheckUtils]: 97: Hoare triple {25817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:03:26,009 INFO L290 TraceCheckUtils]: 98: Hoare triple {25821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25514#false} is VALID [2022-04-28 13:03:26,009 INFO L290 TraceCheckUtils]: 99: Hoare triple {25514#false} assume !false; {25514#false} is VALID [2022-04-28 13:03:26,010 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 40 proven. 52 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-28 13:03:26,010 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:04:47,054 WARN L232 SmtUtils]: Spent 16.75s on a formula simplification that was a NOOP. DAG size: 54 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 13:05:44,233 INFO L290 TraceCheckUtils]: 99: Hoare triple {25514#false} assume !false; {25514#false} is VALID [2022-04-28 13:05:44,233 INFO L290 TraceCheckUtils]: 98: Hoare triple {25821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25514#false} is VALID [2022-04-28 13:05:44,234 INFO L290 TraceCheckUtils]: 97: Hoare triple {25817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:05:44,234 INFO L272 TraceCheckUtils]: 96: Hoare triple {25837#(= (+ 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)); {25817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:05:44,235 INFO L290 TraceCheckUtils]: 95: Hoare triple {25837#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 50);havoc #t~post7; {25837#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:05:44,235 INFO L290 TraceCheckUtils]: 94: Hoare triple {25837#(= (+ 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; {25837#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:05:44,238 INFO L290 TraceCheckUtils]: 93: Hoare triple {25847#(= (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; {25837#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:05:44,249 INFO L290 TraceCheckUtils]: 92: Hoare triple {25851#(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); {25847#(= (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-28 13:05:44,250 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {25513#true} {25851#(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; {25851#(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-28 13:05:44,250 INFO L290 TraceCheckUtils]: 90: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:05:44,250 INFO L290 TraceCheckUtils]: 89: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:05:44,250 INFO L290 TraceCheckUtils]: 88: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:05:44,251 INFO L272 TraceCheckUtils]: 87: Hoare triple {25851#(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)); {25513#true} is VALID [2022-04-28 13:05:44,251 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {25513#true} {25851#(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; {25851#(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-28 13:05:44,251 INFO L290 TraceCheckUtils]: 85: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:05:44,251 INFO L290 TraceCheckUtils]: 84: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:05:44,251 INFO L290 TraceCheckUtils]: 83: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:05:44,251 INFO L272 TraceCheckUtils]: 82: Hoare triple {25851#(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)); {25513#true} is VALID [2022-04-28 13:05:44,253 INFO L290 TraceCheckUtils]: 81: Hoare triple {25851#(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 < 50);havoc #t~post7; {25851#(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-28 13:05:44,254 INFO L290 TraceCheckUtils]: 80: Hoare triple {25851#(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; {25851#(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-28 13:05:44,271 INFO L290 TraceCheckUtils]: 79: Hoare triple {25891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {25851#(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-28 13:05:44,532 INFO L290 TraceCheckUtils]: 78: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 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); {25891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 13:05:44,533 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {25513#true} {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #90#return; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 13:05:44,535 INFO L290 TraceCheckUtils]: 76: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:05:44,535 INFO L290 TraceCheckUtils]: 75: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:05:44,535 INFO L290 TraceCheckUtils]: 74: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:05:44,535 INFO L272 TraceCheckUtils]: 73: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:05:44,536 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {25513#true} {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #88#return; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 13:05:44,536 INFO L290 TraceCheckUtils]: 71: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:05:44,537 INFO L290 TraceCheckUtils]: 70: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:05:44,537 INFO L290 TraceCheckUtils]: 69: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:05:44,537 INFO L272 TraceCheckUtils]: 68: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 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)); {25513#true} is VALID [2022-04-28 13:05:44,541 INFO L290 TraceCheckUtils]: 67: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} assume !!(#t~post7 < 50);havoc #t~post7; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 13:05:44,545 INFO L290 TraceCheckUtils]: 66: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 13:05:44,548 INFO L290 TraceCheckUtils]: 65: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} assume !(~r~0 >= ~d~0); {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 13:05:44,550 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {25513#true} {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #86#return; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 13:05:44,550 INFO L290 TraceCheckUtils]: 63: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:05:44,550 INFO L290 TraceCheckUtils]: 62: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:05:44,550 INFO L290 TraceCheckUtils]: 61: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:05:44,551 INFO L272 TraceCheckUtils]: 60: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:05:44,552 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {25513#true} {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #84#return; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 13:05:44,552 INFO L290 TraceCheckUtils]: 58: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:05:44,552 INFO L290 TraceCheckUtils]: 57: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:05:44,552 INFO L290 TraceCheckUtils]: 56: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:05:44,553 INFO L272 TraceCheckUtils]: 55: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:05:44,554 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {25513#true} {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #82#return; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 13:05:44,554 INFO L290 TraceCheckUtils]: 53: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:05:44,554 INFO L290 TraceCheckUtils]: 52: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:05:44,554 INFO L290 TraceCheckUtils]: 51: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:05:44,554 INFO L272 TraceCheckUtils]: 50: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:05:44,559 INFO L290 TraceCheckUtils]: 49: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} assume !!(#t~post6 < 50);havoc #t~post6; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 13:05:44,565 INFO L290 TraceCheckUtils]: 48: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 13:05:44,688 INFO L290 TraceCheckUtils]: 47: Hoare triple {25891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (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)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 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 (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 13:05:44,692 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #86#return; {25891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 13:05:44,692 INFO L290 TraceCheckUtils]: 45: Hoare triple {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:05:44,693 INFO L290 TraceCheckUtils]: 44: Hoare triple {26002#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:05:44,694 INFO L290 TraceCheckUtils]: 43: Hoare triple {25513#true} ~cond := #in~cond; {26002#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:05:44,694 INFO L272 TraceCheckUtils]: 42: Hoare triple {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= 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)); {25513#true} is VALID [2022-04-28 13:05:44,695 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {25513#true} {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #84#return; {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:05:44,695 INFO L290 TraceCheckUtils]: 40: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:05:44,695 INFO L290 TraceCheckUtils]: 39: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:05:44,695 INFO L290 TraceCheckUtils]: 38: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:05:44,695 INFO L272 TraceCheckUtils]: 37: Hoare triple {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:05:44,696 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {25513#true} {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #82#return; {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:05:44,696 INFO L290 TraceCheckUtils]: 35: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:05:44,696 INFO L290 TraceCheckUtils]: 34: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:05:44,696 INFO L290 TraceCheckUtils]: 33: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:05:44,697 INFO L272 TraceCheckUtils]: 32: Hoare triple {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:05:44,698 INFO L290 TraceCheckUtils]: 31: Hoare triple {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} assume !!(#t~post6 < 50);havoc #t~post6; {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:05:44,700 INFO L290 TraceCheckUtils]: 30: Hoare triple {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:05:44,706 INFO L290 TraceCheckUtils]: 29: Hoare triple {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:05:44,707 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {25513#true} {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} #86#return; {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} is VALID [2022-04-28 13:05:44,707 INFO L290 TraceCheckUtils]: 27: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:05:44,707 INFO L290 TraceCheckUtils]: 26: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:05:44,707 INFO L290 TraceCheckUtils]: 25: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:05:44,707 INFO L272 TraceCheckUtils]: 24: Hoare triple {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:05:44,707 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {25513#true} {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} #84#return; {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} is VALID [2022-04-28 13:05:44,708 INFO L290 TraceCheckUtils]: 22: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:05:44,708 INFO L290 TraceCheckUtils]: 21: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:05:44,708 INFO L290 TraceCheckUtils]: 20: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:05:44,708 INFO L272 TraceCheckUtils]: 19: Hoare triple {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:05:44,708 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {25513#true} {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} #82#return; {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} is VALID [2022-04-28 13:05:44,708 INFO L290 TraceCheckUtils]: 17: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:05:44,708 INFO L290 TraceCheckUtils]: 16: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:05:44,708 INFO L290 TraceCheckUtils]: 15: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:05:44,709 INFO L272 TraceCheckUtils]: 14: Hoare triple {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:05:44,709 INFO L290 TraceCheckUtils]: 13: Hoare triple {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} assume !!(#t~post6 < 50);havoc #t~post6; {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} is VALID [2022-04-28 13:05:44,710 INFO L290 TraceCheckUtils]: 12: Hoare triple {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} is VALID [2022-04-28 13:05:44,712 INFO L290 TraceCheckUtils]: 11: Hoare triple {25513#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} is VALID [2022-04-28 13:05:44,712 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25513#true} {25513#true} #80#return; {25513#true} is VALID [2022-04-28 13:05:44,712 INFO L290 TraceCheckUtils]: 9: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:05:44,713 INFO L290 TraceCheckUtils]: 8: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 13:05:44,713 INFO L290 TraceCheckUtils]: 7: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 13:05:44,713 INFO L272 TraceCheckUtils]: 6: Hoare triple {25513#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {25513#true} is VALID [2022-04-28 13:05:44,713 INFO L290 TraceCheckUtils]: 5: Hoare triple {25513#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; {25513#true} is VALID [2022-04-28 13:05:44,713 INFO L272 TraceCheckUtils]: 4: Hoare triple {25513#true} call #t~ret8 := main(); {25513#true} is VALID [2022-04-28 13:05:44,713 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25513#true} {25513#true} #96#return; {25513#true} is VALID [2022-04-28 13:05:44,713 INFO L290 TraceCheckUtils]: 2: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 13:05:44,713 INFO L290 TraceCheckUtils]: 1: Hoare triple {25513#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; {25513#true} is VALID [2022-04-28 13:05:44,713 INFO L272 TraceCheckUtils]: 0: Hoare triple {25513#true} call ULTIMATE.init(); {25513#true} is VALID [2022-04-28 13:05:44,714 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 40 proven. 52 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-28 13:05:44,714 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:05:44,714 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1783254894] [2022-04-28 13:05:44,714 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:05:44,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1995300499] [2022-04-28 13:05:44,715 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1995300499] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:05:44,715 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:05:44,715 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13] total 23 [2022-04-28 13:05:44,715 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:05:44,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1204674725] [2022-04-28 13:05:44,715 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1204674725] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:05:44,715 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:05:44,715 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 13:05:44,715 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2062161660] [2022-04-28 13:05:44,715 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:05:44,716 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) Word has length 100 [2022-04-28 13:05:44,716 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:05:44,717 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 13:05:44,809 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:05:44,809 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 13:05:44,809 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:05:44,810 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 13:05:44,810 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=84, Invalid=421, Unknown=1, NotChecked=0, Total=506 [2022-04-28 13:05:44,810 INFO L87 Difference]: Start difference. First operand 224 states and 252 transitions. Second operand has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 13:05:52,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:05:52,388 INFO L93 Difference]: Finished difference Result 237 states and 264 transitions. [2022-04-28 13:05:52,388 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 13:05:52,389 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) Word has length 100 [2022-04-28 13:05:52,389 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:05:52,389 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 13:05:52,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 108 transitions. [2022-04-28 13:05:52,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 13:05:52,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 108 transitions. [2022-04-28 13:05:52,393 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 108 transitions. [2022-04-28 13:05:52,581 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-28 13:05:52,586 INFO L225 Difference]: With dead ends: 237 [2022-04-28 13:05:52,586 INFO L226 Difference]: Without dead ends: 221 [2022-04-28 13:05:52,587 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 202 GetRequests, 174 SyntacticMatches, 4 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 131 ImplicationChecksByTransitivity, 30.2s TimeCoverageRelationStatistics Valid=101, Invalid=547, Unknown=2, NotChecked=0, Total=650 [2022-04-28 13:05:52,587 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 43 mSDsluCounter, 279 mSDsCounter, 0 mSdLazyCounter, 644 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 329 SdHoareTripleChecker+Invalid, 683 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 644 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.7s IncrementalHoareTripleChecker+Time [2022-04-28 13:05:52,587 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [53 Valid, 329 Invalid, 683 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 644 Invalid, 0 Unknown, 0 Unchecked, 1.7s Time] [2022-04-28 13:05:52,588 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 221 states. [2022-04-28 13:05:52,933 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 221 to 221. [2022-04-28 13:05:52,933 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:05:52,934 INFO L82 GeneralOperation]: Start isEquivalent. First operand 221 states. Second operand has 221 states, 146 states have (on average 1.1164383561643836) internal successors, (163), 151 states have internal predecessors, (163), 44 states have call successors, (44), 32 states have call predecessors, (44), 30 states have return successors, (40), 37 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 13:05:52,934 INFO L74 IsIncluded]: Start isIncluded. First operand 221 states. Second operand has 221 states, 146 states have (on average 1.1164383561643836) internal successors, (163), 151 states have internal predecessors, (163), 44 states have call successors, (44), 32 states have call predecessors, (44), 30 states have return successors, (40), 37 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 13:05:52,934 INFO L87 Difference]: Start difference. First operand 221 states. Second operand has 221 states, 146 states have (on average 1.1164383561643836) internal successors, (163), 151 states have internal predecessors, (163), 44 states have call successors, (44), 32 states have call predecessors, (44), 30 states have return successors, (40), 37 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 13:05:52,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:05:52,939 INFO L93 Difference]: Finished difference Result 221 states and 247 transitions. [2022-04-28 13:05:52,939 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 247 transitions. [2022-04-28 13:05:52,940 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:05:52,940 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:05:52,940 INFO L74 IsIncluded]: Start isIncluded. First operand has 221 states, 146 states have (on average 1.1164383561643836) internal successors, (163), 151 states have internal predecessors, (163), 44 states have call successors, (44), 32 states have call predecessors, (44), 30 states have return successors, (40), 37 states have call predecessors, (40), 40 states have call successors, (40) Second operand 221 states. [2022-04-28 13:05:52,940 INFO L87 Difference]: Start difference. First operand has 221 states, 146 states have (on average 1.1164383561643836) internal successors, (163), 151 states have internal predecessors, (163), 44 states have call successors, (44), 32 states have call predecessors, (44), 30 states have return successors, (40), 37 states have call predecessors, (40), 40 states have call successors, (40) Second operand 221 states. [2022-04-28 13:05:52,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:05:52,946 INFO L93 Difference]: Finished difference Result 221 states and 247 transitions. [2022-04-28 13:05:52,946 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 247 transitions. [2022-04-28 13:05:52,947 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:05:52,947 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:05:52,947 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:05:52,947 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:05:52,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 221 states, 146 states have (on average 1.1164383561643836) internal successors, (163), 151 states have internal predecessors, (163), 44 states have call successors, (44), 32 states have call predecessors, (44), 30 states have return successors, (40), 37 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 13:05:52,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 221 states to 221 states and 247 transitions. [2022-04-28 13:05:52,953 INFO L78 Accepts]: Start accepts. Automaton has 221 states and 247 transitions. Word has length 100 [2022-04-28 13:05:52,954 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:05:52,954 INFO L495 AbstractCegarLoop]: Abstraction has 221 states and 247 transitions. [2022-04-28 13:05:52,954 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 13:05:52,954 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 221 states and 247 transitions. [2022-04-28 13:05:55,354 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 247 edges. 246 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:05:55,354 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 247 transitions. [2022-04-28 13:05:55,355 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-28 13:05:55,355 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:05:55,355 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 4, 4, 4, 4, 4, 4, 4, 4, 3, 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-28 13:05:55,375 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-28 13:05:55,563 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable23 [2022-04-28 13:05:55,563 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:05:55,564 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:05:55,564 INFO L85 PathProgramCache]: Analyzing trace with hash -391055071, now seen corresponding path program 13 times [2022-04-28 13:05:55,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:05:55,564 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1584252666] [2022-04-28 13:06:03,453 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:06:03,453 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:06:03,453 INFO L85 PathProgramCache]: Analyzing trace with hash -391055071, now seen corresponding path program 14 times [2022-04-28 13:06:03,454 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:06:03,454 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [500537817] [2022-04-28 13:06:03,454 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:06:03,454 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:06:03,463 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:06:03,463 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [516516070] [2022-04-28 13:06:03,464 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:06:03,464 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:06:03,464 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:06:03,472 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:06:03,474 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-28 13:06:03,530 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:06:03,531 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:06:03,532 INFO L263 TraceCheckSpWp]: Trace formula consists of 259 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 13:06:03,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:06:03,549 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:06:08,689 INFO L272 TraceCheckUtils]: 0: Hoare triple {27499#true} call ULTIMATE.init(); {27499#true} is VALID [2022-04-28 13:06:08,689 INFO L290 TraceCheckUtils]: 1: Hoare triple {27499#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; {27499#true} is VALID [2022-04-28 13:06:08,690 INFO L290 TraceCheckUtils]: 2: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:08,690 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27499#true} {27499#true} #96#return; {27499#true} is VALID [2022-04-28 13:06:08,690 INFO L272 TraceCheckUtils]: 4: Hoare triple {27499#true} call #t~ret8 := main(); {27499#true} is VALID [2022-04-28 13:06:08,690 INFO L290 TraceCheckUtils]: 5: Hoare triple {27499#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; {27499#true} is VALID [2022-04-28 13:06:08,690 INFO L272 TraceCheckUtils]: 6: Hoare triple {27499#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:08,690 INFO L290 TraceCheckUtils]: 7: Hoare triple {27499#true} ~cond := #in~cond; {27525#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 13:06:08,690 INFO L290 TraceCheckUtils]: 8: Hoare triple {27525#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {27529#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 13:06:08,691 INFO L290 TraceCheckUtils]: 9: Hoare triple {27529#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {27529#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 13:06:08,691 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27529#(not (= |assume_abort_if_not_#in~cond| 0))} {27499#true} #80#return; {27536#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-28 13:06:08,692 INFO L290 TraceCheckUtils]: 11: Hoare triple {27536#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:06:08,692 INFO L290 TraceCheckUtils]: 12: Hoare triple {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:06:08,692 INFO L290 TraceCheckUtils]: 13: Hoare triple {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:06:08,692 INFO L272 TraceCheckUtils]: 14: Hoare triple {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:08,693 INFO L290 TraceCheckUtils]: 15: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:08,693 INFO L290 TraceCheckUtils]: 16: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:08,693 INFO L290 TraceCheckUtils]: 17: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:08,693 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {27499#true} {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:06:08,693 INFO L272 TraceCheckUtils]: 19: Hoare triple {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:08,693 INFO L290 TraceCheckUtils]: 20: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:08,693 INFO L290 TraceCheckUtils]: 21: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:08,694 INFO L290 TraceCheckUtils]: 22: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:08,694 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27499#true} {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:06:08,694 INFO L272 TraceCheckUtils]: 24: Hoare triple {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:08,694 INFO L290 TraceCheckUtils]: 25: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:08,694 INFO L290 TraceCheckUtils]: 26: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:08,694 INFO L290 TraceCheckUtils]: 27: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:08,695 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27499#true} {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:06:08,696 INFO L290 TraceCheckUtils]: 29: Hoare triple {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:06:08,697 INFO L290 TraceCheckUtils]: 30: Hoare triple {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:06:08,697 INFO L290 TraceCheckUtils]: 31: Hoare triple {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:06:08,697 INFO L272 TraceCheckUtils]: 32: Hoare triple {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:08,697 INFO L290 TraceCheckUtils]: 33: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:08,697 INFO L290 TraceCheckUtils]: 34: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:08,697 INFO L290 TraceCheckUtils]: 35: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:08,698 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {27499#true} {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #82#return; {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:06:08,698 INFO L272 TraceCheckUtils]: 37: Hoare triple {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:08,698 INFO L290 TraceCheckUtils]: 38: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:08,698 INFO L290 TraceCheckUtils]: 39: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:08,698 INFO L290 TraceCheckUtils]: 40: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:08,699 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {27499#true} {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #84#return; {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:06:08,699 INFO L272 TraceCheckUtils]: 42: Hoare triple {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:08,699 INFO L290 TraceCheckUtils]: 43: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:08,699 INFO L290 TraceCheckUtils]: 44: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:08,699 INFO L290 TraceCheckUtils]: 45: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:08,699 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {27499#true} {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #86#return; {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:06:08,701 INFO L290 TraceCheckUtils]: 47: Hoare triple {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:06:08,701 INFO L290 TraceCheckUtils]: 48: Hoare triple {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:06:08,702 INFO L290 TraceCheckUtils]: 49: Hoare triple {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post6 < 50);havoc #t~post6; {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:06:08,702 INFO L272 TraceCheckUtils]: 50: Hoare triple {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:08,702 INFO L290 TraceCheckUtils]: 51: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:08,702 INFO L290 TraceCheckUtils]: 52: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:08,702 INFO L290 TraceCheckUtils]: 53: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:08,703 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {27499#true} {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:06:08,703 INFO L272 TraceCheckUtils]: 55: Hoare triple {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:08,703 INFO L290 TraceCheckUtils]: 56: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:08,703 INFO L290 TraceCheckUtils]: 57: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:08,703 INFO L290 TraceCheckUtils]: 58: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:08,703 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {27499#true} {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:06:08,703 INFO L272 TraceCheckUtils]: 60: Hoare triple {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:08,704 INFO L290 TraceCheckUtils]: 61: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:08,704 INFO L290 TraceCheckUtils]: 62: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:08,704 INFO L290 TraceCheckUtils]: 63: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:08,704 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {27499#true} {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #86#return; {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:06:08,705 INFO L290 TraceCheckUtils]: 65: Hoare triple {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:06:08,706 INFO L290 TraceCheckUtils]: 66: Hoare triple {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:06:08,706 INFO L290 TraceCheckUtils]: 67: Hoare triple {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !!(#t~post6 < 50);havoc #t~post6; {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:06:08,706 INFO L272 TraceCheckUtils]: 68: Hoare triple {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:08,706 INFO L290 TraceCheckUtils]: 69: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:08,706 INFO L290 TraceCheckUtils]: 70: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:08,706 INFO L290 TraceCheckUtils]: 71: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:08,707 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {27499#true} {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #82#return; {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:06:08,707 INFO L272 TraceCheckUtils]: 73: Hoare triple {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:08,707 INFO L290 TraceCheckUtils]: 74: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:08,707 INFO L290 TraceCheckUtils]: 75: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:08,707 INFO L290 TraceCheckUtils]: 76: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:08,708 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {27499#true} {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #84#return; {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:06:08,708 INFO L272 TraceCheckUtils]: 78: Hoare triple {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:08,708 INFO L290 TraceCheckUtils]: 79: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:08,708 INFO L290 TraceCheckUtils]: 80: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:08,708 INFO L290 TraceCheckUtils]: 81: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:08,711 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {27499#true} {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #86#return; {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:06:08,711 INFO L290 TraceCheckUtils]: 83: Hoare triple {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !(~r~0 >= ~d~0); {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:06:08,712 INFO L290 TraceCheckUtils]: 84: Hoare triple {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:06:08,712 INFO L290 TraceCheckUtils]: 85: Hoare triple {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !!(#t~post7 < 50);havoc #t~post7; {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:06:08,712 INFO L272 TraceCheckUtils]: 86: Hoare triple {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:08,712 INFO L290 TraceCheckUtils]: 87: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:08,712 INFO L290 TraceCheckUtils]: 88: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:08,712 INFO L290 TraceCheckUtils]: 89: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:08,713 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {27499#true} {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #88#return; {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:06:08,713 INFO L272 TraceCheckUtils]: 91: Hoare triple {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:08,713 INFO L290 TraceCheckUtils]: 92: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:08,713 INFO L290 TraceCheckUtils]: 93: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:08,713 INFO L290 TraceCheckUtils]: 94: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:08,714 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {27499#true} {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #90#return; {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:06:08,715 INFO L290 TraceCheckUtils]: 96: Hoare triple {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) 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); {27800#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 8 (mod main_~B~0 4294967296))) (= main_~q~0 0) (= main_~p~0 4) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:06:08,717 INFO L290 TraceCheckUtils]: 97: Hoare triple {27800#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 8 (mod main_~B~0 4294967296))) (= main_~q~0 0) (= main_~p~0 4) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27804#(and (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~q~0 4) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:06:08,717 INFO L290 TraceCheckUtils]: 98: Hoare triple {27804#(and (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~q~0 4) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {27804#(and (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~q~0 4) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:06:08,718 INFO L290 TraceCheckUtils]: 99: Hoare triple {27804#(and (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~q~0 4) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} assume !!(#t~post7 < 50);havoc #t~post7; {27804#(and (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~q~0 4) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:06:08,718 INFO L272 TraceCheckUtils]: 100: Hoare triple {27804#(and (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~q~0 4) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {27814#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:06:08,719 INFO L290 TraceCheckUtils]: 101: Hoare triple {27814#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27818#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:06:08,719 INFO L290 TraceCheckUtils]: 102: Hoare triple {27818#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27500#false} is VALID [2022-04-28 13:06:08,719 INFO L290 TraceCheckUtils]: 103: Hoare triple {27500#false} assume !false; {27500#false} is VALID [2022-04-28 13:06:08,720 INFO L134 CoverageAnalysis]: Checked inductivity of 431 backedges. 28 proven. 39 refuted. 0 times theorem prover too weak. 364 trivial. 0 not checked. [2022-04-28 13:06:08,720 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:06:17,619 INFO L290 TraceCheckUtils]: 103: Hoare triple {27500#false} assume !false; {27500#false} is VALID [2022-04-28 13:06:17,619 INFO L290 TraceCheckUtils]: 102: Hoare triple {27818#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27500#false} is VALID [2022-04-28 13:06:17,619 INFO L290 TraceCheckUtils]: 101: Hoare triple {27814#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27818#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:06:17,620 INFO L272 TraceCheckUtils]: 100: Hoare triple {27834#(= (+ 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)); {27814#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:06:17,620 INFO L290 TraceCheckUtils]: 99: Hoare triple {27834#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 50);havoc #t~post7; {27834#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:06:17,621 INFO L290 TraceCheckUtils]: 98: Hoare triple {27834#(= (+ 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; {27834#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:06:17,623 INFO L290 TraceCheckUtils]: 97: Hoare triple {27844#(= (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; {27834#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:06:17,634 INFO L290 TraceCheckUtils]: 96: Hoare triple {27848#(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); {27844#(= (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-28 13:06:17,635 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {27499#true} {27848#(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; {27848#(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-28 13:06:17,635 INFO L290 TraceCheckUtils]: 94: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:17,635 INFO L290 TraceCheckUtils]: 93: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:17,635 INFO L290 TraceCheckUtils]: 92: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:17,635 INFO L272 TraceCheckUtils]: 91: Hoare triple {27848#(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)); {27499#true} is VALID [2022-04-28 13:06:17,636 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {27499#true} {27848#(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; {27848#(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-28 13:06:17,636 INFO L290 TraceCheckUtils]: 89: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:17,636 INFO L290 TraceCheckUtils]: 88: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:17,636 INFO L290 TraceCheckUtils]: 87: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:17,636 INFO L272 TraceCheckUtils]: 86: Hoare triple {27848#(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)); {27499#true} is VALID [2022-04-28 13:06:17,637 INFO L290 TraceCheckUtils]: 85: Hoare triple {27848#(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 < 50);havoc #t~post7; {27848#(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-28 13:06:17,638 INFO L290 TraceCheckUtils]: 84: Hoare triple {27848#(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; {27848#(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-28 13:06:17,639 INFO L290 TraceCheckUtils]: 83: Hoare triple {27888#(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); {27848#(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-28 13:06:17,639 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {27499#true} {27888#(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; {27888#(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-28 13:06:17,639 INFO L290 TraceCheckUtils]: 81: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:17,639 INFO L290 TraceCheckUtils]: 80: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:17,639 INFO L290 TraceCheckUtils]: 79: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:17,639 INFO L272 TraceCheckUtils]: 78: Hoare triple {27888#(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)); {27499#true} is VALID [2022-04-28 13:06:17,640 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {27499#true} {27888#(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; {27888#(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-28 13:06:17,640 INFO L290 TraceCheckUtils]: 76: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:17,640 INFO L290 TraceCheckUtils]: 75: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:17,640 INFO L290 TraceCheckUtils]: 74: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:17,640 INFO L272 TraceCheckUtils]: 73: Hoare triple {27888#(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)); {27499#true} is VALID [2022-04-28 13:06:17,641 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {27499#true} {27888#(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; {27888#(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-28 13:06:17,641 INFO L290 TraceCheckUtils]: 71: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:17,641 INFO L290 TraceCheckUtils]: 70: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:17,641 INFO L290 TraceCheckUtils]: 69: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:17,641 INFO L272 TraceCheckUtils]: 68: Hoare triple {27888#(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)); {27499#true} is VALID [2022-04-28 13:06:17,642 INFO L290 TraceCheckUtils]: 67: Hoare triple {27888#(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 < 50);havoc #t~post6; {27888#(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-28 13:06:17,643 INFO L290 TraceCheckUtils]: 66: Hoare triple {27888#(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; {27888#(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-28 13:06:17,646 INFO L290 TraceCheckUtils]: 65: Hoare triple {27943#(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; {27888#(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-28 13:06:17,647 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {27499#true} {27943#(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; {27943#(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-28 13:06:17,647 INFO L290 TraceCheckUtils]: 63: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:17,647 INFO L290 TraceCheckUtils]: 62: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:17,647 INFO L290 TraceCheckUtils]: 61: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:17,647 INFO L272 TraceCheckUtils]: 60: Hoare triple {27943#(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)); {27499#true} is VALID [2022-04-28 13:06:17,647 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {27499#true} {27943#(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; {27943#(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-28 13:06:17,647 INFO L290 TraceCheckUtils]: 58: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:17,648 INFO L290 TraceCheckUtils]: 57: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:17,648 INFO L290 TraceCheckUtils]: 56: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:17,648 INFO L272 TraceCheckUtils]: 55: Hoare triple {27943#(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)); {27499#true} is VALID [2022-04-28 13:06:17,648 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {27499#true} {27943#(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; {27943#(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-28 13:06:17,648 INFO L290 TraceCheckUtils]: 53: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:17,648 INFO L290 TraceCheckUtils]: 52: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:17,648 INFO L290 TraceCheckUtils]: 51: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:17,648 INFO L272 TraceCheckUtils]: 50: Hoare triple {27943#(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)); {27499#true} is VALID [2022-04-28 13:06:17,651 INFO L290 TraceCheckUtils]: 49: Hoare triple {27943#(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 < 50);havoc #t~post6; {27943#(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-28 13:06:17,652 INFO L290 TraceCheckUtils]: 48: Hoare triple {27943#(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; {27943#(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-28 13:06:17,654 INFO L290 TraceCheckUtils]: 47: Hoare triple {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27943#(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-28 13:06:17,655 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {27499#true} {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #86#return; {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:06:17,655 INFO L290 TraceCheckUtils]: 45: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:17,655 INFO L290 TraceCheckUtils]: 44: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:17,655 INFO L290 TraceCheckUtils]: 43: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:17,655 INFO L272 TraceCheckUtils]: 42: Hoare triple {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:17,656 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {27499#true} {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #84#return; {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:06:17,656 INFO L290 TraceCheckUtils]: 40: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:17,656 INFO L290 TraceCheckUtils]: 39: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:17,656 INFO L290 TraceCheckUtils]: 38: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:17,656 INFO L272 TraceCheckUtils]: 37: Hoare triple {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:17,657 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {27499#true} {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #82#return; {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:06:17,657 INFO L290 TraceCheckUtils]: 35: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:17,657 INFO L290 TraceCheckUtils]: 34: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:17,657 INFO L290 TraceCheckUtils]: 33: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:17,657 INFO L272 TraceCheckUtils]: 32: Hoare triple {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:17,658 INFO L290 TraceCheckUtils]: 31: Hoare triple {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:06:17,659 INFO L290 TraceCheckUtils]: 30: Hoare triple {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:06:17,661 INFO L290 TraceCheckUtils]: 29: Hoare triple {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:06:17,662 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27499#true} {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} #86#return; {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:06:17,662 INFO L290 TraceCheckUtils]: 27: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:17,662 INFO L290 TraceCheckUtils]: 26: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:17,662 INFO L290 TraceCheckUtils]: 25: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:17,662 INFO L272 TraceCheckUtils]: 24: Hoare triple {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:17,663 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27499#true} {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} #84#return; {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:06:17,663 INFO L290 TraceCheckUtils]: 22: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:17,663 INFO L290 TraceCheckUtils]: 21: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:17,663 INFO L290 TraceCheckUtils]: 20: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:17,663 INFO L272 TraceCheckUtils]: 19: Hoare triple {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:17,664 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {27499#true} {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} #82#return; {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:06:17,664 INFO L290 TraceCheckUtils]: 17: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:17,664 INFO L290 TraceCheckUtils]: 16: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:17,664 INFO L290 TraceCheckUtils]: 15: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:17,664 INFO L272 TraceCheckUtils]: 14: Hoare triple {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:17,665 INFO L290 TraceCheckUtils]: 13: Hoare triple {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} assume !!(#t~post6 < 50);havoc #t~post6; {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:06:17,665 INFO L290 TraceCheckUtils]: 12: Hoare triple {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:06:17,668 INFO L290 TraceCheckUtils]: 11: Hoare triple {27499#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:06:17,668 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27499#true} {27499#true} #80#return; {27499#true} is VALID [2022-04-28 13:06:17,668 INFO L290 TraceCheckUtils]: 9: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:17,668 INFO L290 TraceCheckUtils]: 8: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 13:06:17,669 INFO L290 TraceCheckUtils]: 7: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 13:06:17,669 INFO L272 TraceCheckUtils]: 6: Hoare triple {27499#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {27499#true} is VALID [2022-04-28 13:06:17,669 INFO L290 TraceCheckUtils]: 5: Hoare triple {27499#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; {27499#true} is VALID [2022-04-28 13:06:17,669 INFO L272 TraceCheckUtils]: 4: Hoare triple {27499#true} call #t~ret8 := main(); {27499#true} is VALID [2022-04-28 13:06:17,669 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27499#true} {27499#true} #96#return; {27499#true} is VALID [2022-04-28 13:06:17,669 INFO L290 TraceCheckUtils]: 2: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 13:06:17,669 INFO L290 TraceCheckUtils]: 1: Hoare triple {27499#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; {27499#true} is VALID [2022-04-28 13:06:17,669 INFO L272 TraceCheckUtils]: 0: Hoare triple {27499#true} call ULTIMATE.init(); {27499#true} is VALID [2022-04-28 13:06:17,670 INFO L134 CoverageAnalysis]: Checked inductivity of 431 backedges. 28 proven. 39 refuted. 0 times theorem prover too weak. 364 trivial. 0 not checked. [2022-04-28 13:06:17,670 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:06:17,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [500537817] [2022-04-28 13:06:17,670 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:06:17,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [516516070] [2022-04-28 13:06:17,670 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [516516070] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:06:17,670 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:06:17,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 21 [2022-04-28 13:06:17,670 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:06:17,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1584252666] [2022-04-28 13:06:17,670 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1584252666] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:06:17,671 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:06:17,671 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 13:06:17,671 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [65854365] [2022-04-28 13:06:17,671 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:06:17,671 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 104 [2022-04-28 13:06:17,671 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:06:17,671 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 13:06:17,760 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-28 13:06:17,760 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 13:06:17,760 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:06:17,760 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 13:06:17,760 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=329, Unknown=0, NotChecked=0, Total=420 [2022-04-28 13:06:17,761 INFO L87 Difference]: Start difference. First operand 221 states and 247 transitions. Second operand has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 13:06:21,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:06:21,806 INFO L93 Difference]: Finished difference Result 280 states and 328 transitions. [2022-04-28 13:06:21,806 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 13:06:21,806 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 104 [2022-04-28 13:06:21,806 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:06:21,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 13:06:21,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 135 transitions. [2022-04-28 13:06:21,809 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 13:06:21,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 135 transitions. [2022-04-28 13:06:21,812 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 135 transitions. [2022-04-28 13:06:22,053 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:06:22,058 INFO L225 Difference]: With dead ends: 280 [2022-04-28 13:06:22,058 INFO L226 Difference]: Without dead ends: 235 [2022-04-28 13:06:22,058 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 209 GetRequests, 187 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 115 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=99, Invalid=407, Unknown=0, NotChecked=0, Total=506 [2022-04-28 13:06:22,059 INFO L413 NwaCegarLoop]: 61 mSDtfsCounter, 39 mSDsluCounter, 310 mSDsCounter, 0 mSdLazyCounter, 620 mSolverCounterSat, 41 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 371 SdHoareTripleChecker+Invalid, 661 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 41 IncrementalHoareTripleChecker+Valid, 620 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.7s IncrementalHoareTripleChecker+Time [2022-04-28 13:06:22,059 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 371 Invalid, 661 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [41 Valid, 620 Invalid, 0 Unknown, 0 Unchecked, 1.7s Time] [2022-04-28 13:06:22,059 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 235 states. [2022-04-28 13:06:22,455 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 235 to 232. [2022-04-28 13:06:22,455 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:06:22,456 INFO L82 GeneralOperation]: Start isEquivalent. First operand 235 states. Second operand has 232 states, 153 states have (on average 1.1241830065359477) internal successors, (172), 158 states have internal predecessors, (172), 46 states have call successors, (46), 33 states have call predecessors, (46), 32 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 13:06:22,456 INFO L74 IsIncluded]: Start isIncluded. First operand 235 states. Second operand has 232 states, 153 states have (on average 1.1241830065359477) internal successors, (172), 158 states have internal predecessors, (172), 46 states have call successors, (46), 33 states have call predecessors, (46), 32 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 13:06:22,456 INFO L87 Difference]: Start difference. First operand 235 states. Second operand has 232 states, 153 states have (on average 1.1241830065359477) internal successors, (172), 158 states have internal predecessors, (172), 46 states have call successors, (46), 33 states have call predecessors, (46), 32 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 13:06:22,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:06:22,462 INFO L93 Difference]: Finished difference Result 235 states and 266 transitions. [2022-04-28 13:06:22,462 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 266 transitions. [2022-04-28 13:06:22,463 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:06:22,463 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:06:22,463 INFO L74 IsIncluded]: Start isIncluded. First operand has 232 states, 153 states have (on average 1.1241830065359477) internal successors, (172), 158 states have internal predecessors, (172), 46 states have call successors, (46), 33 states have call predecessors, (46), 32 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) Second operand 235 states. [2022-04-28 13:06:22,464 INFO L87 Difference]: Start difference. First operand has 232 states, 153 states have (on average 1.1241830065359477) internal successors, (172), 158 states have internal predecessors, (172), 46 states have call successors, (46), 33 states have call predecessors, (46), 32 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) Second operand 235 states. [2022-04-28 13:06:22,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:06:22,469 INFO L93 Difference]: Finished difference Result 235 states and 266 transitions. [2022-04-28 13:06:22,469 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 266 transitions. [2022-04-28 13:06:22,470 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:06:22,470 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:06:22,470 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:06:22,470 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:06:22,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 232 states, 153 states have (on average 1.1241830065359477) internal successors, (172), 158 states have internal predecessors, (172), 46 states have call successors, (46), 33 states have call predecessors, (46), 32 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 13:06:22,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 261 transitions. [2022-04-28 13:06:22,476 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 261 transitions. Word has length 104 [2022-04-28 13:06:22,476 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:06:22,477 INFO L495 AbstractCegarLoop]: Abstraction has 232 states and 261 transitions. [2022-04-28 13:06:22,477 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 13:06:22,477 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 261 transitions. [2022-04-28 13:06:25,022 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 261 edges. 260 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:06:25,022 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 261 transitions. [2022-04-28 13:06:25,023 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 110 [2022-04-28 13:06:25,023 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:06:25,023 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 4, 3, 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-28 13:06:25,039 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Ended with exit code 0 [2022-04-28 13:06:25,227 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable24,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:06:25,228 INFO L420 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:06:25,228 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:06:25,228 INFO L85 PathProgramCache]: Analyzing trace with hash 979077220, now seen corresponding path program 15 times [2022-04-28 13:06:25,228 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:06:25,228 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2050479612] [2022-04-28 13:06:33,515 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:06:33,515 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:06:33,515 INFO L85 PathProgramCache]: Analyzing trace with hash 979077220, now seen corresponding path program 16 times [2022-04-28 13:06:33,515 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:06:33,515 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1954304336] [2022-04-28 13:06:33,515 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:06:33,515 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:06:33,529 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:06:33,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [362936726] [2022-04-28 13:06:33,529 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:06:33,529 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:06:33,529 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:06:33,532 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:06:33,534 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-28 13:06:33,594 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:06:33,594 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:06:33,595 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 13:06:33,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:06:33,614 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:06:34,647 INFO L272 TraceCheckUtils]: 0: Hoare triple {29641#true} call ULTIMATE.init(); {29641#true} is VALID [2022-04-28 13:06:34,647 INFO L290 TraceCheckUtils]: 1: Hoare triple {29641#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; {29641#true} is VALID [2022-04-28 13:06:34,647 INFO L290 TraceCheckUtils]: 2: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:34,647 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29641#true} {29641#true} #96#return; {29641#true} is VALID [2022-04-28 13:06:34,648 INFO L272 TraceCheckUtils]: 4: Hoare triple {29641#true} call #t~ret8 := main(); {29641#true} is VALID [2022-04-28 13:06:34,648 INFO L290 TraceCheckUtils]: 5: Hoare triple {29641#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; {29641#true} is VALID [2022-04-28 13:06:34,648 INFO L272 TraceCheckUtils]: 6: Hoare triple {29641#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {29641#true} is VALID [2022-04-28 13:06:34,648 INFO L290 TraceCheckUtils]: 7: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:34,648 INFO L290 TraceCheckUtils]: 8: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:34,648 INFO L290 TraceCheckUtils]: 9: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:34,648 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29641#true} {29641#true} #80#return; {29641#true} is VALID [2022-04-28 13:06:34,648 INFO L290 TraceCheckUtils]: 11: Hoare triple {29641#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:06:34,649 INFO L290 TraceCheckUtils]: 12: Hoare triple {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:06:34,649 INFO L290 TraceCheckUtils]: 13: Hoare triple {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:06:34,649 INFO L272 TraceCheckUtils]: 14: Hoare triple {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29641#true} is VALID [2022-04-28 13:06:34,649 INFO L290 TraceCheckUtils]: 15: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:34,649 INFO L290 TraceCheckUtils]: 16: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:34,649 INFO L290 TraceCheckUtils]: 17: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:34,651 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {29641#true} {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:06:34,652 INFO L272 TraceCheckUtils]: 19: Hoare triple {29679#(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)); {29641#true} is VALID [2022-04-28 13:06:34,652 INFO L290 TraceCheckUtils]: 20: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:34,652 INFO L290 TraceCheckUtils]: 21: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:34,652 INFO L290 TraceCheckUtils]: 22: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:34,653 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {29641#true} {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:06:34,653 INFO L272 TraceCheckUtils]: 24: Hoare triple {29679#(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)); {29641#true} is VALID [2022-04-28 13:06:34,653 INFO L290 TraceCheckUtils]: 25: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:34,653 INFO L290 TraceCheckUtils]: 26: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:34,653 INFO L290 TraceCheckUtils]: 27: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:34,654 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {29641#true} {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:06:34,656 INFO L290 TraceCheckUtils]: 29: Hoare triple {29679#(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; {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} is VALID [2022-04-28 13:06:34,656 INFO L290 TraceCheckUtils]: 30: Hoare triple {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} is VALID [2022-04-28 13:06:34,657 INFO L290 TraceCheckUtils]: 31: Hoare triple {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} assume !!(#t~post6 < 50);havoc #t~post6; {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} is VALID [2022-04-28 13:06:34,657 INFO L272 TraceCheckUtils]: 32: Hoare triple {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29641#true} is VALID [2022-04-28 13:06:34,657 INFO L290 TraceCheckUtils]: 33: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:34,657 INFO L290 TraceCheckUtils]: 34: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:34,657 INFO L290 TraceCheckUtils]: 35: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:34,658 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {29641#true} {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} #82#return; {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} is VALID [2022-04-28 13:06:34,658 INFO L272 TraceCheckUtils]: 37: Hoare triple {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {29641#true} is VALID [2022-04-28 13:06:34,658 INFO L290 TraceCheckUtils]: 38: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:34,658 INFO L290 TraceCheckUtils]: 39: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:34,658 INFO L290 TraceCheckUtils]: 40: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:34,659 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {29641#true} {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} #84#return; {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} is VALID [2022-04-28 13:06:34,659 INFO L272 TraceCheckUtils]: 42: Hoare triple {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29641#true} is VALID [2022-04-28 13:06:34,659 INFO L290 TraceCheckUtils]: 43: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:34,659 INFO L290 TraceCheckUtils]: 44: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:34,659 INFO L290 TraceCheckUtils]: 45: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:34,660 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {29641#true} {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} #86#return; {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} is VALID [2022-04-28 13:06:34,661 INFO L290 TraceCheckUtils]: 47: Hoare triple {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 13:06:34,662 INFO L290 TraceCheckUtils]: 48: Hoare triple {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 13:06:34,662 INFO L290 TraceCheckUtils]: 49: Hoare triple {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} assume !!(#t~post6 < 50);havoc #t~post6; {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 13:06:34,662 INFO L272 TraceCheckUtils]: 50: Hoare triple {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29641#true} is VALID [2022-04-28 13:06:34,662 INFO L290 TraceCheckUtils]: 51: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:34,662 INFO L290 TraceCheckUtils]: 52: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:34,662 INFO L290 TraceCheckUtils]: 53: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:34,663 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {29641#true} {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #82#return; {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 13:06:34,663 INFO L272 TraceCheckUtils]: 55: Hoare triple {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {29641#true} is VALID [2022-04-28 13:06:34,663 INFO L290 TraceCheckUtils]: 56: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:34,663 INFO L290 TraceCheckUtils]: 57: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:34,664 INFO L290 TraceCheckUtils]: 58: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:34,664 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {29641#true} {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #84#return; {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 13:06:34,664 INFO L272 TraceCheckUtils]: 60: Hoare triple {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29641#true} is VALID [2022-04-28 13:06:34,664 INFO L290 TraceCheckUtils]: 61: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:34,665 INFO L290 TraceCheckUtils]: 62: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:34,665 INFO L290 TraceCheckUtils]: 63: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:34,665 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {29641#true} {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #86#return; {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 13:06:34,667 INFO L290 TraceCheckUtils]: 65: Hoare triple {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:06:34,667 INFO L290 TraceCheckUtils]: 66: Hoare triple {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:06:34,668 INFO L290 TraceCheckUtils]: 67: Hoare triple {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !!(#t~post6 < 50);havoc #t~post6; {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:06:34,668 INFO L272 TraceCheckUtils]: 68: Hoare triple {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29641#true} is VALID [2022-04-28 13:06:34,668 INFO L290 TraceCheckUtils]: 69: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:34,668 INFO L290 TraceCheckUtils]: 70: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:34,668 INFO L290 TraceCheckUtils]: 71: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:34,669 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {29641#true} {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #82#return; {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:06:34,669 INFO L272 TraceCheckUtils]: 73: Hoare triple {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {29641#true} is VALID [2022-04-28 13:06:34,669 INFO L290 TraceCheckUtils]: 74: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:34,669 INFO L290 TraceCheckUtils]: 75: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:34,669 INFO L290 TraceCheckUtils]: 76: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:34,670 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {29641#true} {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #84#return; {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:06:34,670 INFO L272 TraceCheckUtils]: 78: Hoare triple {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29641#true} is VALID [2022-04-28 13:06:34,670 INFO L290 TraceCheckUtils]: 79: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:34,670 INFO L290 TraceCheckUtils]: 80: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:34,670 INFO L290 TraceCheckUtils]: 81: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:34,671 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {29641#true} {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #86#return; {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:06:34,673 INFO L290 TraceCheckUtils]: 83: Hoare triple {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !(~r~0 >= ~d~0); {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} is VALID [2022-04-28 13:06:34,674 INFO L290 TraceCheckUtils]: 84: Hoare triple {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} is VALID [2022-04-28 13:06:34,674 INFO L290 TraceCheckUtils]: 85: Hoare triple {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} assume !!(#t~post7 < 50);havoc #t~post7; {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} is VALID [2022-04-28 13:06:34,674 INFO L272 TraceCheckUtils]: 86: Hoare triple {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (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)); {29641#true} is VALID [2022-04-28 13:06:34,674 INFO L290 TraceCheckUtils]: 87: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:34,674 INFO L290 TraceCheckUtils]: 88: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:34,675 INFO L290 TraceCheckUtils]: 89: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:34,675 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {29641#true} {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} #88#return; {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} is VALID [2022-04-28 13:06:34,675 INFO L272 TraceCheckUtils]: 91: Hoare triple {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29641#true} is VALID [2022-04-28 13:06:34,676 INFO L290 TraceCheckUtils]: 92: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:34,676 INFO L290 TraceCheckUtils]: 93: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:34,676 INFO L290 TraceCheckUtils]: 94: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:34,676 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {29641#true} {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} #90#return; {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} is VALID [2022-04-28 13:06:34,678 INFO L290 TraceCheckUtils]: 96: Hoare triple {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (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); {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:06:34,678 INFO L290 TraceCheckUtils]: 97: Hoare triple {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:06:34,679 INFO L290 TraceCheckUtils]: 98: Hoare triple {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:06:34,680 INFO L290 TraceCheckUtils]: 99: Hoare triple {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} assume !!(#t~post7 < 50);havoc #t~post7; {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:06:34,680 INFO L272 TraceCheckUtils]: 100: Hoare triple {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {29641#true} is VALID [2022-04-28 13:06:34,680 INFO L290 TraceCheckUtils]: 101: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:34,680 INFO L290 TraceCheckUtils]: 102: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:34,680 INFO L290 TraceCheckUtils]: 103: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:34,680 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {29641#true} {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} #88#return; {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:06:34,681 INFO L272 TraceCheckUtils]: 105: Hoare triple {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29967#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:06:34,681 INFO L290 TraceCheckUtils]: 106: Hoare triple {29967#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29971#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:06:34,682 INFO L290 TraceCheckUtils]: 107: Hoare triple {29971#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29642#false} is VALID [2022-04-28 13:06:34,682 INFO L290 TraceCheckUtils]: 108: Hoare triple {29642#false} assume !false; {29642#false} is VALID [2022-04-28 13:06:34,682 INFO L134 CoverageAnalysis]: Checked inductivity of 490 backedges. 30 proven. 40 refuted. 0 times theorem prover too weak. 420 trivial. 0 not checked. [2022-04-28 13:06:34,682 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:06:38,274 INFO L290 TraceCheckUtils]: 108: Hoare triple {29642#false} assume !false; {29642#false} is VALID [2022-04-28 13:06:38,274 INFO L290 TraceCheckUtils]: 107: Hoare triple {29971#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29642#false} is VALID [2022-04-28 13:06:38,275 INFO L290 TraceCheckUtils]: 106: Hoare triple {29967#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29971#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:06:38,276 INFO L272 TraceCheckUtils]: 105: Hoare triple {29987#(= 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)); {29967#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:06:38,276 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {29641#true} {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #88#return; {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:06:38,276 INFO L290 TraceCheckUtils]: 103: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:38,276 INFO L290 TraceCheckUtils]: 102: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:38,276 INFO L290 TraceCheckUtils]: 101: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:38,277 INFO L272 TraceCheckUtils]: 100: Hoare triple {29987#(= 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)); {29641#true} is VALID [2022-04-28 13:06:38,277 INFO L290 TraceCheckUtils]: 99: Hoare triple {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 50);havoc #t~post7; {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:06:38,277 INFO L290 TraceCheckUtils]: 98: Hoare triple {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:06:38,278 INFO L290 TraceCheckUtils]: 97: Hoare triple {29987#(= 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; {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:06:38,298 INFO L290 TraceCheckUtils]: 96: Hoare triple {30015#(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); {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:06:38,299 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {29641#true} {30015#(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; {30015#(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-28 13:06:38,299 INFO L290 TraceCheckUtils]: 94: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:38,299 INFO L290 TraceCheckUtils]: 93: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:38,299 INFO L290 TraceCheckUtils]: 92: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:38,299 INFO L272 TraceCheckUtils]: 91: Hoare triple {30015#(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)); {29641#true} is VALID [2022-04-28 13:06:38,300 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {29641#true} {30015#(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; {30015#(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-28 13:06:38,300 INFO L290 TraceCheckUtils]: 89: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:38,300 INFO L290 TraceCheckUtils]: 88: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:38,300 INFO L290 TraceCheckUtils]: 87: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:38,300 INFO L272 TraceCheckUtils]: 86: Hoare triple {30015#(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)); {29641#true} is VALID [2022-04-28 13:06:38,301 INFO L290 TraceCheckUtils]: 85: Hoare triple {30015#(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 < 50);havoc #t~post7; {30015#(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-28 13:06:38,303 INFO L290 TraceCheckUtils]: 84: Hoare triple {30015#(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; {30015#(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-28 13:06:38,304 INFO L290 TraceCheckUtils]: 83: Hoare triple {30055#(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); {30015#(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-28 13:06:38,304 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {29641#true} {30055#(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; {30055#(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-28 13:06:38,304 INFO L290 TraceCheckUtils]: 81: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:38,304 INFO L290 TraceCheckUtils]: 80: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:38,304 INFO L290 TraceCheckUtils]: 79: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:38,305 INFO L272 TraceCheckUtils]: 78: Hoare triple {30055#(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)); {29641#true} is VALID [2022-04-28 13:06:38,305 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {29641#true} {30055#(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; {30055#(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-28 13:06:38,305 INFO L290 TraceCheckUtils]: 76: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:38,305 INFO L290 TraceCheckUtils]: 75: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:38,305 INFO L290 TraceCheckUtils]: 74: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:38,306 INFO L272 TraceCheckUtils]: 73: Hoare triple {30055#(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)); {29641#true} is VALID [2022-04-28 13:06:38,306 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {29641#true} {30055#(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; {30055#(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-28 13:06:38,306 INFO L290 TraceCheckUtils]: 71: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:38,306 INFO L290 TraceCheckUtils]: 70: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:38,306 INFO L290 TraceCheckUtils]: 69: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:38,307 INFO L272 TraceCheckUtils]: 68: Hoare triple {30055#(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)); {29641#true} is VALID [2022-04-28 13:06:38,308 INFO L290 TraceCheckUtils]: 67: Hoare triple {30055#(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 < 50);havoc #t~post6; {30055#(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-28 13:06:38,309 INFO L290 TraceCheckUtils]: 66: Hoare triple {30055#(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; {30055#(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-28 13:06:38,314 INFO L290 TraceCheckUtils]: 65: Hoare triple {30110#(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; {30055#(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-28 13:06:38,314 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {30110#(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-28 13:06:38,314 INFO L290 TraceCheckUtils]: 63: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:38,314 INFO L290 TraceCheckUtils]: 62: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:38,314 INFO L290 TraceCheckUtils]: 61: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:38,314 INFO L272 TraceCheckUtils]: 60: Hoare triple {30110#(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)); {29641#true} is VALID [2022-04-28 13:06:38,315 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {30110#(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-28 13:06:38,315 INFO L290 TraceCheckUtils]: 58: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:38,315 INFO L290 TraceCheckUtils]: 57: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:38,315 INFO L290 TraceCheckUtils]: 56: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:38,315 INFO L272 TraceCheckUtils]: 55: Hoare triple {30110#(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)); {29641#true} is VALID [2022-04-28 13:06:38,316 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {30110#(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-28 13:06:38,316 INFO L290 TraceCheckUtils]: 53: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:38,316 INFO L290 TraceCheckUtils]: 52: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:38,316 INFO L290 TraceCheckUtils]: 51: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:38,316 INFO L272 TraceCheckUtils]: 50: Hoare triple {30110#(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)); {29641#true} is VALID [2022-04-28 13:06:38,317 INFO L290 TraceCheckUtils]: 49: Hoare triple {30110#(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 < 50);havoc #t~post6; {30110#(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-28 13:06:38,317 INFO L290 TraceCheckUtils]: 48: Hoare triple {30110#(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; {30110#(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-28 13:06:38,319 INFO L290 TraceCheckUtils]: 47: Hoare triple {30110#(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; {30110#(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-28 13:06:38,319 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {30110#(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-28 13:06:38,320 INFO L290 TraceCheckUtils]: 45: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:38,320 INFO L290 TraceCheckUtils]: 44: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:38,320 INFO L290 TraceCheckUtils]: 43: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:38,320 INFO L272 TraceCheckUtils]: 42: Hoare triple {30110#(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)); {29641#true} is VALID [2022-04-28 13:06:38,320 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {30110#(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-28 13:06:38,320 INFO L290 TraceCheckUtils]: 40: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:38,321 INFO L290 TraceCheckUtils]: 39: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:38,321 INFO L290 TraceCheckUtils]: 38: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:38,321 INFO L272 TraceCheckUtils]: 37: Hoare triple {30110#(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)); {29641#true} is VALID [2022-04-28 13:06:38,321 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {30110#(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-28 13:06:38,321 INFO L290 TraceCheckUtils]: 35: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:38,321 INFO L290 TraceCheckUtils]: 34: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:38,322 INFO L290 TraceCheckUtils]: 33: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:38,322 INFO L272 TraceCheckUtils]: 32: Hoare triple {30110#(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)); {29641#true} is VALID [2022-04-28 13:06:38,322 INFO L290 TraceCheckUtils]: 31: Hoare triple {30110#(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 < 50);havoc #t~post6; {30110#(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-28 13:06:38,322 INFO L290 TraceCheckUtils]: 30: Hoare triple {30110#(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; {30110#(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-28 13:06:38,324 INFO L290 TraceCheckUtils]: 29: Hoare triple {30110#(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; {30110#(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-28 13:06:38,325 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {30110#(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-28 13:06:38,325 INFO L290 TraceCheckUtils]: 27: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:38,325 INFO L290 TraceCheckUtils]: 26: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:38,325 INFO L290 TraceCheckUtils]: 25: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:38,325 INFO L272 TraceCheckUtils]: 24: Hoare triple {30110#(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)); {29641#true} is VALID [2022-04-28 13:06:38,326 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {30110#(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-28 13:06:38,326 INFO L290 TraceCheckUtils]: 22: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:38,326 INFO L290 TraceCheckUtils]: 21: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:38,326 INFO L290 TraceCheckUtils]: 20: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:38,326 INFO L272 TraceCheckUtils]: 19: Hoare triple {30110#(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)); {29641#true} is VALID [2022-04-28 13:06:38,326 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {30110#(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-28 13:06:38,327 INFO L290 TraceCheckUtils]: 17: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:38,327 INFO L290 TraceCheckUtils]: 16: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:38,327 INFO L290 TraceCheckUtils]: 15: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:38,327 INFO L272 TraceCheckUtils]: 14: Hoare triple {30110#(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)); {29641#true} is VALID [2022-04-28 13:06:38,327 INFO L290 TraceCheckUtils]: 13: Hoare triple {30110#(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 < 50);havoc #t~post6; {30110#(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-28 13:06:38,328 INFO L290 TraceCheckUtils]: 12: Hoare triple {30110#(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; {30110#(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-28 13:06:38,328 INFO L290 TraceCheckUtils]: 11: Hoare triple {29641#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {30110#(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-28 13:06:38,328 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29641#true} {29641#true} #80#return; {29641#true} is VALID [2022-04-28 13:06:38,328 INFO L290 TraceCheckUtils]: 9: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:38,328 INFO L290 TraceCheckUtils]: 8: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 13:06:38,329 INFO L290 TraceCheckUtils]: 7: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 13:06:38,329 INFO L272 TraceCheckUtils]: 6: Hoare triple {29641#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {29641#true} is VALID [2022-04-28 13:06:38,329 INFO L290 TraceCheckUtils]: 5: Hoare triple {29641#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; {29641#true} is VALID [2022-04-28 13:06:38,329 INFO L272 TraceCheckUtils]: 4: Hoare triple {29641#true} call #t~ret8 := main(); {29641#true} is VALID [2022-04-28 13:06:38,329 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29641#true} {29641#true} #96#return; {29641#true} is VALID [2022-04-28 13:06:38,329 INFO L290 TraceCheckUtils]: 2: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 13:06:38,329 INFO L290 TraceCheckUtils]: 1: Hoare triple {29641#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; {29641#true} is VALID [2022-04-28 13:06:38,329 INFO L272 TraceCheckUtils]: 0: Hoare triple {29641#true} call ULTIMATE.init(); {29641#true} is VALID [2022-04-28 13:06:38,330 INFO L134 CoverageAnalysis]: Checked inductivity of 490 backedges. 30 proven. 22 refuted. 0 times theorem prover too weak. 438 trivial. 0 not checked. [2022-04-28 13:06:38,330 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:06:38,330 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1954304336] [2022-04-28 13:06:38,330 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:06:38,330 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [362936726] [2022-04-28 13:06:38,330 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [362936726] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:06:38,330 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:06:38,331 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 14 [2022-04-28 13:06:38,331 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:06:38,331 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2050479612] [2022-04-28 13:06:38,331 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2050479612] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:06:38,331 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:06:38,331 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 13:06:38,331 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1841865813] [2022-04-28 13:06:38,331 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:06:38,332 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 109 [2022-04-28 13:06:38,332 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:06:38,332 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 13:06:38,434 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:06:38,434 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 13:06:38,434 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:06:38,434 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 13:06:38,434 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=132, Unknown=0, NotChecked=0, Total=182 [2022-04-28 13:06:38,435 INFO L87 Difference]: Start difference. First operand 232 states and 261 transitions. Second operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 13:06:41,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:06:41,670 INFO L93 Difference]: Finished difference Result 286 states and 340 transitions. [2022-04-28 13:06:41,670 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 13:06:41,670 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 109 [2022-04-28 13:06:41,671 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:06:41,671 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 13:06:41,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 154 transitions. [2022-04-28 13:06:41,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 13:06:41,675 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 154 transitions. [2022-04-28 13:06:41,676 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 154 transitions. [2022-04-28 13:06:41,958 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:06:41,963 INFO L225 Difference]: With dead ends: 286 [2022-04-28 13:06:41,963 INFO L226 Difference]: Without dead ends: 256 [2022-04-28 13:06:41,964 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 219 GetRequests, 202 SyntacticMatches, 3 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=62, Invalid=178, Unknown=0, NotChecked=0, Total=240 [2022-04-28 13:06:41,964 INFO L413 NwaCegarLoop]: 89 mSDtfsCounter, 23 mSDsluCounter, 398 mSDsCounter, 0 mSdLazyCounter, 474 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 487 SdHoareTripleChecker+Invalid, 492 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 474 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-28 13:06:41,966 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 487 Invalid, 492 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 474 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-28 13:06:41,967 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 256 states. [2022-04-28 13:06:42,328 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 256 to 250. [2022-04-28 13:06:42,328 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:06:42,328 INFO L82 GeneralOperation]: Start isEquivalent. First operand 256 states. Second operand has 250 states, 165 states have (on average 1.1333333333333333) internal successors, (187), 172 states have internal predecessors, (187), 51 states have call successors, (51), 34 states have call predecessors, (51), 33 states have return successors, (48), 43 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 13:06:42,329 INFO L74 IsIncluded]: Start isIncluded. First operand 256 states. Second operand has 250 states, 165 states have (on average 1.1333333333333333) internal successors, (187), 172 states have internal predecessors, (187), 51 states have call successors, (51), 34 states have call predecessors, (51), 33 states have return successors, (48), 43 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 13:06:42,329 INFO L87 Difference]: Start difference. First operand 256 states. Second operand has 250 states, 165 states have (on average 1.1333333333333333) internal successors, (187), 172 states have internal predecessors, (187), 51 states have call successors, (51), 34 states have call predecessors, (51), 33 states have return successors, (48), 43 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 13:06:42,334 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:06:42,334 INFO L93 Difference]: Finished difference Result 256 states and 294 transitions. [2022-04-28 13:06:42,334 INFO L276 IsEmpty]: Start isEmpty. Operand 256 states and 294 transitions. [2022-04-28 13:06:42,335 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:06:42,335 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:06:42,336 INFO L74 IsIncluded]: Start isIncluded. First operand has 250 states, 165 states have (on average 1.1333333333333333) internal successors, (187), 172 states have internal predecessors, (187), 51 states have call successors, (51), 34 states have call predecessors, (51), 33 states have return successors, (48), 43 states have call predecessors, (48), 48 states have call successors, (48) Second operand 256 states. [2022-04-28 13:06:42,344 INFO L87 Difference]: Start difference. First operand has 250 states, 165 states have (on average 1.1333333333333333) internal successors, (187), 172 states have internal predecessors, (187), 51 states have call successors, (51), 34 states have call predecessors, (51), 33 states have return successors, (48), 43 states have call predecessors, (48), 48 states have call successors, (48) Second operand 256 states. [2022-04-28 13:06:42,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:06:42,350 INFO L93 Difference]: Finished difference Result 256 states and 294 transitions. [2022-04-28 13:06:42,350 INFO L276 IsEmpty]: Start isEmpty. Operand 256 states and 294 transitions. [2022-04-28 13:06:42,350 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:06:42,350 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:06:42,350 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:06:42,351 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:06:42,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 250 states, 165 states have (on average 1.1333333333333333) internal successors, (187), 172 states have internal predecessors, (187), 51 states have call successors, (51), 34 states have call predecessors, (51), 33 states have return successors, (48), 43 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 13:06:42,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 250 states to 250 states and 286 transitions. [2022-04-28 13:06:42,357 INFO L78 Accepts]: Start accepts. Automaton has 250 states and 286 transitions. Word has length 109 [2022-04-28 13:06:42,357 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:06:42,357 INFO L495 AbstractCegarLoop]: Abstraction has 250 states and 286 transitions. [2022-04-28 13:06:42,357 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 13:06:42,357 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 250 states and 286 transitions. [2022-04-28 13:06:44,944 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 286 edges. 285 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:06:44,944 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 286 transitions. [2022-04-28 13:06:44,945 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-28 13:06:44,945 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:06:44,945 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:06:44,962 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Ended with exit code 0 [2022-04-28 13:06:45,147 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable25,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:06:45,147 INFO L420 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:06:45,148 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:06:45,148 INFO L85 PathProgramCache]: Analyzing trace with hash 1412827450, now seen corresponding path program 3 times [2022-04-28 13:06:45,148 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:06:45,148 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [218147294] [2022-04-28 13:06:53,929 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:06:53,929 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:06:53,929 INFO L85 PathProgramCache]: Analyzing trace with hash 1412827450, now seen corresponding path program 4 times [2022-04-28 13:06:53,929 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:06:53,930 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [857421386] [2022-04-28 13:06:53,930 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:06:53,930 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:06:53,941 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:06:53,942 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [515368485] [2022-04-28 13:06:53,942 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:06:53,942 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:06:53,942 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:06:53,952 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:06:53,987 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-28 13:06:54,034 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:06:54,034 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:06:54,035 INFO L263 TraceCheckSpWp]: Trace formula consists of 275 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 13:06:54,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:06:54,059 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:07:03,666 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 13:07:03,791 INFO L272 TraceCheckUtils]: 0: Hoare triple {31896#true} call ULTIMATE.init(); {31896#true} is VALID [2022-04-28 13:07:03,791 INFO L290 TraceCheckUtils]: 1: Hoare triple {31896#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; {31896#true} is VALID [2022-04-28 13:07:03,791 INFO L290 TraceCheckUtils]: 2: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 13:07:03,791 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31896#true} {31896#true} #96#return; {31896#true} is VALID [2022-04-28 13:07:03,791 INFO L272 TraceCheckUtils]: 4: Hoare triple {31896#true} call #t~ret8 := main(); {31896#true} is VALID [2022-04-28 13:07:03,791 INFO L290 TraceCheckUtils]: 5: Hoare triple {31896#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; {31896#true} is VALID [2022-04-28 13:07:03,791 INFO L272 TraceCheckUtils]: 6: Hoare triple {31896#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {31896#true} is VALID [2022-04-28 13:07:03,791 INFO L290 TraceCheckUtils]: 7: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 13:07:03,791 INFO L290 TraceCheckUtils]: 8: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 13:07:03,792 INFO L290 TraceCheckUtils]: 9: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 13:07:03,792 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31896#true} {31896#true} #80#return; {31896#true} is VALID [2022-04-28 13:07:03,792 INFO L290 TraceCheckUtils]: 11: Hoare triple {31896#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:07:03,792 INFO L290 TraceCheckUtils]: 12: Hoare triple {31934#(and (= (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; {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:07:03,793 INFO L290 TraceCheckUtils]: 13: Hoare triple {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:07:03,793 INFO L272 TraceCheckUtils]: 14: Hoare triple {31934#(and (= (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)); {31896#true} is VALID [2022-04-28 13:07:03,793 INFO L290 TraceCheckUtils]: 15: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 13:07:03,793 INFO L290 TraceCheckUtils]: 16: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 13:07:03,793 INFO L290 TraceCheckUtils]: 17: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 13:07:03,794 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {31896#true} {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:07:03,794 INFO L272 TraceCheckUtils]: 19: Hoare triple {31934#(and (= (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)); {31896#true} is VALID [2022-04-28 13:07:03,794 INFO L290 TraceCheckUtils]: 20: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 13:07:03,794 INFO L290 TraceCheckUtils]: 21: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 13:07:03,794 INFO L290 TraceCheckUtils]: 22: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 13:07:03,794 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {31896#true} {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:07:03,794 INFO L272 TraceCheckUtils]: 24: Hoare triple {31934#(and (= (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)); {31896#true} is VALID [2022-04-28 13:07:03,794 INFO L290 TraceCheckUtils]: 25: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 13:07:03,795 INFO L290 TraceCheckUtils]: 26: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 13:07:03,795 INFO L290 TraceCheckUtils]: 27: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 13:07:03,795 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {31896#true} {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:07:03,797 INFO L290 TraceCheckUtils]: 29: Hoare triple {31934#(and (= (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; {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:07:03,797 INFO L290 TraceCheckUtils]: 30: Hoare triple {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:07:03,799 INFO L290 TraceCheckUtils]: 31: Hoare triple {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:07:03,799 INFO L272 TraceCheckUtils]: 32: Hoare triple {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {31896#true} is VALID [2022-04-28 13:07:03,799 INFO L290 TraceCheckUtils]: 33: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 13:07:03,799 INFO L290 TraceCheckUtils]: 34: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 13:07:03,799 INFO L290 TraceCheckUtils]: 35: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 13:07:03,800 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {31896#true} {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #82#return; {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:07:03,800 INFO L272 TraceCheckUtils]: 37: Hoare triple {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~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)); {31896#true} is VALID [2022-04-28 13:07:03,800 INFO L290 TraceCheckUtils]: 38: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 13:07:03,800 INFO L290 TraceCheckUtils]: 39: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 13:07:03,800 INFO L290 TraceCheckUtils]: 40: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 13:07:03,800 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {31896#true} {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #84#return; {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:07:03,800 INFO L272 TraceCheckUtils]: 42: Hoare triple {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~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)); {31896#true} is VALID [2022-04-28 13:07:03,800 INFO L290 TraceCheckUtils]: 43: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 13:07:03,801 INFO L290 TraceCheckUtils]: 44: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 13:07:03,801 INFO L290 TraceCheckUtils]: 45: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 13:07:03,808 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {31896#true} {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #86#return; {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:07:03,811 INFO L290 TraceCheckUtils]: 47: Hoare triple {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~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; {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:07:03,812 INFO L290 TraceCheckUtils]: 48: Hoare triple {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:07:03,812 INFO L290 TraceCheckUtils]: 49: Hoare triple {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post6 < 50);havoc #t~post6; {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:07:03,812 INFO L272 TraceCheckUtils]: 50: Hoare triple {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {31896#true} is VALID [2022-04-28 13:07:03,812 INFO L290 TraceCheckUtils]: 51: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 13:07:03,812 INFO L290 TraceCheckUtils]: 52: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 13:07:03,813 INFO L290 TraceCheckUtils]: 53: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 13:07:03,813 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {31896#true} {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #82#return; {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:07:03,813 INFO L272 TraceCheckUtils]: 55: Hoare triple {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {31896#true} is VALID [2022-04-28 13:07:03,813 INFO L290 TraceCheckUtils]: 56: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 13:07:03,814 INFO L290 TraceCheckUtils]: 57: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 13:07:03,814 INFO L290 TraceCheckUtils]: 58: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 13:07:03,814 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {31896#true} {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #84#return; {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:07:03,814 INFO L272 TraceCheckUtils]: 60: Hoare triple {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {31896#true} is VALID [2022-04-28 13:07:03,814 INFO L290 TraceCheckUtils]: 61: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 13:07:03,814 INFO L290 TraceCheckUtils]: 62: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 13:07:03,815 INFO L290 TraceCheckUtils]: 63: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 13:07:03,815 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {31896#true} {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #86#return; {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:07:03,816 INFO L290 TraceCheckUtils]: 65: Hoare triple {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:07:03,816 INFO L290 TraceCheckUtils]: 66: Hoare triple {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:07:03,817 INFO L290 TraceCheckUtils]: 67: Hoare triple {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post7 < 50);havoc #t~post7; {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:07:03,817 INFO L272 TraceCheckUtils]: 68: Hoare triple {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) 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)); {31896#true} is VALID [2022-04-28 13:07:03,817 INFO L290 TraceCheckUtils]: 69: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 13:07:03,817 INFO L290 TraceCheckUtils]: 70: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 13:07:03,817 INFO L290 TraceCheckUtils]: 71: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 13:07:03,818 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {31896#true} {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #88#return; {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:07:03,818 INFO L272 TraceCheckUtils]: 73: Hoare triple {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {31896#true} is VALID [2022-04-28 13:07:03,818 INFO L290 TraceCheckUtils]: 74: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 13:07:03,818 INFO L290 TraceCheckUtils]: 75: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 13:07:03,818 INFO L290 TraceCheckUtils]: 76: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 13:07:03,819 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {31896#true} {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #90#return; {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:07:03,822 INFO L290 TraceCheckUtils]: 78: Hoare triple {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) 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); {32139#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (< main_~r~0 (* main_~d~0 2)) (= main_~q~0 0) (<= main_~d~0 main_~r~0) (<= main_~p~0 2))} is VALID [2022-04-28 13:07:03,826 INFO L290 TraceCheckUtils]: 79: Hoare triple {32139#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (< main_~r~0 (* main_~d~0 2)) (= main_~q~0 0) (<= main_~d~0 main_~r~0) (<= main_~p~0 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} is VALID [2022-04-28 13:07:03,827 INFO L290 TraceCheckUtils]: 80: Hoare triple {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} is VALID [2022-04-28 13:07:03,827 INFO L290 TraceCheckUtils]: 81: Hoare triple {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} assume !!(#t~post7 < 50);havoc #t~post7; {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} is VALID [2022-04-28 13:07:03,828 INFO L272 TraceCheckUtils]: 82: Hoare triple {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {31896#true} is VALID [2022-04-28 13:07:03,828 INFO L290 TraceCheckUtils]: 83: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 13:07:03,828 INFO L290 TraceCheckUtils]: 84: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 13:07:03,828 INFO L290 TraceCheckUtils]: 85: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 13:07:03,829 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {31896#true} {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} #88#return; {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} is VALID [2022-04-28 13:07:03,829 INFO L272 TraceCheckUtils]: 87: Hoare triple {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {31896#true} is VALID [2022-04-28 13:07:03,829 INFO L290 TraceCheckUtils]: 88: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 13:07:03,829 INFO L290 TraceCheckUtils]: 89: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 13:07:03,829 INFO L290 TraceCheckUtils]: 90: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 13:07:03,830 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {31896#true} {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} #90#return; {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} is VALID [2022-04-28 13:07:03,836 INFO L290 TraceCheckUtils]: 92: Hoare triple {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {32183#(and (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2)) (- 2)) 2) 0) (<= main_~q~0 2) (<= 0 main_~r~0) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (not (= main_~q~0 1)) (or (and (not (= (mod main_~q~0 2) 0)) (= main_~p~0 (+ (div main_~q~0 2) 1))) (and (= main_~p~0 (div main_~q~0 2)) (= (mod main_~q~0 2) 0))) (< (* main_~r~0 2) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 13:07:03,845 INFO L290 TraceCheckUtils]: 93: Hoare triple {32183#(and (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2)) (- 2)) 2) 0) (<= main_~q~0 2) (<= 0 main_~r~0) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (not (= main_~q~0 1)) (or (and (not (= (mod main_~q~0 2) 0)) (= main_~p~0 (+ (div main_~q~0 2) 1))) (and (= main_~p~0 (div main_~q~0 2)) (= (mod main_~q~0 2) 0))) (< (* main_~r~0 2) (mod main_~A~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} is VALID [2022-04-28 13:07:03,848 INFO L290 TraceCheckUtils]: 94: Hoare triple {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} is VALID [2022-04-28 13:07:03,849 INFO L290 TraceCheckUtils]: 95: Hoare triple {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} assume !!(#t~post7 < 50);havoc #t~post7; {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} is VALID [2022-04-28 13:07:03,850 INFO L272 TraceCheckUtils]: 96: Hoare triple {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {31896#true} is VALID [2022-04-28 13:07:03,850 INFO L290 TraceCheckUtils]: 97: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 13:07:03,850 INFO L290 TraceCheckUtils]: 98: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 13:07:03,850 INFO L290 TraceCheckUtils]: 99: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 13:07:03,851 INFO L284 TraceCheckUtils]: 100: Hoare quadruple {31896#true} {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} #88#return; {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} is VALID [2022-04-28 13:07:03,851 INFO L272 TraceCheckUtils]: 101: Hoare triple {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {31896#true} is VALID [2022-04-28 13:07:03,851 INFO L290 TraceCheckUtils]: 102: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 13:07:03,851 INFO L290 TraceCheckUtils]: 103: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 13:07:03,851 INFO L290 TraceCheckUtils]: 104: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 13:07:03,852 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {31896#true} {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} #90#return; {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} is VALID [2022-04-28 13:07:03,854 INFO L290 TraceCheckUtils]: 106: Hoare triple {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} assume !(1 != ~p~0); {32227#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 main_~r~0) (= (div (+ (- 1) main_~q~0) 2) 1) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (mod (+ main_~q~0 1) 2) 0))} is VALID [2022-04-28 13:07:03,883 INFO L272 TraceCheckUtils]: 107: Hoare triple {32227#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 main_~r~0) (= (div (+ (- 1) main_~q~0) 2) 1) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (mod (+ main_~q~0 1) 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {32231#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:07:03,883 INFO L290 TraceCheckUtils]: 108: Hoare triple {32231#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {32235#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:07:03,884 INFO L290 TraceCheckUtils]: 109: Hoare triple {32235#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {31897#false} is VALID [2022-04-28 13:07:03,884 INFO L290 TraceCheckUtils]: 110: Hoare triple {31897#false} assume !false; {31897#false} is VALID [2022-04-28 13:07:03,885 INFO L134 CoverageAnalysis]: Checked inductivity of 484 backedges. 30 proven. 34 refuted. 0 times theorem prover too weak. 420 trivial. 0 not checked. [2022-04-28 13:07:03,885 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:07:38,516 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:07:38,516 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [857421386] [2022-04-28 13:07:38,516 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:07:38,516 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [515368485] [2022-04-28 13:07:38,516 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [515368485] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 13:07:38,516 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 13:07:38,516 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-28 13:07:38,516 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:07:38,516 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [218147294] [2022-04-28 13:07:38,516 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [218147294] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:07:38,517 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:07:38,517 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 13:07:38,517 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [641237857] [2022-04-28 13:07:38,517 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:07:38,517 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 111 [2022-04-28 13:07:38,517 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:07:38,517 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 13:07:38,722 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:07:38,722 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 13:07:38,723 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:07:38,723 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 13:07:38,723 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=254, Unknown=0, NotChecked=0, Total=342 [2022-04-28 13:07:38,723 INFO L87 Difference]: Start difference. First operand 250 states and 286 transitions. Second operand has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 13:07:45,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:07:45,424 INFO L93 Difference]: Finished difference Result 258 states and 293 transitions. [2022-04-28 13:07:45,424 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 13:07:45,424 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 111 [2022-04-28 13:07:45,424 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:07:45,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 13:07:45,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 99 transitions. [2022-04-28 13:07:45,426 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 13:07:45,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 99 transitions. [2022-04-28 13:07:45,427 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 99 transitions. [2022-04-28 13:07:45,606 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:07:45,610 INFO L225 Difference]: With dead ends: 258 [2022-04-28 13:07:45,610 INFO L226 Difference]: Without dead ends: 210 [2022-04-28 13:07:45,610 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 126 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=112, Invalid=350, Unknown=0, NotChecked=0, Total=462 [2022-04-28 13:07:45,611 INFO L413 NwaCegarLoop]: 62 mSDtfsCounter, 9 mSDsluCounter, 375 mSDsCounter, 0 mSdLazyCounter, 478 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 437 SdHoareTripleChecker+Invalid, 488 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 478 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.8s IncrementalHoareTripleChecker+Time [2022-04-28 13:07:45,611 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 437 Invalid, 488 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 478 Invalid, 0 Unknown, 0 Unchecked, 3.8s Time] [2022-04-28 13:07:45,611 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states. [2022-04-28 13:07:45,889 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 210. [2022-04-28 13:07:45,890 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:07:45,890 INFO L82 GeneralOperation]: Start isEquivalent. First operand 210 states. Second operand has 210 states, 137 states have (on average 1.1532846715328466) internal successors, (158), 143 states have internal predecessors, (158), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-28 13:07:45,890 INFO L74 IsIncluded]: Start isIncluded. First operand 210 states. Second operand has 210 states, 137 states have (on average 1.1532846715328466) internal successors, (158), 143 states have internal predecessors, (158), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-28 13:07:45,891 INFO L87 Difference]: Start difference. First operand 210 states. Second operand has 210 states, 137 states have (on average 1.1532846715328466) internal successors, (158), 143 states have internal predecessors, (158), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-28 13:07:45,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:07:45,894 INFO L93 Difference]: Finished difference Result 210 states and 245 transitions. [2022-04-28 13:07:45,895 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 245 transitions. [2022-04-28 13:07:45,895 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:07:45,895 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:07:45,896 INFO L74 IsIncluded]: Start isIncluded. First operand has 210 states, 137 states have (on average 1.1532846715328466) internal successors, (158), 143 states have internal predecessors, (158), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) Second operand 210 states. [2022-04-28 13:07:45,896 INFO L87 Difference]: Start difference. First operand has 210 states, 137 states have (on average 1.1532846715328466) internal successors, (158), 143 states have internal predecessors, (158), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) Second operand 210 states. [2022-04-28 13:07:45,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:07:45,900 INFO L93 Difference]: Finished difference Result 210 states and 245 transitions. [2022-04-28 13:07:45,900 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 245 transitions. [2022-04-28 13:07:45,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:07:45,901 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:07:45,901 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:07:45,901 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:07:45,901 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 210 states, 137 states have (on average 1.1532846715328466) internal successors, (158), 143 states have internal predecessors, (158), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-28 13:07:45,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 210 states to 210 states and 245 transitions. [2022-04-28 13:07:45,905 INFO L78 Accepts]: Start accepts. Automaton has 210 states and 245 transitions. Word has length 111 [2022-04-28 13:07:45,905 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:07:45,906 INFO L495 AbstractCegarLoop]: Abstraction has 210 states and 245 transitions. [2022-04-28 13:07:45,906 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 13:07:45,906 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 210 states and 245 transitions. [2022-04-28 13:07:48,372 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-28 13:07:48,372 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 245 transitions. [2022-04-28 13:07:48,373 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 116 [2022-04-28 13:07:48,373 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:07:48,373 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 6, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:07:48,396 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-28 13:07:48,595 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2022-04-28 13:07:48,595 INFO L420 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:07:48,596 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:07:48,596 INFO L85 PathProgramCache]: Analyzing trace with hash 898486511, now seen corresponding path program 9 times [2022-04-28 13:07:48,596 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:07:48,596 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1377273343] [2022-04-28 13:07:53,594 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:07:53,595 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:07:53,595 INFO L85 PathProgramCache]: Analyzing trace with hash 898486511, now seen corresponding path program 10 times [2022-04-28 13:07:53,595 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:07:53,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1580251704] [2022-04-28 13:07:53,595 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:07:53,595 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:07:53,604 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:07:53,604 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [892152940] [2022-04-28 13:07:53,605 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:07:53,605 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:07:53,605 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:07:53,611 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:07:53,613 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-28 13:07:53,668 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:07:53,668 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:07:53,669 INFO L263 TraceCheckSpWp]: Trace formula consists of 281 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 13:07:53,687 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:07:53,689 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:07:54,102 INFO L272 TraceCheckUtils]: 0: Hoare triple {33711#true} call ULTIMATE.init(); {33711#true} is VALID [2022-04-28 13:07:54,103 INFO L290 TraceCheckUtils]: 1: Hoare triple {33711#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; {33719#(<= ~counter~0 0)} is VALID [2022-04-28 13:07:54,103 INFO L290 TraceCheckUtils]: 2: Hoare triple {33719#(<= ~counter~0 0)} assume true; {33719#(<= ~counter~0 0)} is VALID [2022-04-28 13:07:54,104 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33719#(<= ~counter~0 0)} {33711#true} #96#return; {33719#(<= ~counter~0 0)} is VALID [2022-04-28 13:07:54,104 INFO L272 TraceCheckUtils]: 4: Hoare triple {33719#(<= ~counter~0 0)} call #t~ret8 := main(); {33719#(<= ~counter~0 0)} is VALID [2022-04-28 13:07:54,104 INFO L290 TraceCheckUtils]: 5: Hoare triple {33719#(<= ~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; {33719#(<= ~counter~0 0)} is VALID [2022-04-28 13:07:54,105 INFO L272 TraceCheckUtils]: 6: Hoare triple {33719#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {33719#(<= ~counter~0 0)} is VALID [2022-04-28 13:07:54,105 INFO L290 TraceCheckUtils]: 7: Hoare triple {33719#(<= ~counter~0 0)} ~cond := #in~cond; {33719#(<= ~counter~0 0)} is VALID [2022-04-28 13:07:54,105 INFO L290 TraceCheckUtils]: 8: Hoare triple {33719#(<= ~counter~0 0)} assume !(0 == ~cond); {33719#(<= ~counter~0 0)} is VALID [2022-04-28 13:07:54,105 INFO L290 TraceCheckUtils]: 9: Hoare triple {33719#(<= ~counter~0 0)} assume true; {33719#(<= ~counter~0 0)} is VALID [2022-04-28 13:07:54,106 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33719#(<= ~counter~0 0)} {33719#(<= ~counter~0 0)} #80#return; {33719#(<= ~counter~0 0)} is VALID [2022-04-28 13:07:54,106 INFO L290 TraceCheckUtils]: 11: Hoare triple {33719#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {33719#(<= ~counter~0 0)} is VALID [2022-04-28 13:07:54,107 INFO L290 TraceCheckUtils]: 12: Hoare triple {33719#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 13:07:54,107 INFO L290 TraceCheckUtils]: 13: Hoare triple {33753#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 13:07:54,108 INFO L272 TraceCheckUtils]: 14: Hoare triple {33753#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33753#(<= ~counter~0 1)} is VALID [2022-04-28 13:07:54,108 INFO L290 TraceCheckUtils]: 15: Hoare triple {33753#(<= ~counter~0 1)} ~cond := #in~cond; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 13:07:54,108 INFO L290 TraceCheckUtils]: 16: Hoare triple {33753#(<= ~counter~0 1)} assume !(0 == ~cond); {33753#(<= ~counter~0 1)} is VALID [2022-04-28 13:07:54,108 INFO L290 TraceCheckUtils]: 17: Hoare triple {33753#(<= ~counter~0 1)} assume true; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 13:07:54,109 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {33753#(<= ~counter~0 1)} {33753#(<= ~counter~0 1)} #82#return; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 13:07:54,109 INFO L272 TraceCheckUtils]: 19: Hoare triple {33753#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33753#(<= ~counter~0 1)} is VALID [2022-04-28 13:07:54,109 INFO L290 TraceCheckUtils]: 20: Hoare triple {33753#(<= ~counter~0 1)} ~cond := #in~cond; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 13:07:54,110 INFO L290 TraceCheckUtils]: 21: Hoare triple {33753#(<= ~counter~0 1)} assume !(0 == ~cond); {33753#(<= ~counter~0 1)} is VALID [2022-04-28 13:07:54,110 INFO L290 TraceCheckUtils]: 22: Hoare triple {33753#(<= ~counter~0 1)} assume true; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 13:07:54,110 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {33753#(<= ~counter~0 1)} {33753#(<= ~counter~0 1)} #84#return; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 13:07:54,111 INFO L272 TraceCheckUtils]: 24: Hoare triple {33753#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33753#(<= ~counter~0 1)} is VALID [2022-04-28 13:07:54,111 INFO L290 TraceCheckUtils]: 25: Hoare triple {33753#(<= ~counter~0 1)} ~cond := #in~cond; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 13:07:54,111 INFO L290 TraceCheckUtils]: 26: Hoare triple {33753#(<= ~counter~0 1)} assume !(0 == ~cond); {33753#(<= ~counter~0 1)} is VALID [2022-04-28 13:07:54,112 INFO L290 TraceCheckUtils]: 27: Hoare triple {33753#(<= ~counter~0 1)} assume true; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 13:07:54,112 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {33753#(<= ~counter~0 1)} {33753#(<= ~counter~0 1)} #86#return; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 13:07:54,112 INFO L290 TraceCheckUtils]: 29: Hoare triple {33753#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 13:07:54,113 INFO L290 TraceCheckUtils]: 30: Hoare triple {33753#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 13:07:54,113 INFO L290 TraceCheckUtils]: 31: Hoare triple {33808#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 13:07:54,114 INFO L272 TraceCheckUtils]: 32: Hoare triple {33808#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33808#(<= ~counter~0 2)} is VALID [2022-04-28 13:07:54,114 INFO L290 TraceCheckUtils]: 33: Hoare triple {33808#(<= ~counter~0 2)} ~cond := #in~cond; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 13:07:54,114 INFO L290 TraceCheckUtils]: 34: Hoare triple {33808#(<= ~counter~0 2)} assume !(0 == ~cond); {33808#(<= ~counter~0 2)} is VALID [2022-04-28 13:07:54,114 INFO L290 TraceCheckUtils]: 35: Hoare triple {33808#(<= ~counter~0 2)} assume true; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 13:07:54,115 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {33808#(<= ~counter~0 2)} {33808#(<= ~counter~0 2)} #82#return; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 13:07:54,115 INFO L272 TraceCheckUtils]: 37: Hoare triple {33808#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33808#(<= ~counter~0 2)} is VALID [2022-04-28 13:07:54,115 INFO L290 TraceCheckUtils]: 38: Hoare triple {33808#(<= ~counter~0 2)} ~cond := #in~cond; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 13:07:54,116 INFO L290 TraceCheckUtils]: 39: Hoare triple {33808#(<= ~counter~0 2)} assume !(0 == ~cond); {33808#(<= ~counter~0 2)} is VALID [2022-04-28 13:07:54,116 INFO L290 TraceCheckUtils]: 40: Hoare triple {33808#(<= ~counter~0 2)} assume true; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 13:07:54,116 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {33808#(<= ~counter~0 2)} {33808#(<= ~counter~0 2)} #84#return; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 13:07:54,117 INFO L272 TraceCheckUtils]: 42: Hoare triple {33808#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33808#(<= ~counter~0 2)} is VALID [2022-04-28 13:07:54,117 INFO L290 TraceCheckUtils]: 43: Hoare triple {33808#(<= ~counter~0 2)} ~cond := #in~cond; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 13:07:54,117 INFO L290 TraceCheckUtils]: 44: Hoare triple {33808#(<= ~counter~0 2)} assume !(0 == ~cond); {33808#(<= ~counter~0 2)} is VALID [2022-04-28 13:07:54,118 INFO L290 TraceCheckUtils]: 45: Hoare triple {33808#(<= ~counter~0 2)} assume true; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 13:07:54,118 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {33808#(<= ~counter~0 2)} {33808#(<= ~counter~0 2)} #86#return; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 13:07:54,118 INFO L290 TraceCheckUtils]: 47: Hoare triple {33808#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 13:07:54,119 INFO L290 TraceCheckUtils]: 48: Hoare triple {33808#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 13:07:54,119 INFO L290 TraceCheckUtils]: 49: Hoare triple {33863#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 13:07:54,119 INFO L272 TraceCheckUtils]: 50: Hoare triple {33863#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33863#(<= ~counter~0 3)} is VALID [2022-04-28 13:07:54,120 INFO L290 TraceCheckUtils]: 51: Hoare triple {33863#(<= ~counter~0 3)} ~cond := #in~cond; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 13:07:54,120 INFO L290 TraceCheckUtils]: 52: Hoare triple {33863#(<= ~counter~0 3)} assume !(0 == ~cond); {33863#(<= ~counter~0 3)} is VALID [2022-04-28 13:07:54,120 INFO L290 TraceCheckUtils]: 53: Hoare triple {33863#(<= ~counter~0 3)} assume true; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 13:07:54,121 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {33863#(<= ~counter~0 3)} {33863#(<= ~counter~0 3)} #82#return; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 13:07:54,121 INFO L272 TraceCheckUtils]: 55: Hoare triple {33863#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33863#(<= ~counter~0 3)} is VALID [2022-04-28 13:07:54,121 INFO L290 TraceCheckUtils]: 56: Hoare triple {33863#(<= ~counter~0 3)} ~cond := #in~cond; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 13:07:54,122 INFO L290 TraceCheckUtils]: 57: Hoare triple {33863#(<= ~counter~0 3)} assume !(0 == ~cond); {33863#(<= ~counter~0 3)} is VALID [2022-04-28 13:07:54,122 INFO L290 TraceCheckUtils]: 58: Hoare triple {33863#(<= ~counter~0 3)} assume true; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 13:07:54,122 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {33863#(<= ~counter~0 3)} {33863#(<= ~counter~0 3)} #84#return; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 13:07:54,123 INFO L272 TraceCheckUtils]: 60: Hoare triple {33863#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33863#(<= ~counter~0 3)} is VALID [2022-04-28 13:07:54,123 INFO L290 TraceCheckUtils]: 61: Hoare triple {33863#(<= ~counter~0 3)} ~cond := #in~cond; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 13:07:54,123 INFO L290 TraceCheckUtils]: 62: Hoare triple {33863#(<= ~counter~0 3)} assume !(0 == ~cond); {33863#(<= ~counter~0 3)} is VALID [2022-04-28 13:07:54,124 INFO L290 TraceCheckUtils]: 63: Hoare triple {33863#(<= ~counter~0 3)} assume true; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 13:07:54,124 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {33863#(<= ~counter~0 3)} {33863#(<= ~counter~0 3)} #86#return; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 13:07:54,124 INFO L290 TraceCheckUtils]: 65: Hoare triple {33863#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 13:07:54,125 INFO L290 TraceCheckUtils]: 66: Hoare triple {33863#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 13:07:54,125 INFO L290 TraceCheckUtils]: 67: Hoare triple {33918#(<= ~counter~0 4)} assume !!(#t~post6 < 50);havoc #t~post6; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 13:07:54,126 INFO L272 TraceCheckUtils]: 68: Hoare triple {33918#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33918#(<= ~counter~0 4)} is VALID [2022-04-28 13:07:54,126 INFO L290 TraceCheckUtils]: 69: Hoare triple {33918#(<= ~counter~0 4)} ~cond := #in~cond; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 13:07:54,126 INFO L290 TraceCheckUtils]: 70: Hoare triple {33918#(<= ~counter~0 4)} assume !(0 == ~cond); {33918#(<= ~counter~0 4)} is VALID [2022-04-28 13:07:54,126 INFO L290 TraceCheckUtils]: 71: Hoare triple {33918#(<= ~counter~0 4)} assume true; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 13:07:54,127 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {33918#(<= ~counter~0 4)} {33918#(<= ~counter~0 4)} #82#return; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 13:07:54,127 INFO L272 TraceCheckUtils]: 73: Hoare triple {33918#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33918#(<= ~counter~0 4)} is VALID [2022-04-28 13:07:54,127 INFO L290 TraceCheckUtils]: 74: Hoare triple {33918#(<= ~counter~0 4)} ~cond := #in~cond; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 13:07:54,128 INFO L290 TraceCheckUtils]: 75: Hoare triple {33918#(<= ~counter~0 4)} assume !(0 == ~cond); {33918#(<= ~counter~0 4)} is VALID [2022-04-28 13:07:54,128 INFO L290 TraceCheckUtils]: 76: Hoare triple {33918#(<= ~counter~0 4)} assume true; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 13:07:54,128 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {33918#(<= ~counter~0 4)} {33918#(<= ~counter~0 4)} #84#return; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 13:07:54,129 INFO L272 TraceCheckUtils]: 78: Hoare triple {33918#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33918#(<= ~counter~0 4)} is VALID [2022-04-28 13:07:54,129 INFO L290 TraceCheckUtils]: 79: Hoare triple {33918#(<= ~counter~0 4)} ~cond := #in~cond; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 13:07:54,129 INFO L290 TraceCheckUtils]: 80: Hoare triple {33918#(<= ~counter~0 4)} assume !(0 == ~cond); {33918#(<= ~counter~0 4)} is VALID [2022-04-28 13:07:54,129 INFO L290 TraceCheckUtils]: 81: Hoare triple {33918#(<= ~counter~0 4)} assume true; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 13:07:54,130 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {33918#(<= ~counter~0 4)} {33918#(<= ~counter~0 4)} #86#return; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 13:07:54,130 INFO L290 TraceCheckUtils]: 83: Hoare triple {33918#(<= ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 13:07:54,131 INFO L290 TraceCheckUtils]: 84: Hoare triple {33918#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 13:07:54,131 INFO L290 TraceCheckUtils]: 85: Hoare triple {33973#(<= ~counter~0 5)} assume !!(#t~post6 < 50);havoc #t~post6; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 13:07:54,131 INFO L272 TraceCheckUtils]: 86: Hoare triple {33973#(<= ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33973#(<= ~counter~0 5)} is VALID [2022-04-28 13:07:54,132 INFO L290 TraceCheckUtils]: 87: Hoare triple {33973#(<= ~counter~0 5)} ~cond := #in~cond; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 13:07:54,132 INFO L290 TraceCheckUtils]: 88: Hoare triple {33973#(<= ~counter~0 5)} assume !(0 == ~cond); {33973#(<= ~counter~0 5)} is VALID [2022-04-28 13:07:54,132 INFO L290 TraceCheckUtils]: 89: Hoare triple {33973#(<= ~counter~0 5)} assume true; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 13:07:54,133 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {33973#(<= ~counter~0 5)} {33973#(<= ~counter~0 5)} #82#return; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 13:07:54,133 INFO L272 TraceCheckUtils]: 91: Hoare triple {33973#(<= ~counter~0 5)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33973#(<= ~counter~0 5)} is VALID [2022-04-28 13:07:54,133 INFO L290 TraceCheckUtils]: 92: Hoare triple {33973#(<= ~counter~0 5)} ~cond := #in~cond; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 13:07:54,133 INFO L290 TraceCheckUtils]: 93: Hoare triple {33973#(<= ~counter~0 5)} assume !(0 == ~cond); {33973#(<= ~counter~0 5)} is VALID [2022-04-28 13:07:54,134 INFO L290 TraceCheckUtils]: 94: Hoare triple {33973#(<= ~counter~0 5)} assume true; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 13:07:54,134 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {33973#(<= ~counter~0 5)} {33973#(<= ~counter~0 5)} #84#return; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 13:07:54,135 INFO L272 TraceCheckUtils]: 96: Hoare triple {33973#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33973#(<= ~counter~0 5)} is VALID [2022-04-28 13:07:54,135 INFO L290 TraceCheckUtils]: 97: Hoare triple {33973#(<= ~counter~0 5)} ~cond := #in~cond; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 13:07:54,135 INFO L290 TraceCheckUtils]: 98: Hoare triple {33973#(<= ~counter~0 5)} assume !(0 == ~cond); {33973#(<= ~counter~0 5)} is VALID [2022-04-28 13:07:54,135 INFO L290 TraceCheckUtils]: 99: Hoare triple {33973#(<= ~counter~0 5)} assume true; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 13:07:54,136 INFO L284 TraceCheckUtils]: 100: Hoare quadruple {33973#(<= ~counter~0 5)} {33973#(<= ~counter~0 5)} #86#return; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 13:07:54,136 INFO L290 TraceCheckUtils]: 101: Hoare triple {33973#(<= ~counter~0 5)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 13:07:54,136 INFO L290 TraceCheckUtils]: 102: Hoare triple {33973#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34028#(<= |main_#t~post6| 5)} is VALID [2022-04-28 13:07:54,137 INFO L290 TraceCheckUtils]: 103: Hoare triple {34028#(<= |main_#t~post6| 5)} assume !(#t~post6 < 50);havoc #t~post6; {33712#false} is VALID [2022-04-28 13:07:54,137 INFO L290 TraceCheckUtils]: 104: Hoare triple {33712#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {33712#false} is VALID [2022-04-28 13:07:54,137 INFO L290 TraceCheckUtils]: 105: Hoare triple {33712#false} assume !(#t~post7 < 50);havoc #t~post7; {33712#false} is VALID [2022-04-28 13:07:54,137 INFO L272 TraceCheckUtils]: 106: Hoare triple {33712#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {33712#false} is VALID [2022-04-28 13:07:54,137 INFO L290 TraceCheckUtils]: 107: Hoare triple {33712#false} ~cond := #in~cond; {33712#false} is VALID [2022-04-28 13:07:54,137 INFO L290 TraceCheckUtils]: 108: Hoare triple {33712#false} assume !(0 == ~cond); {33712#false} is VALID [2022-04-28 13:07:54,137 INFO L290 TraceCheckUtils]: 109: Hoare triple {33712#false} assume true; {33712#false} is VALID [2022-04-28 13:07:54,137 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {33712#false} {33712#false} #92#return; {33712#false} is VALID [2022-04-28 13:07:54,137 INFO L272 TraceCheckUtils]: 111: Hoare triple {33712#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {33712#false} is VALID [2022-04-28 13:07:54,137 INFO L290 TraceCheckUtils]: 112: Hoare triple {33712#false} ~cond := #in~cond; {33712#false} is VALID [2022-04-28 13:07:54,137 INFO L290 TraceCheckUtils]: 113: Hoare triple {33712#false} assume 0 == ~cond; {33712#false} is VALID [2022-04-28 13:07:54,137 INFO L290 TraceCheckUtils]: 114: Hoare triple {33712#false} assume !false; {33712#false} is VALID [2022-04-28 13:07:54,138 INFO L134 CoverageAnalysis]: Checked inductivity of 582 backedges. 90 proven. 430 refuted. 0 times theorem prover too weak. 62 trivial. 0 not checked. [2022-04-28 13:07:54,138 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:07:54,612 INFO L290 TraceCheckUtils]: 114: Hoare triple {33712#false} assume !false; {33712#false} is VALID [2022-04-28 13:07:54,612 INFO L290 TraceCheckUtils]: 113: Hoare triple {33712#false} assume 0 == ~cond; {33712#false} is VALID [2022-04-28 13:07:54,612 INFO L290 TraceCheckUtils]: 112: Hoare triple {33712#false} ~cond := #in~cond; {33712#false} is VALID [2022-04-28 13:07:54,612 INFO L272 TraceCheckUtils]: 111: Hoare triple {33712#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {33712#false} is VALID [2022-04-28 13:07:54,612 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {33711#true} {33712#false} #92#return; {33712#false} is VALID [2022-04-28 13:07:54,612 INFO L290 TraceCheckUtils]: 109: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 13:07:54,612 INFO L290 TraceCheckUtils]: 108: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 13:07:54,613 INFO L290 TraceCheckUtils]: 107: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 13:07:54,613 INFO L272 TraceCheckUtils]: 106: Hoare triple {33712#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 13:07:54,613 INFO L290 TraceCheckUtils]: 105: Hoare triple {33712#false} assume !(#t~post7 < 50);havoc #t~post7; {33712#false} is VALID [2022-04-28 13:07:54,613 INFO L290 TraceCheckUtils]: 104: Hoare triple {33712#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {33712#false} is VALID [2022-04-28 13:07:54,613 INFO L290 TraceCheckUtils]: 103: Hoare triple {34098#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {33712#false} is VALID [2022-04-28 13:07:54,613 INFO L290 TraceCheckUtils]: 102: Hoare triple {34102#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34098#(< |main_#t~post6| 50)} is VALID [2022-04-28 13:07:54,614 INFO L290 TraceCheckUtils]: 101: Hoare triple {34102#(< ~counter~0 50)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {34102#(< ~counter~0 50)} is VALID [2022-04-28 13:07:54,614 INFO L284 TraceCheckUtils]: 100: Hoare quadruple {33711#true} {34102#(< ~counter~0 50)} #86#return; {34102#(< ~counter~0 50)} is VALID [2022-04-28 13:07:54,614 INFO L290 TraceCheckUtils]: 99: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 13:07:54,614 INFO L290 TraceCheckUtils]: 98: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 13:07:54,614 INFO L290 TraceCheckUtils]: 97: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 13:07:54,614 INFO L272 TraceCheckUtils]: 96: Hoare triple {34102#(< ~counter~0 50)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 13:07:54,615 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {33711#true} {34102#(< ~counter~0 50)} #84#return; {34102#(< ~counter~0 50)} is VALID [2022-04-28 13:07:54,615 INFO L290 TraceCheckUtils]: 94: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 13:07:54,615 INFO L290 TraceCheckUtils]: 93: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 13:07:54,615 INFO L290 TraceCheckUtils]: 92: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 13:07:54,615 INFO L272 TraceCheckUtils]: 91: Hoare triple {34102#(< ~counter~0 50)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33711#true} is VALID [2022-04-28 13:07:54,616 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {33711#true} {34102#(< ~counter~0 50)} #82#return; {34102#(< ~counter~0 50)} is VALID [2022-04-28 13:07:54,616 INFO L290 TraceCheckUtils]: 89: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 13:07:54,616 INFO L290 TraceCheckUtils]: 88: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 13:07:54,616 INFO L290 TraceCheckUtils]: 87: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 13:07:54,616 INFO L272 TraceCheckUtils]: 86: Hoare triple {34102#(< ~counter~0 50)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 13:07:54,623 INFO L290 TraceCheckUtils]: 85: Hoare triple {34102#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {34102#(< ~counter~0 50)} is VALID [2022-04-28 13:07:54,624 INFO L290 TraceCheckUtils]: 84: Hoare triple {34157#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34102#(< ~counter~0 50)} is VALID [2022-04-28 13:07:54,624 INFO L290 TraceCheckUtils]: 83: Hoare triple {34157#(< ~counter~0 49)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {34157#(< ~counter~0 49)} is VALID [2022-04-28 13:07:54,624 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {33711#true} {34157#(< ~counter~0 49)} #86#return; {34157#(< ~counter~0 49)} is VALID [2022-04-28 13:07:54,624 INFO L290 TraceCheckUtils]: 81: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 13:07:54,625 INFO L290 TraceCheckUtils]: 80: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 13:07:54,625 INFO L290 TraceCheckUtils]: 79: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 13:07:54,625 INFO L272 TraceCheckUtils]: 78: Hoare triple {34157#(< ~counter~0 49)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 13:07:54,627 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {33711#true} {34157#(< ~counter~0 49)} #84#return; {34157#(< ~counter~0 49)} is VALID [2022-04-28 13:07:54,627 INFO L290 TraceCheckUtils]: 76: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 13:07:54,628 INFO L290 TraceCheckUtils]: 75: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 13:07:54,628 INFO L290 TraceCheckUtils]: 74: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 13:07:54,628 INFO L272 TraceCheckUtils]: 73: Hoare triple {34157#(< ~counter~0 49)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33711#true} is VALID [2022-04-28 13:07:54,628 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {33711#true} {34157#(< ~counter~0 49)} #82#return; {34157#(< ~counter~0 49)} is VALID [2022-04-28 13:07:54,628 INFO L290 TraceCheckUtils]: 71: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 13:07:54,628 INFO L290 TraceCheckUtils]: 70: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 13:07:54,629 INFO L290 TraceCheckUtils]: 69: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 13:07:54,629 INFO L272 TraceCheckUtils]: 68: Hoare triple {34157#(< ~counter~0 49)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 13:07:54,629 INFO L290 TraceCheckUtils]: 67: Hoare triple {34157#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {34157#(< ~counter~0 49)} is VALID [2022-04-28 13:07:54,630 INFO L290 TraceCheckUtils]: 66: Hoare triple {34212#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34157#(< ~counter~0 49)} is VALID [2022-04-28 13:07:54,630 INFO L290 TraceCheckUtils]: 65: Hoare triple {34212#(< ~counter~0 48)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {34212#(< ~counter~0 48)} is VALID [2022-04-28 13:07:54,631 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {33711#true} {34212#(< ~counter~0 48)} #86#return; {34212#(< ~counter~0 48)} is VALID [2022-04-28 13:07:54,631 INFO L290 TraceCheckUtils]: 63: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 13:07:54,631 INFO L290 TraceCheckUtils]: 62: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 13:07:54,631 INFO L290 TraceCheckUtils]: 61: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 13:07:54,631 INFO L272 TraceCheckUtils]: 60: Hoare triple {34212#(< ~counter~0 48)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 13:07:54,632 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {33711#true} {34212#(< ~counter~0 48)} #84#return; {34212#(< ~counter~0 48)} is VALID [2022-04-28 13:07:54,632 INFO L290 TraceCheckUtils]: 58: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 13:07:54,632 INFO L290 TraceCheckUtils]: 57: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 13:07:54,632 INFO L290 TraceCheckUtils]: 56: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 13:07:54,632 INFO L272 TraceCheckUtils]: 55: Hoare triple {34212#(< ~counter~0 48)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33711#true} is VALID [2022-04-28 13:07:54,633 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {33711#true} {34212#(< ~counter~0 48)} #82#return; {34212#(< ~counter~0 48)} is VALID [2022-04-28 13:07:54,633 INFO L290 TraceCheckUtils]: 53: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 13:07:54,633 INFO L290 TraceCheckUtils]: 52: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 13:07:54,633 INFO L290 TraceCheckUtils]: 51: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 13:07:54,633 INFO L272 TraceCheckUtils]: 50: Hoare triple {34212#(< ~counter~0 48)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 13:07:54,633 INFO L290 TraceCheckUtils]: 49: Hoare triple {34212#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {34212#(< ~counter~0 48)} is VALID [2022-04-28 13:07:54,634 INFO L290 TraceCheckUtils]: 48: Hoare triple {34267#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34212#(< ~counter~0 48)} is VALID [2022-04-28 13:07:54,634 INFO L290 TraceCheckUtils]: 47: Hoare triple {34267#(< ~counter~0 47)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {34267#(< ~counter~0 47)} is VALID [2022-04-28 13:07:54,635 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {33711#true} {34267#(< ~counter~0 47)} #86#return; {34267#(< ~counter~0 47)} is VALID [2022-04-28 13:07:54,635 INFO L290 TraceCheckUtils]: 45: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 13:07:54,635 INFO L290 TraceCheckUtils]: 44: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 13:07:54,635 INFO L290 TraceCheckUtils]: 43: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 13:07:54,635 INFO L272 TraceCheckUtils]: 42: Hoare triple {34267#(< ~counter~0 47)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 13:07:54,636 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {33711#true} {34267#(< ~counter~0 47)} #84#return; {34267#(< ~counter~0 47)} is VALID [2022-04-28 13:07:54,636 INFO L290 TraceCheckUtils]: 40: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 13:07:54,636 INFO L290 TraceCheckUtils]: 39: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 13:07:54,636 INFO L290 TraceCheckUtils]: 38: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 13:07:54,636 INFO L272 TraceCheckUtils]: 37: Hoare triple {34267#(< ~counter~0 47)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33711#true} is VALID [2022-04-28 13:07:54,637 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {33711#true} {34267#(< ~counter~0 47)} #82#return; {34267#(< ~counter~0 47)} is VALID [2022-04-28 13:07:54,637 INFO L290 TraceCheckUtils]: 35: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 13:07:54,637 INFO L290 TraceCheckUtils]: 34: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 13:07:54,637 INFO L290 TraceCheckUtils]: 33: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 13:07:54,637 INFO L272 TraceCheckUtils]: 32: Hoare triple {34267#(< ~counter~0 47)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 13:07:54,637 INFO L290 TraceCheckUtils]: 31: Hoare triple {34267#(< ~counter~0 47)} assume !!(#t~post6 < 50);havoc #t~post6; {34267#(< ~counter~0 47)} is VALID [2022-04-28 13:07:54,638 INFO L290 TraceCheckUtils]: 30: Hoare triple {34322#(< ~counter~0 46)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34267#(< ~counter~0 47)} is VALID [2022-04-28 13:07:54,638 INFO L290 TraceCheckUtils]: 29: Hoare triple {34322#(< ~counter~0 46)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {34322#(< ~counter~0 46)} is VALID [2022-04-28 13:07:54,639 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {33711#true} {34322#(< ~counter~0 46)} #86#return; {34322#(< ~counter~0 46)} is VALID [2022-04-28 13:07:54,639 INFO L290 TraceCheckUtils]: 27: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 13:07:54,639 INFO L290 TraceCheckUtils]: 26: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 13:07:54,639 INFO L290 TraceCheckUtils]: 25: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 13:07:54,639 INFO L272 TraceCheckUtils]: 24: Hoare triple {34322#(< ~counter~0 46)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 13:07:54,640 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {33711#true} {34322#(< ~counter~0 46)} #84#return; {34322#(< ~counter~0 46)} is VALID [2022-04-28 13:07:54,640 INFO L290 TraceCheckUtils]: 22: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 13:07:54,640 INFO L290 TraceCheckUtils]: 21: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 13:07:54,640 INFO L290 TraceCheckUtils]: 20: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 13:07:54,640 INFO L272 TraceCheckUtils]: 19: Hoare triple {34322#(< ~counter~0 46)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33711#true} is VALID [2022-04-28 13:07:54,641 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {33711#true} {34322#(< ~counter~0 46)} #82#return; {34322#(< ~counter~0 46)} is VALID [2022-04-28 13:07:54,641 INFO L290 TraceCheckUtils]: 17: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 13:07:54,641 INFO L290 TraceCheckUtils]: 16: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 13:07:54,641 INFO L290 TraceCheckUtils]: 15: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 13:07:54,641 INFO L272 TraceCheckUtils]: 14: Hoare triple {34322#(< ~counter~0 46)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 13:07:54,641 INFO L290 TraceCheckUtils]: 13: Hoare triple {34322#(< ~counter~0 46)} assume !!(#t~post6 < 50);havoc #t~post6; {34322#(< ~counter~0 46)} is VALID [2022-04-28 13:07:54,642 INFO L290 TraceCheckUtils]: 12: Hoare triple {34377#(< ~counter~0 45)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34322#(< ~counter~0 46)} is VALID [2022-04-28 13:07:54,642 INFO L290 TraceCheckUtils]: 11: Hoare triple {34377#(< ~counter~0 45)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {34377#(< ~counter~0 45)} is VALID [2022-04-28 13:07:54,643 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33711#true} {34377#(< ~counter~0 45)} #80#return; {34377#(< ~counter~0 45)} is VALID [2022-04-28 13:07:54,643 INFO L290 TraceCheckUtils]: 9: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 13:07:54,643 INFO L290 TraceCheckUtils]: 8: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 13:07:54,643 INFO L290 TraceCheckUtils]: 7: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 13:07:54,643 INFO L272 TraceCheckUtils]: 6: Hoare triple {34377#(< ~counter~0 45)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {33711#true} is VALID [2022-04-28 13:07:54,644 INFO L290 TraceCheckUtils]: 5: Hoare triple {34377#(< ~counter~0 45)} 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; {34377#(< ~counter~0 45)} is VALID [2022-04-28 13:07:54,644 INFO L272 TraceCheckUtils]: 4: Hoare triple {34377#(< ~counter~0 45)} call #t~ret8 := main(); {34377#(< ~counter~0 45)} is VALID [2022-04-28 13:07:54,644 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34377#(< ~counter~0 45)} {33711#true} #96#return; {34377#(< ~counter~0 45)} is VALID [2022-04-28 13:07:54,645 INFO L290 TraceCheckUtils]: 2: Hoare triple {34377#(< ~counter~0 45)} assume true; {34377#(< ~counter~0 45)} is VALID [2022-04-28 13:07:54,645 INFO L290 TraceCheckUtils]: 1: Hoare triple {33711#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; {34377#(< ~counter~0 45)} is VALID [2022-04-28 13:07:54,645 INFO L272 TraceCheckUtils]: 0: Hoare triple {33711#true} call ULTIMATE.init(); {33711#true} is VALID [2022-04-28 13:07:54,646 INFO L134 CoverageAnalysis]: Checked inductivity of 582 backedges. 32 proven. 70 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-28 13:07:54,646 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:07:54,646 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1580251704] [2022-04-28 13:07:54,646 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:07:54,646 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [892152940] [2022-04-28 13:07:54,646 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [892152940] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:07:54,646 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:07:54,646 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 13:07:54,647 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:07:54,647 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1377273343] [2022-04-28 13:07:54,647 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1377273343] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:07:54,647 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:07:54,647 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 13:07:54,647 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [45492082] [2022-04-28 13:07:54,647 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:07:54,648 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) Word has length 115 [2022-04-28 13:07:54,648 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:07:54,648 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 13:07:54,754 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:07:54,754 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 13:07:54,754 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:07:54,755 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 13:07:54,755 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-28 13:07:54,755 INFO L87 Difference]: Start difference. First operand 210 states and 245 transitions. Second operand has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 13:07:55,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:07:55,573 INFO L93 Difference]: Finished difference Result 255 states and 307 transitions. [2022-04-28 13:07:55,573 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 13:07:55,574 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) Word has length 115 [2022-04-28 13:07:55,574 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:07:55,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 13:07:55,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 135 transitions. [2022-04-28 13:07:55,576 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 13:07:55,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 135 transitions. [2022-04-28 13:07:55,577 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 135 transitions. [2022-04-28 13:07:55,716 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:07:55,720 INFO L225 Difference]: With dead ends: 255 [2022-04-28 13:07:55,720 INFO L226 Difference]: Without dead ends: 212 [2022-04-28 13:07:55,721 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 234 GetRequests, 215 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=171, Invalid=249, Unknown=0, NotChecked=0, Total=420 [2022-04-28 13:07:55,721 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 15 mSDsluCounter, 179 mSDsCounter, 0 mSdLazyCounter, 94 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 235 SdHoareTripleChecker+Invalid, 100 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 94 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 13:07:55,721 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 235 Invalid, 100 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 94 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 13:07:55,728 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 212 states. [2022-04-28 13:07:56,075 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 212 to 212. [2022-04-28 13:07:56,076 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:07:56,076 INFO L82 GeneralOperation]: Start isEquivalent. First operand 212 states. Second operand has 212 states, 139 states have (on average 1.1510791366906474) internal successors, (160), 145 states have internal predecessors, (160), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-28 13:07:56,076 INFO L74 IsIncluded]: Start isIncluded. First operand 212 states. Second operand has 212 states, 139 states have (on average 1.1510791366906474) internal successors, (160), 145 states have internal predecessors, (160), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-28 13:07:56,077 INFO L87 Difference]: Start difference. First operand 212 states. Second operand has 212 states, 139 states have (on average 1.1510791366906474) internal successors, (160), 145 states have internal predecessors, (160), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-28 13:07:56,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:07:56,080 INFO L93 Difference]: Finished difference Result 212 states and 247 transitions. [2022-04-28 13:07:56,080 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 247 transitions. [2022-04-28 13:07:56,082 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:07:56,082 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:07:56,083 INFO L74 IsIncluded]: Start isIncluded. First operand has 212 states, 139 states have (on average 1.1510791366906474) internal successors, (160), 145 states have internal predecessors, (160), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) Second operand 212 states. [2022-04-28 13:07:56,083 INFO L87 Difference]: Start difference. First operand has 212 states, 139 states have (on average 1.1510791366906474) internal successors, (160), 145 states have internal predecessors, (160), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) Second operand 212 states. [2022-04-28 13:07:56,086 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:07:56,086 INFO L93 Difference]: Finished difference Result 212 states and 247 transitions. [2022-04-28 13:07:56,086 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 247 transitions. [2022-04-28 13:07:56,087 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:07:56,087 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:07:56,087 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:07:56,087 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:07:56,087 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 212 states, 139 states have (on average 1.1510791366906474) internal successors, (160), 145 states have internal predecessors, (160), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-28 13:07:56,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 247 transitions. [2022-04-28 13:07:56,091 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 247 transitions. Word has length 115 [2022-04-28 13:07:56,092 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:07:56,092 INFO L495 AbstractCegarLoop]: Abstraction has 212 states and 247 transitions. [2022-04-28 13:07:56,092 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 13:07:56,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 212 states and 247 transitions. [2022-04-28 13:07:58,501 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 247 edges. 246 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:07:58,501 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 247 transitions. [2022-04-28 13:07:58,503 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 119 [2022-04-28 13:07:58,503 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:07:58,504 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 4, 4, 4, 4, 4, 4, 4, 4, 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] [2022-04-28 13:07:58,526 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Forceful destruction successful, exit code 0 [2022-04-28 13:07:58,720 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-04-28 13:07:58,720 INFO L420 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:07:58,721 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:07:58,721 INFO L85 PathProgramCache]: Analyzing trace with hash 1562534599, now seen corresponding path program 7 times [2022-04-28 13:07:58,721 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:07:58,721 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1047379677] [2022-04-28 13:08:05,670 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:08:05,670 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:08:05,670 INFO L85 PathProgramCache]: Analyzing trace with hash 1562534599, now seen corresponding path program 8 times [2022-04-28 13:08:05,670 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:08:05,670 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1579467163] [2022-04-28 13:08:05,670 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:08:05,670 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:08:05,680 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:08:05,680 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1579250249] [2022-04-28 13:08:05,680 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:08:05,680 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:08:05,681 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:08:05,681 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:08:05,682 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-28 13:08:05,736 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:08:05,736 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:08:05,737 INFO L263 TraceCheckSpWp]: Trace formula consists of 292 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 13:08:05,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:08:05,758 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:08:06,199 INFO L272 TraceCheckUtils]: 0: Hoare triple {35784#true} call ULTIMATE.init(); {35784#true} is VALID [2022-04-28 13:08:06,199 INFO L290 TraceCheckUtils]: 1: Hoare triple {35784#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; {35792#(<= ~counter~0 0)} is VALID [2022-04-28 13:08:06,200 INFO L290 TraceCheckUtils]: 2: Hoare triple {35792#(<= ~counter~0 0)} assume true; {35792#(<= ~counter~0 0)} is VALID [2022-04-28 13:08:06,200 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35792#(<= ~counter~0 0)} {35784#true} #96#return; {35792#(<= ~counter~0 0)} is VALID [2022-04-28 13:08:06,200 INFO L272 TraceCheckUtils]: 4: Hoare triple {35792#(<= ~counter~0 0)} call #t~ret8 := main(); {35792#(<= ~counter~0 0)} is VALID [2022-04-28 13:08:06,200 INFO L290 TraceCheckUtils]: 5: Hoare triple {35792#(<= ~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; {35792#(<= ~counter~0 0)} is VALID [2022-04-28 13:08:06,201 INFO L272 TraceCheckUtils]: 6: Hoare triple {35792#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {35792#(<= ~counter~0 0)} is VALID [2022-04-28 13:08:06,201 INFO L290 TraceCheckUtils]: 7: Hoare triple {35792#(<= ~counter~0 0)} ~cond := #in~cond; {35792#(<= ~counter~0 0)} is VALID [2022-04-28 13:08:06,201 INFO L290 TraceCheckUtils]: 8: Hoare triple {35792#(<= ~counter~0 0)} assume !(0 == ~cond); {35792#(<= ~counter~0 0)} is VALID [2022-04-28 13:08:06,202 INFO L290 TraceCheckUtils]: 9: Hoare triple {35792#(<= ~counter~0 0)} assume true; {35792#(<= ~counter~0 0)} is VALID [2022-04-28 13:08:06,202 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35792#(<= ~counter~0 0)} {35792#(<= ~counter~0 0)} #80#return; {35792#(<= ~counter~0 0)} is VALID [2022-04-28 13:08:06,202 INFO L290 TraceCheckUtils]: 11: Hoare triple {35792#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {35792#(<= ~counter~0 0)} is VALID [2022-04-28 13:08:06,203 INFO L290 TraceCheckUtils]: 12: Hoare triple {35792#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 13:08:06,203 INFO L290 TraceCheckUtils]: 13: Hoare triple {35826#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 13:08:06,204 INFO L272 TraceCheckUtils]: 14: Hoare triple {35826#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35826#(<= ~counter~0 1)} is VALID [2022-04-28 13:08:06,204 INFO L290 TraceCheckUtils]: 15: Hoare triple {35826#(<= ~counter~0 1)} ~cond := #in~cond; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 13:08:06,204 INFO L290 TraceCheckUtils]: 16: Hoare triple {35826#(<= ~counter~0 1)} assume !(0 == ~cond); {35826#(<= ~counter~0 1)} is VALID [2022-04-28 13:08:06,218 INFO L290 TraceCheckUtils]: 17: Hoare triple {35826#(<= ~counter~0 1)} assume true; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 13:08:06,218 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {35826#(<= ~counter~0 1)} {35826#(<= ~counter~0 1)} #82#return; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 13:08:06,219 INFO L272 TraceCheckUtils]: 19: Hoare triple {35826#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35826#(<= ~counter~0 1)} is VALID [2022-04-28 13:08:06,219 INFO L290 TraceCheckUtils]: 20: Hoare triple {35826#(<= ~counter~0 1)} ~cond := #in~cond; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 13:08:06,219 INFO L290 TraceCheckUtils]: 21: Hoare triple {35826#(<= ~counter~0 1)} assume !(0 == ~cond); {35826#(<= ~counter~0 1)} is VALID [2022-04-28 13:08:06,219 INFO L290 TraceCheckUtils]: 22: Hoare triple {35826#(<= ~counter~0 1)} assume true; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 13:08:06,220 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {35826#(<= ~counter~0 1)} {35826#(<= ~counter~0 1)} #84#return; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 13:08:06,220 INFO L272 TraceCheckUtils]: 24: Hoare triple {35826#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35826#(<= ~counter~0 1)} is VALID [2022-04-28 13:08:06,221 INFO L290 TraceCheckUtils]: 25: Hoare triple {35826#(<= ~counter~0 1)} ~cond := #in~cond; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 13:08:06,221 INFO L290 TraceCheckUtils]: 26: Hoare triple {35826#(<= ~counter~0 1)} assume !(0 == ~cond); {35826#(<= ~counter~0 1)} is VALID [2022-04-28 13:08:06,221 INFO L290 TraceCheckUtils]: 27: Hoare triple {35826#(<= ~counter~0 1)} assume true; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 13:08:06,222 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {35826#(<= ~counter~0 1)} {35826#(<= ~counter~0 1)} #86#return; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 13:08:06,222 INFO L290 TraceCheckUtils]: 29: Hoare triple {35826#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 13:08:06,223 INFO L290 TraceCheckUtils]: 30: Hoare triple {35826#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 13:08:06,223 INFO L290 TraceCheckUtils]: 31: Hoare triple {35881#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 13:08:06,223 INFO L272 TraceCheckUtils]: 32: Hoare triple {35881#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35881#(<= ~counter~0 2)} is VALID [2022-04-28 13:08:06,224 INFO L290 TraceCheckUtils]: 33: Hoare triple {35881#(<= ~counter~0 2)} ~cond := #in~cond; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 13:08:06,224 INFO L290 TraceCheckUtils]: 34: Hoare triple {35881#(<= ~counter~0 2)} assume !(0 == ~cond); {35881#(<= ~counter~0 2)} is VALID [2022-04-28 13:08:06,224 INFO L290 TraceCheckUtils]: 35: Hoare triple {35881#(<= ~counter~0 2)} assume true; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 13:08:06,224 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {35881#(<= ~counter~0 2)} {35881#(<= ~counter~0 2)} #82#return; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 13:08:06,225 INFO L272 TraceCheckUtils]: 37: Hoare triple {35881#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35881#(<= ~counter~0 2)} is VALID [2022-04-28 13:08:06,225 INFO L290 TraceCheckUtils]: 38: Hoare triple {35881#(<= ~counter~0 2)} ~cond := #in~cond; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 13:08:06,225 INFO L290 TraceCheckUtils]: 39: Hoare triple {35881#(<= ~counter~0 2)} assume !(0 == ~cond); {35881#(<= ~counter~0 2)} is VALID [2022-04-28 13:08:06,226 INFO L290 TraceCheckUtils]: 40: Hoare triple {35881#(<= ~counter~0 2)} assume true; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 13:08:06,226 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {35881#(<= ~counter~0 2)} {35881#(<= ~counter~0 2)} #84#return; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 13:08:06,226 INFO L272 TraceCheckUtils]: 42: Hoare triple {35881#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35881#(<= ~counter~0 2)} is VALID [2022-04-28 13:08:06,227 INFO L290 TraceCheckUtils]: 43: Hoare triple {35881#(<= ~counter~0 2)} ~cond := #in~cond; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 13:08:06,227 INFO L290 TraceCheckUtils]: 44: Hoare triple {35881#(<= ~counter~0 2)} assume !(0 == ~cond); {35881#(<= ~counter~0 2)} is VALID [2022-04-28 13:08:06,227 INFO L290 TraceCheckUtils]: 45: Hoare triple {35881#(<= ~counter~0 2)} assume true; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 13:08:06,228 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {35881#(<= ~counter~0 2)} {35881#(<= ~counter~0 2)} #86#return; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 13:08:06,228 INFO L290 TraceCheckUtils]: 47: Hoare triple {35881#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 13:08:06,229 INFO L290 TraceCheckUtils]: 48: Hoare triple {35881#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 13:08:06,229 INFO L290 TraceCheckUtils]: 49: Hoare triple {35936#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 13:08:06,229 INFO L272 TraceCheckUtils]: 50: Hoare triple {35936#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35936#(<= ~counter~0 3)} is VALID [2022-04-28 13:08:06,229 INFO L290 TraceCheckUtils]: 51: Hoare triple {35936#(<= ~counter~0 3)} ~cond := #in~cond; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 13:08:06,230 INFO L290 TraceCheckUtils]: 52: Hoare triple {35936#(<= ~counter~0 3)} assume !(0 == ~cond); {35936#(<= ~counter~0 3)} is VALID [2022-04-28 13:08:06,230 INFO L290 TraceCheckUtils]: 53: Hoare triple {35936#(<= ~counter~0 3)} assume true; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 13:08:06,230 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {35936#(<= ~counter~0 3)} {35936#(<= ~counter~0 3)} #82#return; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 13:08:06,231 INFO L272 TraceCheckUtils]: 55: Hoare triple {35936#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35936#(<= ~counter~0 3)} is VALID [2022-04-28 13:08:06,231 INFO L290 TraceCheckUtils]: 56: Hoare triple {35936#(<= ~counter~0 3)} ~cond := #in~cond; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 13:08:06,231 INFO L290 TraceCheckUtils]: 57: Hoare triple {35936#(<= ~counter~0 3)} assume !(0 == ~cond); {35936#(<= ~counter~0 3)} is VALID [2022-04-28 13:08:06,232 INFO L290 TraceCheckUtils]: 58: Hoare triple {35936#(<= ~counter~0 3)} assume true; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 13:08:06,232 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {35936#(<= ~counter~0 3)} {35936#(<= ~counter~0 3)} #84#return; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 13:08:06,232 INFO L272 TraceCheckUtils]: 60: Hoare triple {35936#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35936#(<= ~counter~0 3)} is VALID [2022-04-28 13:08:06,233 INFO L290 TraceCheckUtils]: 61: Hoare triple {35936#(<= ~counter~0 3)} ~cond := #in~cond; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 13:08:06,233 INFO L290 TraceCheckUtils]: 62: Hoare triple {35936#(<= ~counter~0 3)} assume !(0 == ~cond); {35936#(<= ~counter~0 3)} is VALID [2022-04-28 13:08:06,233 INFO L290 TraceCheckUtils]: 63: Hoare triple {35936#(<= ~counter~0 3)} assume true; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 13:08:06,234 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {35936#(<= ~counter~0 3)} {35936#(<= ~counter~0 3)} #86#return; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 13:08:06,234 INFO L290 TraceCheckUtils]: 65: Hoare triple {35936#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 13:08:06,234 INFO L290 TraceCheckUtils]: 66: Hoare triple {35936#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 13:08:06,235 INFO L290 TraceCheckUtils]: 67: Hoare triple {35991#(<= ~counter~0 4)} assume !!(#t~post6 < 50);havoc #t~post6; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 13:08:06,235 INFO L272 TraceCheckUtils]: 68: Hoare triple {35991#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35991#(<= ~counter~0 4)} is VALID [2022-04-28 13:08:06,235 INFO L290 TraceCheckUtils]: 69: Hoare triple {35991#(<= ~counter~0 4)} ~cond := #in~cond; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 13:08:06,236 INFO L290 TraceCheckUtils]: 70: Hoare triple {35991#(<= ~counter~0 4)} assume !(0 == ~cond); {35991#(<= ~counter~0 4)} is VALID [2022-04-28 13:08:06,236 INFO L290 TraceCheckUtils]: 71: Hoare triple {35991#(<= ~counter~0 4)} assume true; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 13:08:06,236 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {35991#(<= ~counter~0 4)} {35991#(<= ~counter~0 4)} #82#return; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 13:08:06,237 INFO L272 TraceCheckUtils]: 73: Hoare triple {35991#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35991#(<= ~counter~0 4)} is VALID [2022-04-28 13:08:06,237 INFO L290 TraceCheckUtils]: 74: Hoare triple {35991#(<= ~counter~0 4)} ~cond := #in~cond; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 13:08:06,237 INFO L290 TraceCheckUtils]: 75: Hoare triple {35991#(<= ~counter~0 4)} assume !(0 == ~cond); {35991#(<= ~counter~0 4)} is VALID [2022-04-28 13:08:06,237 INFO L290 TraceCheckUtils]: 76: Hoare triple {35991#(<= ~counter~0 4)} assume true; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 13:08:06,238 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {35991#(<= ~counter~0 4)} {35991#(<= ~counter~0 4)} #84#return; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 13:08:06,238 INFO L272 TraceCheckUtils]: 78: Hoare triple {35991#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35991#(<= ~counter~0 4)} is VALID [2022-04-28 13:08:06,239 INFO L290 TraceCheckUtils]: 79: Hoare triple {35991#(<= ~counter~0 4)} ~cond := #in~cond; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 13:08:06,239 INFO L290 TraceCheckUtils]: 80: Hoare triple {35991#(<= ~counter~0 4)} assume !(0 == ~cond); {35991#(<= ~counter~0 4)} is VALID [2022-04-28 13:08:06,239 INFO L290 TraceCheckUtils]: 81: Hoare triple {35991#(<= ~counter~0 4)} assume true; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 13:08:06,240 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {35991#(<= ~counter~0 4)} {35991#(<= ~counter~0 4)} #86#return; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 13:08:06,240 INFO L290 TraceCheckUtils]: 83: Hoare triple {35991#(<= ~counter~0 4)} assume !(~r~0 >= ~d~0); {35991#(<= ~counter~0 4)} is VALID [2022-04-28 13:08:06,240 INFO L290 TraceCheckUtils]: 84: Hoare triple {35991#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36046#(<= ~counter~0 5)} is VALID [2022-04-28 13:08:06,241 INFO L290 TraceCheckUtils]: 85: Hoare triple {36046#(<= ~counter~0 5)} assume !!(#t~post7 < 50);havoc #t~post7; {36046#(<= ~counter~0 5)} is VALID [2022-04-28 13:08:06,241 INFO L272 TraceCheckUtils]: 86: Hoare triple {36046#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {36046#(<= ~counter~0 5)} is VALID [2022-04-28 13:08:06,241 INFO L290 TraceCheckUtils]: 87: Hoare triple {36046#(<= ~counter~0 5)} ~cond := #in~cond; {36046#(<= ~counter~0 5)} is VALID [2022-04-28 13:08:06,242 INFO L290 TraceCheckUtils]: 88: Hoare triple {36046#(<= ~counter~0 5)} assume !(0 == ~cond); {36046#(<= ~counter~0 5)} is VALID [2022-04-28 13:08:06,242 INFO L290 TraceCheckUtils]: 89: Hoare triple {36046#(<= ~counter~0 5)} assume true; {36046#(<= ~counter~0 5)} is VALID [2022-04-28 13:08:06,242 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {36046#(<= ~counter~0 5)} {36046#(<= ~counter~0 5)} #88#return; {36046#(<= ~counter~0 5)} is VALID [2022-04-28 13:08:06,243 INFO L272 TraceCheckUtils]: 91: Hoare triple {36046#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {36046#(<= ~counter~0 5)} is VALID [2022-04-28 13:08:06,243 INFO L290 TraceCheckUtils]: 92: Hoare triple {36046#(<= ~counter~0 5)} ~cond := #in~cond; {36046#(<= ~counter~0 5)} is VALID [2022-04-28 13:08:06,243 INFO L290 TraceCheckUtils]: 93: Hoare triple {36046#(<= ~counter~0 5)} assume !(0 == ~cond); {36046#(<= ~counter~0 5)} is VALID [2022-04-28 13:08:06,244 INFO L290 TraceCheckUtils]: 94: Hoare triple {36046#(<= ~counter~0 5)} assume true; {36046#(<= ~counter~0 5)} is VALID [2022-04-28 13:08:06,244 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {36046#(<= ~counter~0 5)} {36046#(<= ~counter~0 5)} #90#return; {36046#(<= ~counter~0 5)} is VALID [2022-04-28 13:08:06,244 INFO L290 TraceCheckUtils]: 96: Hoare triple {36046#(<= ~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); {36046#(<= ~counter~0 5)} is VALID [2022-04-28 13:08:06,245 INFO L290 TraceCheckUtils]: 97: Hoare triple {36046#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {36046#(<= ~counter~0 5)} is VALID [2022-04-28 13:08:06,245 INFO L290 TraceCheckUtils]: 98: Hoare triple {36046#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36089#(<= ~counter~0 6)} is VALID [2022-04-28 13:08:06,245 INFO L290 TraceCheckUtils]: 99: Hoare triple {36089#(<= ~counter~0 6)} assume !!(#t~post7 < 50);havoc #t~post7; {36089#(<= ~counter~0 6)} is VALID [2022-04-28 13:08:06,246 INFO L272 TraceCheckUtils]: 100: Hoare triple {36089#(<= ~counter~0 6)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {36089#(<= ~counter~0 6)} is VALID [2022-04-28 13:08:06,246 INFO L290 TraceCheckUtils]: 101: Hoare triple {36089#(<= ~counter~0 6)} ~cond := #in~cond; {36089#(<= ~counter~0 6)} is VALID [2022-04-28 13:08:06,246 INFO L290 TraceCheckUtils]: 102: Hoare triple {36089#(<= ~counter~0 6)} assume !(0 == ~cond); {36089#(<= ~counter~0 6)} is VALID [2022-04-28 13:08:06,247 INFO L290 TraceCheckUtils]: 103: Hoare triple {36089#(<= ~counter~0 6)} assume true; {36089#(<= ~counter~0 6)} is VALID [2022-04-28 13:08:06,247 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {36089#(<= ~counter~0 6)} {36089#(<= ~counter~0 6)} #88#return; {36089#(<= ~counter~0 6)} is VALID [2022-04-28 13:08:06,248 INFO L272 TraceCheckUtils]: 105: Hoare triple {36089#(<= ~counter~0 6)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {36089#(<= ~counter~0 6)} is VALID [2022-04-28 13:08:06,248 INFO L290 TraceCheckUtils]: 106: Hoare triple {36089#(<= ~counter~0 6)} ~cond := #in~cond; {36089#(<= ~counter~0 6)} is VALID [2022-04-28 13:08:06,248 INFO L290 TraceCheckUtils]: 107: Hoare triple {36089#(<= ~counter~0 6)} assume !(0 == ~cond); {36089#(<= ~counter~0 6)} is VALID [2022-04-28 13:08:06,248 INFO L290 TraceCheckUtils]: 108: Hoare triple {36089#(<= ~counter~0 6)} assume true; {36089#(<= ~counter~0 6)} is VALID [2022-04-28 13:08:06,249 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {36089#(<= ~counter~0 6)} {36089#(<= ~counter~0 6)} #90#return; {36089#(<= ~counter~0 6)} is VALID [2022-04-28 13:08:06,249 INFO L290 TraceCheckUtils]: 110: Hoare triple {36089#(<= ~counter~0 6)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {36089#(<= ~counter~0 6)} is VALID [2022-04-28 13:08:06,249 INFO L290 TraceCheckUtils]: 111: Hoare triple {36089#(<= ~counter~0 6)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {36089#(<= ~counter~0 6)} is VALID [2022-04-28 13:08:06,250 INFO L290 TraceCheckUtils]: 112: Hoare triple {36089#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36132#(<= |main_#t~post7| 6)} is VALID [2022-04-28 13:08:06,250 INFO L290 TraceCheckUtils]: 113: Hoare triple {36132#(<= |main_#t~post7| 6)} assume !(#t~post7 < 50);havoc #t~post7; {35785#false} is VALID [2022-04-28 13:08:06,250 INFO L272 TraceCheckUtils]: 114: Hoare triple {35785#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {35785#false} is VALID [2022-04-28 13:08:06,250 INFO L290 TraceCheckUtils]: 115: Hoare triple {35785#false} ~cond := #in~cond; {35785#false} is VALID [2022-04-28 13:08:06,250 INFO L290 TraceCheckUtils]: 116: Hoare triple {35785#false} assume 0 == ~cond; {35785#false} is VALID [2022-04-28 13:08:06,250 INFO L290 TraceCheckUtils]: 117: Hoare triple {35785#false} assume !false; {35785#false} is VALID [2022-04-28 13:08:06,251 INFO L134 CoverageAnalysis]: Checked inductivity of 558 backedges. 32 proven. 470 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-28 13:08:06,251 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:08:06,710 INFO L290 TraceCheckUtils]: 117: Hoare triple {35785#false} assume !false; {35785#false} is VALID [2022-04-28 13:08:06,710 INFO L290 TraceCheckUtils]: 116: Hoare triple {35785#false} assume 0 == ~cond; {35785#false} is VALID [2022-04-28 13:08:06,710 INFO L290 TraceCheckUtils]: 115: Hoare triple {35785#false} ~cond := #in~cond; {35785#false} is VALID [2022-04-28 13:08:06,710 INFO L272 TraceCheckUtils]: 114: Hoare triple {35785#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {35785#false} is VALID [2022-04-28 13:08:06,711 INFO L290 TraceCheckUtils]: 113: Hoare triple {36160#(< |main_#t~post7| 50)} assume !(#t~post7 < 50);havoc #t~post7; {35785#false} is VALID [2022-04-28 13:08:06,711 INFO L290 TraceCheckUtils]: 112: Hoare triple {36164#(< ~counter~0 50)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36160#(< |main_#t~post7| 50)} is VALID [2022-04-28 13:08:06,711 INFO L290 TraceCheckUtils]: 111: Hoare triple {36164#(< ~counter~0 50)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {36164#(< ~counter~0 50)} is VALID [2022-04-28 13:08:06,712 INFO L290 TraceCheckUtils]: 110: Hoare triple {36164#(< ~counter~0 50)} 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); {36164#(< ~counter~0 50)} is VALID [2022-04-28 13:08:06,712 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {35784#true} {36164#(< ~counter~0 50)} #90#return; {36164#(< ~counter~0 50)} is VALID [2022-04-28 13:08:06,712 INFO L290 TraceCheckUtils]: 108: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 13:08:06,712 INFO L290 TraceCheckUtils]: 107: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 13:08:06,712 INFO L290 TraceCheckUtils]: 106: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 13:08:06,712 INFO L272 TraceCheckUtils]: 105: Hoare triple {36164#(< ~counter~0 50)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 13:08:06,715 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {35784#true} {36164#(< ~counter~0 50)} #88#return; {36164#(< ~counter~0 50)} is VALID [2022-04-28 13:08:06,715 INFO L290 TraceCheckUtils]: 103: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 13:08:06,715 INFO L290 TraceCheckUtils]: 102: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 13:08:06,715 INFO L290 TraceCheckUtils]: 101: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 13:08:06,715 INFO L272 TraceCheckUtils]: 100: Hoare triple {36164#(< ~counter~0 50)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 13:08:06,715 INFO L290 TraceCheckUtils]: 99: Hoare triple {36164#(< ~counter~0 50)} assume !!(#t~post7 < 50);havoc #t~post7; {36164#(< ~counter~0 50)} is VALID [2022-04-28 13:08:06,716 INFO L290 TraceCheckUtils]: 98: Hoare triple {36207#(< ~counter~0 49)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36164#(< ~counter~0 50)} is VALID [2022-04-28 13:08:06,716 INFO L290 TraceCheckUtils]: 97: Hoare triple {36207#(< ~counter~0 49)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {36207#(< ~counter~0 49)} is VALID [2022-04-28 13:08:06,717 INFO L290 TraceCheckUtils]: 96: Hoare triple {36207#(< ~counter~0 49)} 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); {36207#(< ~counter~0 49)} is VALID [2022-04-28 13:08:06,717 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {35784#true} {36207#(< ~counter~0 49)} #90#return; {36207#(< ~counter~0 49)} is VALID [2022-04-28 13:08:06,717 INFO L290 TraceCheckUtils]: 94: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 13:08:06,717 INFO L290 TraceCheckUtils]: 93: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 13:08:06,717 INFO L290 TraceCheckUtils]: 92: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 13:08:06,717 INFO L272 TraceCheckUtils]: 91: Hoare triple {36207#(< ~counter~0 49)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 13:08:06,718 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {35784#true} {36207#(< ~counter~0 49)} #88#return; {36207#(< ~counter~0 49)} is VALID [2022-04-28 13:08:06,718 INFO L290 TraceCheckUtils]: 89: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 13:08:06,718 INFO L290 TraceCheckUtils]: 88: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 13:08:06,718 INFO L290 TraceCheckUtils]: 87: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 13:08:06,718 INFO L272 TraceCheckUtils]: 86: Hoare triple {36207#(< ~counter~0 49)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 13:08:06,718 INFO L290 TraceCheckUtils]: 85: Hoare triple {36207#(< ~counter~0 49)} assume !!(#t~post7 < 50);havoc #t~post7; {36207#(< ~counter~0 49)} is VALID [2022-04-28 13:08:06,719 INFO L290 TraceCheckUtils]: 84: Hoare triple {36250#(< ~counter~0 48)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36207#(< ~counter~0 49)} is VALID [2022-04-28 13:08:06,719 INFO L290 TraceCheckUtils]: 83: Hoare triple {36250#(< ~counter~0 48)} assume !(~r~0 >= ~d~0); {36250#(< ~counter~0 48)} is VALID [2022-04-28 13:08:06,720 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {35784#true} {36250#(< ~counter~0 48)} #86#return; {36250#(< ~counter~0 48)} is VALID [2022-04-28 13:08:06,720 INFO L290 TraceCheckUtils]: 81: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 13:08:06,720 INFO L290 TraceCheckUtils]: 80: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 13:08:06,720 INFO L290 TraceCheckUtils]: 79: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 13:08:06,720 INFO L272 TraceCheckUtils]: 78: Hoare triple {36250#(< ~counter~0 48)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 13:08:06,720 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {35784#true} {36250#(< ~counter~0 48)} #84#return; {36250#(< ~counter~0 48)} is VALID [2022-04-28 13:08:06,721 INFO L290 TraceCheckUtils]: 76: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 13:08:06,721 INFO L290 TraceCheckUtils]: 75: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 13:08:06,721 INFO L290 TraceCheckUtils]: 74: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 13:08:06,721 INFO L272 TraceCheckUtils]: 73: Hoare triple {36250#(< ~counter~0 48)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35784#true} is VALID [2022-04-28 13:08:06,721 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {35784#true} {36250#(< ~counter~0 48)} #82#return; {36250#(< ~counter~0 48)} is VALID [2022-04-28 13:08:06,721 INFO L290 TraceCheckUtils]: 71: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 13:08:06,721 INFO L290 TraceCheckUtils]: 70: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 13:08:06,721 INFO L290 TraceCheckUtils]: 69: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 13:08:06,721 INFO L272 TraceCheckUtils]: 68: Hoare triple {36250#(< ~counter~0 48)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 13:08:06,722 INFO L290 TraceCheckUtils]: 67: Hoare triple {36250#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {36250#(< ~counter~0 48)} is VALID [2022-04-28 13:08:06,722 INFO L290 TraceCheckUtils]: 66: Hoare triple {36305#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36250#(< ~counter~0 48)} is VALID [2022-04-28 13:08:06,722 INFO L290 TraceCheckUtils]: 65: Hoare triple {36305#(< ~counter~0 47)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {36305#(< ~counter~0 47)} is VALID [2022-04-28 13:08:06,723 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {35784#true} {36305#(< ~counter~0 47)} #86#return; {36305#(< ~counter~0 47)} is VALID [2022-04-28 13:08:06,723 INFO L290 TraceCheckUtils]: 63: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 13:08:06,723 INFO L290 TraceCheckUtils]: 62: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 13:08:06,723 INFO L290 TraceCheckUtils]: 61: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 13:08:06,723 INFO L272 TraceCheckUtils]: 60: Hoare triple {36305#(< ~counter~0 47)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 13:08:06,724 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {35784#true} {36305#(< ~counter~0 47)} #84#return; {36305#(< ~counter~0 47)} is VALID [2022-04-28 13:08:06,724 INFO L290 TraceCheckUtils]: 58: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 13:08:06,724 INFO L290 TraceCheckUtils]: 57: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 13:08:06,724 INFO L290 TraceCheckUtils]: 56: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 13:08:06,724 INFO L272 TraceCheckUtils]: 55: Hoare triple {36305#(< ~counter~0 47)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35784#true} is VALID [2022-04-28 13:08:06,724 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {35784#true} {36305#(< ~counter~0 47)} #82#return; {36305#(< ~counter~0 47)} is VALID [2022-04-28 13:08:06,724 INFO L290 TraceCheckUtils]: 53: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 13:08:06,724 INFO L290 TraceCheckUtils]: 52: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 13:08:06,725 INFO L290 TraceCheckUtils]: 51: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 13:08:06,725 INFO L272 TraceCheckUtils]: 50: Hoare triple {36305#(< ~counter~0 47)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 13:08:06,725 INFO L290 TraceCheckUtils]: 49: Hoare triple {36305#(< ~counter~0 47)} assume !!(#t~post6 < 50);havoc #t~post6; {36305#(< ~counter~0 47)} is VALID [2022-04-28 13:08:06,725 INFO L290 TraceCheckUtils]: 48: Hoare triple {36360#(< ~counter~0 46)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36305#(< ~counter~0 47)} is VALID [2022-04-28 13:08:06,726 INFO L290 TraceCheckUtils]: 47: Hoare triple {36360#(< ~counter~0 46)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {36360#(< ~counter~0 46)} is VALID [2022-04-28 13:08:06,726 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {35784#true} {36360#(< ~counter~0 46)} #86#return; {36360#(< ~counter~0 46)} is VALID [2022-04-28 13:08:06,726 INFO L290 TraceCheckUtils]: 45: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 13:08:06,726 INFO L290 TraceCheckUtils]: 44: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 13:08:06,726 INFO L290 TraceCheckUtils]: 43: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 13:08:06,726 INFO L272 TraceCheckUtils]: 42: Hoare triple {36360#(< ~counter~0 46)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 13:08:06,727 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {35784#true} {36360#(< ~counter~0 46)} #84#return; {36360#(< ~counter~0 46)} is VALID [2022-04-28 13:08:06,727 INFO L290 TraceCheckUtils]: 40: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 13:08:06,727 INFO L290 TraceCheckUtils]: 39: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 13:08:06,727 INFO L290 TraceCheckUtils]: 38: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 13:08:06,727 INFO L272 TraceCheckUtils]: 37: Hoare triple {36360#(< ~counter~0 46)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35784#true} is VALID [2022-04-28 13:08:06,728 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {35784#true} {36360#(< ~counter~0 46)} #82#return; {36360#(< ~counter~0 46)} is VALID [2022-04-28 13:08:06,728 INFO L290 TraceCheckUtils]: 35: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 13:08:06,728 INFO L290 TraceCheckUtils]: 34: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 13:08:06,728 INFO L290 TraceCheckUtils]: 33: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 13:08:06,728 INFO L272 TraceCheckUtils]: 32: Hoare triple {36360#(< ~counter~0 46)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 13:08:06,728 INFO L290 TraceCheckUtils]: 31: Hoare triple {36360#(< ~counter~0 46)} assume !!(#t~post6 < 50);havoc #t~post6; {36360#(< ~counter~0 46)} is VALID [2022-04-28 13:08:06,729 INFO L290 TraceCheckUtils]: 30: Hoare triple {36415#(< ~counter~0 45)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36360#(< ~counter~0 46)} is VALID [2022-04-28 13:08:06,729 INFO L290 TraceCheckUtils]: 29: Hoare triple {36415#(< ~counter~0 45)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {36415#(< ~counter~0 45)} is VALID [2022-04-28 13:08:06,729 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {35784#true} {36415#(< ~counter~0 45)} #86#return; {36415#(< ~counter~0 45)} is VALID [2022-04-28 13:08:06,729 INFO L290 TraceCheckUtils]: 27: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 13:08:06,730 INFO L290 TraceCheckUtils]: 26: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 13:08:06,730 INFO L290 TraceCheckUtils]: 25: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 13:08:06,730 INFO L272 TraceCheckUtils]: 24: Hoare triple {36415#(< ~counter~0 45)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 13:08:06,730 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {35784#true} {36415#(< ~counter~0 45)} #84#return; {36415#(< ~counter~0 45)} is VALID [2022-04-28 13:08:06,730 INFO L290 TraceCheckUtils]: 22: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 13:08:06,730 INFO L290 TraceCheckUtils]: 21: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 13:08:06,730 INFO L290 TraceCheckUtils]: 20: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 13:08:06,730 INFO L272 TraceCheckUtils]: 19: Hoare triple {36415#(< ~counter~0 45)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35784#true} is VALID [2022-04-28 13:08:06,731 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {35784#true} {36415#(< ~counter~0 45)} #82#return; {36415#(< ~counter~0 45)} is VALID [2022-04-28 13:08:06,731 INFO L290 TraceCheckUtils]: 17: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 13:08:06,731 INFO L290 TraceCheckUtils]: 16: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 13:08:06,731 INFO L290 TraceCheckUtils]: 15: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 13:08:06,731 INFO L272 TraceCheckUtils]: 14: Hoare triple {36415#(< ~counter~0 45)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 13:08:06,731 INFO L290 TraceCheckUtils]: 13: Hoare triple {36415#(< ~counter~0 45)} assume !!(#t~post6 < 50);havoc #t~post6; {36415#(< ~counter~0 45)} is VALID [2022-04-28 13:08:06,732 INFO L290 TraceCheckUtils]: 12: Hoare triple {36470#(< ~counter~0 44)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36415#(< ~counter~0 45)} is VALID [2022-04-28 13:08:06,732 INFO L290 TraceCheckUtils]: 11: Hoare triple {36470#(< ~counter~0 44)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {36470#(< ~counter~0 44)} is VALID [2022-04-28 13:08:06,733 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35784#true} {36470#(< ~counter~0 44)} #80#return; {36470#(< ~counter~0 44)} is VALID [2022-04-28 13:08:06,733 INFO L290 TraceCheckUtils]: 9: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 13:08:06,733 INFO L290 TraceCheckUtils]: 8: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 13:08:06,733 INFO L290 TraceCheckUtils]: 7: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 13:08:06,733 INFO L272 TraceCheckUtils]: 6: Hoare triple {36470#(< ~counter~0 44)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {35784#true} is VALID [2022-04-28 13:08:06,733 INFO L290 TraceCheckUtils]: 5: Hoare triple {36470#(< ~counter~0 44)} 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; {36470#(< ~counter~0 44)} is VALID [2022-04-28 13:08:06,733 INFO L272 TraceCheckUtils]: 4: Hoare triple {36470#(< ~counter~0 44)} call #t~ret8 := main(); {36470#(< ~counter~0 44)} is VALID [2022-04-28 13:08:06,734 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36470#(< ~counter~0 44)} {35784#true} #96#return; {36470#(< ~counter~0 44)} is VALID [2022-04-28 13:08:06,734 INFO L290 TraceCheckUtils]: 2: Hoare triple {36470#(< ~counter~0 44)} assume true; {36470#(< ~counter~0 44)} is VALID [2022-04-28 13:08:06,734 INFO L290 TraceCheckUtils]: 1: Hoare triple {35784#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; {36470#(< ~counter~0 44)} is VALID [2022-04-28 13:08:06,735 INFO L272 TraceCheckUtils]: 0: Hoare triple {35784#true} call ULTIMATE.init(); {35784#true} is VALID [2022-04-28 13:08:06,735 INFO L134 CoverageAnalysis]: Checked inductivity of 558 backedges. 32 proven. 46 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-28 13:08:06,735 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:08:06,735 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1579467163] [2022-04-28 13:08:06,735 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:08:06,735 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1579250249] [2022-04-28 13:08:06,735 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1579250249] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:08:06,735 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:08:06,735 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2022-04-28 13:08:06,736 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:08:06,736 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1047379677] [2022-04-28 13:08:06,736 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1047379677] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:08:06,736 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:08:06,736 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 13:08:06,736 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1483134386] [2022-04-28 13:08:06,736 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:08:06,736 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) Word has length 118 [2022-04-28 13:08:06,736 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:08:06,736 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 13:08:06,823 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:08:06,823 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 13:08:06,823 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:08:06,824 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 13:08:06,824 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=181, Unknown=0, NotChecked=0, Total=306 [2022-04-28 13:08:06,824 INFO L87 Difference]: Start difference. First operand 212 states and 247 transitions. Second operand has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 13:08:07,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:08:07,831 INFO L93 Difference]: Finished difference Result 272 states and 312 transitions. [2022-04-28 13:08:07,831 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 13:08:07,831 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) Word has length 118 [2022-04-28 13:08:07,831 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:08:07,832 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 13:08:07,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 152 transitions. [2022-04-28 13:08:07,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 13:08:07,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 152 transitions. [2022-04-28 13:08:07,835 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 152 transitions. [2022-04-28 13:08:07,999 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:08:08,004 INFO L225 Difference]: With dead ends: 272 [2022-04-28 13:08:08,004 INFO L226 Difference]: Without dead ends: 257 [2022-04-28 13:08:08,004 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 237 GetRequests, 219 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=151, Invalid=229, Unknown=0, NotChecked=0, Total=380 [2022-04-28 13:08:08,005 INFO L413 NwaCegarLoop]: 64 mSDtfsCounter, 50 mSDsluCounter, 161 mSDsCounter, 0 mSdLazyCounter, 87 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 225 SdHoareTripleChecker+Invalid, 127 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 87 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 13:08:08,005 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 225 Invalid, 127 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 87 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 13:08:08,005 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 257 states. [2022-04-28 13:08:08,334 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 257 to 254. [2022-04-28 13:08:08,334 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:08:08,335 INFO L82 GeneralOperation]: Start isEquivalent. First operand 257 states. Second operand has 254 states, 168 states have (on average 1.130952380952381) internal successors, (190), 174 states have internal predecessors, (190), 52 states have call successors, (52), 35 states have call predecessors, (52), 33 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 13:08:08,335 INFO L74 IsIncluded]: Start isIncluded. First operand 257 states. Second operand has 254 states, 168 states have (on average 1.130952380952381) internal successors, (190), 174 states have internal predecessors, (190), 52 states have call successors, (52), 35 states have call predecessors, (52), 33 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 13:08:08,336 INFO L87 Difference]: Start difference. First operand 257 states. Second operand has 254 states, 168 states have (on average 1.130952380952381) internal successors, (190), 174 states have internal predecessors, (190), 52 states have call successors, (52), 35 states have call predecessors, (52), 33 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 13:08:08,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:08:08,340 INFO L93 Difference]: Finished difference Result 257 states and 292 transitions. [2022-04-28 13:08:08,340 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 292 transitions. [2022-04-28 13:08:08,341 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:08:08,341 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:08:08,341 INFO L74 IsIncluded]: Start isIncluded. First operand has 254 states, 168 states have (on average 1.130952380952381) internal successors, (190), 174 states have internal predecessors, (190), 52 states have call successors, (52), 35 states have call predecessors, (52), 33 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) Second operand 257 states. [2022-04-28 13:08:08,342 INFO L87 Difference]: Start difference. First operand has 254 states, 168 states have (on average 1.130952380952381) internal successors, (190), 174 states have internal predecessors, (190), 52 states have call successors, (52), 35 states have call predecessors, (52), 33 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) Second operand 257 states. [2022-04-28 13:08:08,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:08:08,346 INFO L93 Difference]: Finished difference Result 257 states and 292 transitions. [2022-04-28 13:08:08,346 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 292 transitions. [2022-04-28 13:08:08,347 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:08:08,347 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:08:08,347 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:08:08,347 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:08:08,347 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 254 states, 168 states have (on average 1.130952380952381) internal successors, (190), 174 states have internal predecessors, (190), 52 states have call successors, (52), 35 states have call predecessors, (52), 33 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 13:08:08,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 254 states to 254 states and 290 transitions. [2022-04-28 13:08:08,353 INFO L78 Accepts]: Start accepts. Automaton has 254 states and 290 transitions. Word has length 118 [2022-04-28 13:08:08,353 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:08:08,353 INFO L495 AbstractCegarLoop]: Abstraction has 254 states and 290 transitions. [2022-04-28 13:08:08,353 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 13:08:08,353 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 254 states and 290 transitions. [2022-04-28 13:08:10,843 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 290 edges. 289 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:08:10,843 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 290 transitions. [2022-04-28 13:08:10,844 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 119 [2022-04-28 13:08:10,844 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:08:10,844 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:08:10,864 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2022-04-28 13:08:11,055 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-04-28 13:08:11,056 INFO L420 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:08:11,056 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:08:11,056 INFO L85 PathProgramCache]: Analyzing trace with hash 1564262477, now seen corresponding path program 17 times [2022-04-28 13:08:11,056 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:08:11,056 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [779355312] [2022-04-28 13:08:18,487 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:08:18,488 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:08:18,488 INFO L85 PathProgramCache]: Analyzing trace with hash 1564262477, now seen corresponding path program 18 times [2022-04-28 13:08:18,488 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:08:18,488 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1681268596] [2022-04-28 13:08:18,488 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:08:18,488 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:08:18,498 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:08:18,499 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1295675976] [2022-04-28 13:08:18,499 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:08:18,499 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:08:18,499 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:08:18,500 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:08:18,501 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-04-28 13:08:18,568 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 13:08:18,569 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:08:18,570 INFO L263 TraceCheckSpWp]: Trace formula consists of 265 conjuncts, 44 conjunts are in the unsatisfiable core [2022-04-28 13:08:18,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:08:18,590 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:08:21,501 INFO L272 TraceCheckUtils]: 0: Hoare triple {38079#true} call ULTIMATE.init(); {38079#true} is VALID [2022-04-28 13:08:21,501 INFO L290 TraceCheckUtils]: 1: Hoare triple {38079#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; {38079#true} is VALID [2022-04-28 13:08:21,501 INFO L290 TraceCheckUtils]: 2: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:08:21,501 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38079#true} {38079#true} #96#return; {38079#true} is VALID [2022-04-28 13:08:21,501 INFO L272 TraceCheckUtils]: 4: Hoare triple {38079#true} call #t~ret8 := main(); {38079#true} is VALID [2022-04-28 13:08:21,502 INFO L290 TraceCheckUtils]: 5: Hoare triple {38079#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; {38079#true} is VALID [2022-04-28 13:08:21,502 INFO L272 TraceCheckUtils]: 6: Hoare triple {38079#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:08:21,502 INFO L290 TraceCheckUtils]: 7: Hoare triple {38079#true} ~cond := #in~cond; {38105#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 13:08:21,502 INFO L290 TraceCheckUtils]: 8: Hoare triple {38105#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {38109#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 13:08:21,502 INFO L290 TraceCheckUtils]: 9: Hoare triple {38109#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {38109#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 13:08:21,503 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38109#(not (= |assume_abort_if_not_#in~cond| 0))} {38079#true} #80#return; {38116#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-28 13:08:21,503 INFO L290 TraceCheckUtils]: 11: Hoare triple {38116#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:08:21,504 INFO L290 TraceCheckUtils]: 12: Hoare triple {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:08:21,504 INFO L290 TraceCheckUtils]: 13: Hoare triple {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:08:21,504 INFO L272 TraceCheckUtils]: 14: Hoare triple {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:08:21,504 INFO L290 TraceCheckUtils]: 15: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:08:21,504 INFO L290 TraceCheckUtils]: 16: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:08:21,505 INFO L290 TraceCheckUtils]: 17: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:08:21,505 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {38079#true} {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:08:21,505 INFO L272 TraceCheckUtils]: 19: Hoare triple {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:08:21,505 INFO L290 TraceCheckUtils]: 20: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:08:21,505 INFO L290 TraceCheckUtils]: 21: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:08:21,505 INFO L290 TraceCheckUtils]: 22: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:08:21,506 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {38079#true} {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:08:21,506 INFO L272 TraceCheckUtils]: 24: Hoare triple {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:08:21,506 INFO L290 TraceCheckUtils]: 25: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:08:21,506 INFO L290 TraceCheckUtils]: 26: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:08:21,506 INFO L290 TraceCheckUtils]: 27: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:08:21,507 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {38079#true} {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:08:21,508 INFO L290 TraceCheckUtils]: 29: Hoare triple {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:08:21,509 INFO L290 TraceCheckUtils]: 30: Hoare triple {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:08:21,509 INFO L290 TraceCheckUtils]: 31: Hoare triple {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:08:21,509 INFO L272 TraceCheckUtils]: 32: Hoare triple {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:08:21,509 INFO L290 TraceCheckUtils]: 33: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:08:21,510 INFO L290 TraceCheckUtils]: 34: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:08:21,510 INFO L290 TraceCheckUtils]: 35: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:08:21,510 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {38079#true} {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #82#return; {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:08:21,510 INFO L272 TraceCheckUtils]: 37: Hoare triple {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:08:21,510 INFO L290 TraceCheckUtils]: 38: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:08:21,510 INFO L290 TraceCheckUtils]: 39: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:08:21,510 INFO L290 TraceCheckUtils]: 40: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:08:21,511 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {38079#true} {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #84#return; {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:08:21,511 INFO L272 TraceCheckUtils]: 42: Hoare triple {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:08:21,511 INFO L290 TraceCheckUtils]: 43: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:08:21,511 INFO L290 TraceCheckUtils]: 44: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:08:21,511 INFO L290 TraceCheckUtils]: 45: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:08:21,512 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {38079#true} {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #86#return; {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:08:21,514 INFO L290 TraceCheckUtils]: 47: Hoare triple {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:08:21,514 INFO L290 TraceCheckUtils]: 48: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:08:21,515 INFO L290 TraceCheckUtils]: 49: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post6 < 50);havoc #t~post6; {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:08:21,515 INFO L272 TraceCheckUtils]: 50: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:08:21,515 INFO L290 TraceCheckUtils]: 51: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:08:21,515 INFO L290 TraceCheckUtils]: 52: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:08:21,515 INFO L290 TraceCheckUtils]: 53: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:08:21,515 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {38079#true} {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:08:21,515 INFO L272 TraceCheckUtils]: 55: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:08:21,516 INFO L290 TraceCheckUtils]: 56: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:08:21,516 INFO L290 TraceCheckUtils]: 57: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:08:21,516 INFO L290 TraceCheckUtils]: 58: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:08:21,516 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {38079#true} {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:08:21,516 INFO L272 TraceCheckUtils]: 60: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:08:21,516 INFO L290 TraceCheckUtils]: 61: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:08:21,516 INFO L290 TraceCheckUtils]: 62: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:08:21,516 INFO L290 TraceCheckUtils]: 63: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:08:21,517 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {38079#true} {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #86#return; {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:08:21,519 INFO L290 TraceCheckUtils]: 65: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 13:08:21,519 INFO L290 TraceCheckUtils]: 66: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 13:08:21,520 INFO L290 TraceCheckUtils]: 67: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 13:08:21,520 INFO L272 TraceCheckUtils]: 68: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:08:21,520 INFO L290 TraceCheckUtils]: 69: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:08:21,520 INFO L290 TraceCheckUtils]: 70: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:08:21,520 INFO L290 TraceCheckUtils]: 71: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:08:21,521 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {38079#true} {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #82#return; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 13:08:21,521 INFO L272 TraceCheckUtils]: 73: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:08:21,521 INFO L290 TraceCheckUtils]: 74: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:08:21,521 INFO L290 TraceCheckUtils]: 75: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:08:21,521 INFO L290 TraceCheckUtils]: 76: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:08:21,521 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {38079#true} {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #84#return; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 13:08:21,522 INFO L272 TraceCheckUtils]: 78: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:08:21,522 INFO L290 TraceCheckUtils]: 79: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:08:21,522 INFO L290 TraceCheckUtils]: 80: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:08:21,522 INFO L290 TraceCheckUtils]: 81: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:08:21,522 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {38079#true} {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #86#return; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 13:08:21,523 INFO L290 TraceCheckUtils]: 83: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 13:08:21,523 INFO L290 TraceCheckUtils]: 84: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 13:08:21,524 INFO L290 TraceCheckUtils]: 85: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} assume !!(#t~post7 < 50);havoc #t~post7; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 13:08:21,524 INFO L272 TraceCheckUtils]: 86: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:08:21,524 INFO L290 TraceCheckUtils]: 87: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:08:21,524 INFO L290 TraceCheckUtils]: 88: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:08:21,524 INFO L290 TraceCheckUtils]: 89: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:08:21,524 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {38079#true} {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #88#return; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 13:08:21,524 INFO L272 TraceCheckUtils]: 91: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:08:21,525 INFO L290 TraceCheckUtils]: 92: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:08:21,525 INFO L290 TraceCheckUtils]: 93: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:08:21,525 INFO L290 TraceCheckUtils]: 94: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:08:21,525 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {38079#true} {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #90#return; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 13:08:21,527 INFO L290 TraceCheckUtils]: 96: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:08:21,530 INFO L290 TraceCheckUtils]: 97: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:08:21,531 INFO L290 TraceCheckUtils]: 98: Hoare triple {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:08:21,531 INFO L290 TraceCheckUtils]: 99: Hoare triple {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !!(#t~post7 < 50);havoc #t~post7; {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:08:21,531 INFO L272 TraceCheckUtils]: 100: Hoare triple {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 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)); {38079#true} is VALID [2022-04-28 13:08:21,531 INFO L290 TraceCheckUtils]: 101: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:08:21,531 INFO L290 TraceCheckUtils]: 102: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:08:21,531 INFO L290 TraceCheckUtils]: 103: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:08:21,532 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {38079#true} {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #88#return; {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:08:21,532 INFO L272 TraceCheckUtils]: 105: Hoare triple {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 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)); {38079#true} is VALID [2022-04-28 13:08:21,532 INFO L290 TraceCheckUtils]: 106: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:08:21,532 INFO L290 TraceCheckUtils]: 107: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:08:21,532 INFO L290 TraceCheckUtils]: 108: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:08:21,533 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {38079#true} {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #90#return; {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:08:21,534 INFO L290 TraceCheckUtils]: 110: Hoare triple {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 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); {38422#(and (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) 4) main_~r~0)) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 4))} is VALID [2022-04-28 13:08:21,536 INFO L290 TraceCheckUtils]: 111: Hoare triple {38422#(and (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) 4) main_~r~0)) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 4))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {38426#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:08:21,537 INFO L290 TraceCheckUtils]: 112: Hoare triple {38426#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (<= 1 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38426#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:08:21,537 INFO L290 TraceCheckUtils]: 113: Hoare triple {38426#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 50);havoc #t~post7; {38426#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:08:21,538 INFO L272 TraceCheckUtils]: 114: Hoare triple {38426#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {38436#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:08:21,538 INFO L290 TraceCheckUtils]: 115: Hoare triple {38436#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {38440#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:08:21,538 INFO L290 TraceCheckUtils]: 116: Hoare triple {38440#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {38080#false} is VALID [2022-04-28 13:08:21,539 INFO L290 TraceCheckUtils]: 117: Hoare triple {38080#false} assume !false; {38080#false} is VALID [2022-04-28 13:08:21,539 INFO L134 CoverageAnalysis]: Checked inductivity of 560 backedges. 32 proven. 48 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-28 13:08:21,539 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:09:13,219 INFO L290 TraceCheckUtils]: 117: Hoare triple {38080#false} assume !false; {38080#false} is VALID [2022-04-28 13:09:13,220 INFO L290 TraceCheckUtils]: 116: Hoare triple {38440#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {38080#false} is VALID [2022-04-28 13:09:13,220 INFO L290 TraceCheckUtils]: 115: Hoare triple {38436#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {38440#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:09:13,221 INFO L272 TraceCheckUtils]: 114: Hoare triple {38456#(= (+ 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)); {38436#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:09:13,221 INFO L290 TraceCheckUtils]: 113: Hoare triple {38456#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 50);havoc #t~post7; {38456#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:09:13,221 INFO L290 TraceCheckUtils]: 112: Hoare triple {38456#(= (+ 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; {38456#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:09:13,225 INFO L290 TraceCheckUtils]: 111: Hoare triple {38466#(= (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; {38456#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:09:13,240 INFO L290 TraceCheckUtils]: 110: Hoare triple {38470#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {38466#(= (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-28 13:09:13,241 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {38079#true} {38470#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} #90#return; {38470#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:09:13,241 INFO L290 TraceCheckUtils]: 108: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:09:13,241 INFO L290 TraceCheckUtils]: 107: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:09:13,241 INFO L290 TraceCheckUtils]: 106: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:09:13,241 INFO L272 TraceCheckUtils]: 105: Hoare triple {38470#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:09:13,242 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {38079#true} {38470#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} #88#return; {38470#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:09:13,242 INFO L290 TraceCheckUtils]: 103: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:09:13,242 INFO L290 TraceCheckUtils]: 102: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:09:13,242 INFO L290 TraceCheckUtils]: 101: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:09:13,242 INFO L272 TraceCheckUtils]: 100: Hoare triple {38470#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:09:13,243 INFO L290 TraceCheckUtils]: 99: Hoare triple {38470#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} assume !!(#t~post7 < 50);havoc #t~post7; {38470#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:09:13,245 INFO L290 TraceCheckUtils]: 98: Hoare triple {38470#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38470#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:09:13,258 INFO L290 TraceCheckUtils]: 97: Hoare triple {38510#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {38470#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:09:13,604 INFO L290 TraceCheckUtils]: 96: Hoare triple {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {38510#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:09:13,605 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {38079#true} {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} #90#return; {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-28 13:09:13,605 INFO L290 TraceCheckUtils]: 94: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:09:13,605 INFO L290 TraceCheckUtils]: 93: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:09:13,605 INFO L290 TraceCheckUtils]: 92: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:09:13,606 INFO L272 TraceCheckUtils]: 91: Hoare triple {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:09:13,606 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {38079#true} {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} #88#return; {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-28 13:09:13,606 INFO L290 TraceCheckUtils]: 89: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:09:13,607 INFO L290 TraceCheckUtils]: 88: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:09:13,607 INFO L290 TraceCheckUtils]: 87: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:09:13,607 INFO L272 TraceCheckUtils]: 86: Hoare triple {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:09:13,610 INFO L290 TraceCheckUtils]: 85: Hoare triple {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} assume !!(#t~post7 < 50);havoc #t~post7; {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-28 13:09:13,613 INFO L290 TraceCheckUtils]: 84: Hoare triple {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-28 13:09:13,616 INFO L290 TraceCheckUtils]: 83: Hoare triple {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} assume !(~r~0 >= ~d~0); {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-28 13:09:13,617 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {38079#true} {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} #86#return; {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-28 13:09:13,617 INFO L290 TraceCheckUtils]: 81: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:09:13,617 INFO L290 TraceCheckUtils]: 80: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:09:13,617 INFO L290 TraceCheckUtils]: 79: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:09:13,617 INFO L272 TraceCheckUtils]: 78: Hoare triple {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:09:13,618 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {38079#true} {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} #84#return; {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-28 13:09:13,618 INFO L290 TraceCheckUtils]: 76: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:09:13,618 INFO L290 TraceCheckUtils]: 75: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:09:13,618 INFO L290 TraceCheckUtils]: 74: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:09:13,618 INFO L272 TraceCheckUtils]: 73: Hoare triple {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:09:13,619 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {38079#true} {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} #82#return; {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-28 13:09:13,619 INFO L290 TraceCheckUtils]: 71: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:09:13,619 INFO L290 TraceCheckUtils]: 70: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:09:13,619 INFO L290 TraceCheckUtils]: 69: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:09:13,619 INFO L272 TraceCheckUtils]: 68: Hoare triple {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:09:13,622 INFO L290 TraceCheckUtils]: 67: Hoare triple {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-28 13:09:13,625 INFO L290 TraceCheckUtils]: 66: Hoare triple {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-28 13:09:13,698 INFO L290 TraceCheckUtils]: 65: Hoare triple {38510#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {38514#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-28 13:09:13,699 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {38079#true} {38510#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} #86#return; {38510#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:09:13,699 INFO L290 TraceCheckUtils]: 63: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:09:13,699 INFO L290 TraceCheckUtils]: 62: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:09:13,699 INFO L290 TraceCheckUtils]: 61: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:09:13,699 INFO L272 TraceCheckUtils]: 60: Hoare triple {38510#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:09:13,700 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {38079#true} {38510#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} #84#return; {38510#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:09:13,700 INFO L290 TraceCheckUtils]: 58: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:09:13,700 INFO L290 TraceCheckUtils]: 57: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:09:13,700 INFO L290 TraceCheckUtils]: 56: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:09:13,700 INFO L272 TraceCheckUtils]: 55: Hoare triple {38510#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:09:13,701 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {38079#true} {38510#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} #82#return; {38510#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:09:13,701 INFO L290 TraceCheckUtils]: 53: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:09:13,701 INFO L290 TraceCheckUtils]: 52: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:09:13,701 INFO L290 TraceCheckUtils]: 51: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:09:13,701 INFO L272 TraceCheckUtils]: 50: Hoare triple {38510#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:09:13,703 INFO L290 TraceCheckUtils]: 49: Hoare triple {38510#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} assume !!(#t~post6 < 50);havoc #t~post6; {38510#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:09:13,704 INFO L290 TraceCheckUtils]: 48: Hoare triple {38510#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38510#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:09:13,708 INFO L290 TraceCheckUtils]: 47: Hoare triple {38662#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {38510#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:09:13,709 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {38079#true} {38662#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} #86#return; {38662#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:09:13,709 INFO L290 TraceCheckUtils]: 45: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:09:13,709 INFO L290 TraceCheckUtils]: 44: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:09:13,709 INFO L290 TraceCheckUtils]: 43: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:09:13,709 INFO L272 TraceCheckUtils]: 42: Hoare triple {38662#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:09:13,710 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {38079#true} {38662#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} #84#return; {38662#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:09:13,710 INFO L290 TraceCheckUtils]: 40: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:09:13,710 INFO L290 TraceCheckUtils]: 39: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:09:13,710 INFO L290 TraceCheckUtils]: 38: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:09:13,710 INFO L272 TraceCheckUtils]: 37: Hoare triple {38662#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:09:13,710 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {38079#true} {38662#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} #82#return; {38662#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:09:13,711 INFO L290 TraceCheckUtils]: 35: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:09:13,711 INFO L290 TraceCheckUtils]: 34: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:09:13,711 INFO L290 TraceCheckUtils]: 33: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:09:13,711 INFO L272 TraceCheckUtils]: 32: Hoare triple {38662#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:09:13,711 INFO L290 TraceCheckUtils]: 31: Hoare triple {38662#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 50);havoc #t~post6; {38662#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:09:13,712 INFO L290 TraceCheckUtils]: 30: Hoare triple {38662#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38662#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:09:13,713 INFO L290 TraceCheckUtils]: 29: Hoare triple {38717#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 6)) (+ (* (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 3) 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; {38662#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:09:13,714 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {38079#true} {38717#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 6)) (+ (* (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 3) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))))} #86#return; {38717#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 6)) (+ (* (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 3) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:09:13,714 INFO L290 TraceCheckUtils]: 27: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:09:13,714 INFO L290 TraceCheckUtils]: 26: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:09:13,714 INFO L290 TraceCheckUtils]: 25: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:09:13,714 INFO L272 TraceCheckUtils]: 24: Hoare triple {38717#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 6)) (+ (* (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 3) 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)); {38079#true} is VALID [2022-04-28 13:09:13,714 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {38079#true} {38717#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 6)) (+ (* (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 3) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))))} #84#return; {38717#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 6)) (+ (* (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 3) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:09:13,714 INFO L290 TraceCheckUtils]: 22: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:09:13,715 INFO L290 TraceCheckUtils]: 21: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:09:13,715 INFO L290 TraceCheckUtils]: 20: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:09:13,715 INFO L272 TraceCheckUtils]: 19: Hoare triple {38717#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 6)) (+ (* (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 3) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:09:13,715 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {38079#true} {38717#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 6)) (+ (* (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 3) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))))} #82#return; {38717#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 6)) (+ (* (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 3) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:09:13,715 INFO L290 TraceCheckUtils]: 17: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:09:13,715 INFO L290 TraceCheckUtils]: 16: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:09:13,715 INFO L290 TraceCheckUtils]: 15: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:09:13,715 INFO L272 TraceCheckUtils]: 14: Hoare triple {38717#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 6)) (+ (* (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 3) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:09:13,716 INFO L290 TraceCheckUtils]: 13: Hoare triple {38717#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 6)) (+ (* (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 3) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 50);havoc #t~post6; {38717#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 6)) (+ (* (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 3) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:09:13,716 INFO L290 TraceCheckUtils]: 12: Hoare triple {38717#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 6)) (+ (* (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 3) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38717#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 6)) (+ (* (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 3) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:09:13,719 INFO L290 TraceCheckUtils]: 11: Hoare triple {38079#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {38717#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 6)) (+ (* (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 3) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:09:13,719 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38079#true} {38079#true} #80#return; {38079#true} is VALID [2022-04-28 13:09:13,719 INFO L290 TraceCheckUtils]: 9: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:09:13,719 INFO L290 TraceCheckUtils]: 8: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 13:09:13,719 INFO L290 TraceCheckUtils]: 7: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 13:09:13,720 INFO L272 TraceCheckUtils]: 6: Hoare triple {38079#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {38079#true} is VALID [2022-04-28 13:09:13,720 INFO L290 TraceCheckUtils]: 5: Hoare triple {38079#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; {38079#true} is VALID [2022-04-28 13:09:13,720 INFO L272 TraceCheckUtils]: 4: Hoare triple {38079#true} call #t~ret8 := main(); {38079#true} is VALID [2022-04-28 13:09:13,720 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38079#true} {38079#true} #96#return; {38079#true} is VALID [2022-04-28 13:09:13,720 INFO L290 TraceCheckUtils]: 2: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 13:09:13,720 INFO L290 TraceCheckUtils]: 1: Hoare triple {38079#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; {38079#true} is VALID [2022-04-28 13:09:13,720 INFO L272 TraceCheckUtils]: 0: Hoare triple {38079#true} call ULTIMATE.init(); {38079#true} is VALID [2022-04-28 13:09:13,721 INFO L134 CoverageAnalysis]: Checked inductivity of 560 backedges. 32 proven. 48 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-28 13:09:13,721 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:09:13,721 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1681268596] [2022-04-28 13:09:13,721 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:09:13,721 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1295675976] [2022-04-28 13:09:13,722 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1295675976] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:09:13,722 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:09:13,722 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 21 [2022-04-28 13:09:13,722 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:09:13,722 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [779355312] [2022-04-28 13:09:13,722 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [779355312] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:09:13,722 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:09:13,722 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 13:09:13,722 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [659361828] [2022-04-28 13:09:13,722 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:09:13,723 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.5) internal successors, (35), 12 states have internal predecessors, (35), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) Word has length 118 [2022-04-28 13:09:13,723 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:09:13,723 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.5) internal successors, (35), 12 states have internal predecessors, (35), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 13:09:13,854 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:09:13,854 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 13:09:13,854 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:09:13,855 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 13:09:13,855 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=84, Invalid=336, Unknown=0, NotChecked=0, Total=420 [2022-04-28 13:09:13,855 INFO L87 Difference]: Start difference. First operand 254 states and 290 transitions. Second operand has 14 states, 14 states have (on average 2.5) internal successors, (35), 12 states have internal predecessors, (35), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 13:09:18,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:09:18,002 INFO L93 Difference]: Finished difference Result 274 states and 310 transitions. [2022-04-28 13:09:18,002 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 13:09:18,003 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.5) internal successors, (35), 12 states have internal predecessors, (35), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) Word has length 118 [2022-04-28 13:09:18,003 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:09:18,003 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.5) internal successors, (35), 12 states have internal predecessors, (35), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 13:09:18,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 120 transitions. [2022-04-28 13:09:18,004 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.5) internal successors, (35), 12 states have internal predecessors, (35), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 13:09:18,006 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 120 transitions. [2022-04-28 13:09:18,006 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 120 transitions. [2022-04-28 13:09:18,232 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 120 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:09:18,236 INFO L225 Difference]: With dead ends: 274 [2022-04-28 13:09:18,236 INFO L226 Difference]: Without dead ends: 272 [2022-04-28 13:09:18,236 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 237 GetRequests, 213 SyntacticMatches, 3 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 105 ImplicationChecksByTransitivity, 7.7s TimeCoverageRelationStatistics Valid=92, Invalid=414, Unknown=0, NotChecked=0, Total=506 [2022-04-28 13:09:18,237 INFO L413 NwaCegarLoop]: 64 mSDtfsCounter, 40 mSDsluCounter, 319 mSDsCounter, 0 mSdLazyCounter, 648 mSolverCounterSat, 42 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 383 SdHoareTripleChecker+Invalid, 690 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 42 IncrementalHoareTripleChecker+Valid, 648 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.7s IncrementalHoareTripleChecker+Time [2022-04-28 13:09:18,237 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 383 Invalid, 690 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [42 Valid, 648 Invalid, 0 Unknown, 0 Unchecked, 1.7s Time] [2022-04-28 13:09:18,238 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 272 states. [2022-04-28 13:09:18,563 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 272 to 269. [2022-04-28 13:09:18,563 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:09:18,564 INFO L82 GeneralOperation]: Start isEquivalent. First operand 272 states. Second operand has 269 states, 179 states have (on average 1.1284916201117319) internal successors, (202), 186 states have internal predecessors, (202), 53 states have call successors, (53), 38 states have call predecessors, (53), 36 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 13:09:18,564 INFO L74 IsIncluded]: Start isIncluded. First operand 272 states. Second operand has 269 states, 179 states have (on average 1.1284916201117319) internal successors, (202), 186 states have internal predecessors, (202), 53 states have call successors, (53), 38 states have call predecessors, (53), 36 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 13:09:18,564 INFO L87 Difference]: Start difference. First operand 272 states. Second operand has 269 states, 179 states have (on average 1.1284916201117319) internal successors, (202), 186 states have internal predecessors, (202), 53 states have call successors, (53), 38 states have call predecessors, (53), 36 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 13:09:18,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:09:18,569 INFO L93 Difference]: Finished difference Result 272 states and 308 transitions. [2022-04-28 13:09:18,569 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 308 transitions. [2022-04-28 13:09:18,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:09:18,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:09:18,570 INFO L74 IsIncluded]: Start isIncluded. First operand has 269 states, 179 states have (on average 1.1284916201117319) internal successors, (202), 186 states have internal predecessors, (202), 53 states have call successors, (53), 38 states have call predecessors, (53), 36 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) Second operand 272 states. [2022-04-28 13:09:18,571 INFO L87 Difference]: Start difference. First operand has 269 states, 179 states have (on average 1.1284916201117319) internal successors, (202), 186 states have internal predecessors, (202), 53 states have call successors, (53), 38 states have call predecessors, (53), 36 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) Second operand 272 states. [2022-04-28 13:09:18,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:09:18,575 INFO L93 Difference]: Finished difference Result 272 states and 308 transitions. [2022-04-28 13:09:18,576 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 308 transitions. [2022-04-28 13:09:18,576 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:09:18,576 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:09:18,576 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:09:18,576 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:09:18,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 269 states, 179 states have (on average 1.1284916201117319) internal successors, (202), 186 states have internal predecessors, (202), 53 states have call successors, (53), 38 states have call predecessors, (53), 36 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 13:09:18,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 269 states to 269 states and 304 transitions. [2022-04-28 13:09:18,583 INFO L78 Accepts]: Start accepts. Automaton has 269 states and 304 transitions. Word has length 118 [2022-04-28 13:09:18,583 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:09:18,583 INFO L495 AbstractCegarLoop]: Abstraction has 269 states and 304 transitions. [2022-04-28 13:09:18,583 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.5) internal successors, (35), 12 states have internal predecessors, (35), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 13:09:18,583 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 269 states and 304 transitions. [2022-04-28 13:09:21,139 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 304 edges. 303 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:09:21,140 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 304 transitions. [2022-04-28 13:09:21,140 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 123 [2022-04-28 13:09:21,141 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:09:21,141 INFO L195 NwaCegarLoop]: trace histogram [18, 17, 17, 5, 5, 5, 5, 5, 5, 5, 5, 4, 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-28 13:09:21,157 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Forceful destruction successful, exit code 0 [2022-04-28 13:09:21,341 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29,28 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:09:21,341 INFO L420 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:09:21,342 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:09:21,342 INFO L85 PathProgramCache]: Analyzing trace with hash 152469059, now seen corresponding path program 19 times [2022-04-28 13:09:21,342 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:09:21,342 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1748524873] [2022-04-28 13:09:29,142 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:09:29,142 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:09:29,142 INFO L85 PathProgramCache]: Analyzing trace with hash 152469059, now seen corresponding path program 20 times [2022-04-28 13:09:29,142 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:09:29,142 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [962371401] [2022-04-28 13:09:29,142 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:09:29,142 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:09:29,154 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:09:29,154 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1035178774] [2022-04-28 13:09:29,154 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:09:29,154 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:09:29,154 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:09:29,156 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:09:29,157 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Waiting until timeout for monitored process [2022-04-28 13:09:29,231 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:09:29,231 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:09:29,233 INFO L263 TraceCheckSpWp]: Trace formula consists of 296 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-28 13:09:29,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:09:29,252 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:09:35,139 INFO L272 TraceCheckUtils]: 0: Hoare triple {40441#true} call ULTIMATE.init(); {40441#true} is VALID [2022-04-28 13:09:35,140 INFO L290 TraceCheckUtils]: 1: Hoare triple {40441#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; {40441#true} is VALID [2022-04-28 13:09:35,140 INFO L290 TraceCheckUtils]: 2: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:35,140 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40441#true} {40441#true} #96#return; {40441#true} is VALID [2022-04-28 13:09:35,140 INFO L272 TraceCheckUtils]: 4: Hoare triple {40441#true} call #t~ret8 := main(); {40441#true} is VALID [2022-04-28 13:09:35,140 INFO L290 TraceCheckUtils]: 5: Hoare triple {40441#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; {40441#true} is VALID [2022-04-28 13:09:35,140 INFO L272 TraceCheckUtils]: 6: Hoare triple {40441#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:35,140 INFO L290 TraceCheckUtils]: 7: Hoare triple {40441#true} ~cond := #in~cond; {40467#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 13:09:35,141 INFO L290 TraceCheckUtils]: 8: Hoare triple {40467#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {40471#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 13:09:35,141 INFO L290 TraceCheckUtils]: 9: Hoare triple {40471#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {40471#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 13:09:35,141 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {40471#(not (= |assume_abort_if_not_#in~cond| 0))} {40441#true} #80#return; {40478#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-28 13:09:35,142 INFO L290 TraceCheckUtils]: 11: Hoare triple {40478#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {40482#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:09:35,142 INFO L290 TraceCheckUtils]: 12: Hoare triple {40482#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40482#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:09:35,143 INFO L290 TraceCheckUtils]: 13: Hoare triple {40482#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {40482#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:09:35,143 INFO L272 TraceCheckUtils]: 14: Hoare triple {40482#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:35,143 INFO L290 TraceCheckUtils]: 15: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:35,143 INFO L290 TraceCheckUtils]: 16: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:35,143 INFO L290 TraceCheckUtils]: 17: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:35,143 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {40441#true} {40482#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {40482#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:09:35,143 INFO L272 TraceCheckUtils]: 19: Hoare triple {40482#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:35,144 INFO L290 TraceCheckUtils]: 20: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:35,144 INFO L290 TraceCheckUtils]: 21: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:35,144 INFO L290 TraceCheckUtils]: 22: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:35,144 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {40441#true} {40482#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {40482#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:09:35,144 INFO L272 TraceCheckUtils]: 24: Hoare triple {40482#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:35,144 INFO L290 TraceCheckUtils]: 25: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:35,144 INFO L290 TraceCheckUtils]: 26: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:35,145 INFO L290 TraceCheckUtils]: 27: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:35,145 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {40441#true} {40482#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {40482#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:09:35,147 INFO L290 TraceCheckUtils]: 29: Hoare triple {40482#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {40537#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:09:35,147 INFO L290 TraceCheckUtils]: 30: Hoare triple {40537#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40537#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:09:35,147 INFO L290 TraceCheckUtils]: 31: Hoare triple {40537#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {40537#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:09:35,147 INFO L272 TraceCheckUtils]: 32: Hoare triple {40537#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:35,148 INFO L290 TraceCheckUtils]: 33: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:35,148 INFO L290 TraceCheckUtils]: 34: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:35,148 INFO L290 TraceCheckUtils]: 35: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:35,148 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {40441#true} {40537#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #82#return; {40537#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:09:35,148 INFO L272 TraceCheckUtils]: 37: Hoare triple {40537#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:35,148 INFO L290 TraceCheckUtils]: 38: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:35,148 INFO L290 TraceCheckUtils]: 39: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:35,148 INFO L290 TraceCheckUtils]: 40: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:35,149 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {40441#true} {40537#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #84#return; {40537#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:09:35,149 INFO L272 TraceCheckUtils]: 42: Hoare triple {40537#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:35,149 INFO L290 TraceCheckUtils]: 43: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:35,149 INFO L290 TraceCheckUtils]: 44: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:35,149 INFO L290 TraceCheckUtils]: 45: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:35,150 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {40441#true} {40537#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #86#return; {40537#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 13:09:35,151 INFO L290 TraceCheckUtils]: 47: Hoare triple {40537#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {40592#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:09:35,152 INFO L290 TraceCheckUtils]: 48: Hoare triple {40592#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40592#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:09:35,152 INFO L290 TraceCheckUtils]: 49: Hoare triple {40592#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post6 < 50);havoc #t~post6; {40592#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:09:35,152 INFO L272 TraceCheckUtils]: 50: Hoare triple {40592#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:35,153 INFO L290 TraceCheckUtils]: 51: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:35,153 INFO L290 TraceCheckUtils]: 52: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:35,153 INFO L290 TraceCheckUtils]: 53: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:35,153 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {40441#true} {40592#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {40592#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:09:35,153 INFO L272 TraceCheckUtils]: 55: Hoare triple {40592#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:35,153 INFO L290 TraceCheckUtils]: 56: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:35,153 INFO L290 TraceCheckUtils]: 57: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:35,153 INFO L290 TraceCheckUtils]: 58: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:35,154 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {40441#true} {40592#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {40592#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:09:35,154 INFO L272 TraceCheckUtils]: 60: Hoare triple {40592#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:35,154 INFO L290 TraceCheckUtils]: 61: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:35,154 INFO L290 TraceCheckUtils]: 62: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:35,154 INFO L290 TraceCheckUtils]: 63: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:35,155 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {40441#true} {40592#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #86#return; {40592#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:09:35,156 INFO L290 TraceCheckUtils]: 65: Hoare triple {40592#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {40647#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 13:09:35,157 INFO L290 TraceCheckUtils]: 66: Hoare triple {40647#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40647#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 13:09:35,157 INFO L290 TraceCheckUtils]: 67: Hoare triple {40647#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {40647#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 13:09:35,157 INFO L272 TraceCheckUtils]: 68: Hoare triple {40647#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:35,157 INFO L290 TraceCheckUtils]: 69: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:35,158 INFO L290 TraceCheckUtils]: 70: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:35,158 INFO L290 TraceCheckUtils]: 71: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:35,158 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {40441#true} {40647#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #82#return; {40647#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 13:09:35,158 INFO L272 TraceCheckUtils]: 73: Hoare triple {40647#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:35,158 INFO L290 TraceCheckUtils]: 74: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:35,158 INFO L290 TraceCheckUtils]: 75: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:35,158 INFO L290 TraceCheckUtils]: 76: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:35,159 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {40441#true} {40647#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #84#return; {40647#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 13:09:35,159 INFO L272 TraceCheckUtils]: 78: Hoare triple {40647#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:35,159 INFO L290 TraceCheckUtils]: 79: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:35,159 INFO L290 TraceCheckUtils]: 80: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:35,159 INFO L290 TraceCheckUtils]: 81: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:35,160 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {40441#true} {40647#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #86#return; {40647#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 13:09:35,161 INFO L290 TraceCheckUtils]: 83: Hoare triple {40647#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {40702#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-28 13:09:35,161 INFO L290 TraceCheckUtils]: 84: Hoare triple {40702#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40702#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-28 13:09:35,162 INFO L290 TraceCheckUtils]: 85: Hoare triple {40702#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} assume !!(#t~post6 < 50);havoc #t~post6; {40702#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-28 13:09:35,162 INFO L272 TraceCheckUtils]: 86: Hoare triple {40702#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:35,162 INFO L290 TraceCheckUtils]: 87: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:35,162 INFO L290 TraceCheckUtils]: 88: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:35,162 INFO L290 TraceCheckUtils]: 89: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:35,163 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {40441#true} {40702#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} #82#return; {40702#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-28 13:09:35,163 INFO L272 TraceCheckUtils]: 91: Hoare triple {40702#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:35,163 INFO L290 TraceCheckUtils]: 92: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:35,163 INFO L290 TraceCheckUtils]: 93: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:35,163 INFO L290 TraceCheckUtils]: 94: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:35,163 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {40441#true} {40702#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} #84#return; {40702#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-28 13:09:35,164 INFO L272 TraceCheckUtils]: 96: Hoare triple {40702#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:35,164 INFO L290 TraceCheckUtils]: 97: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:35,164 INFO L290 TraceCheckUtils]: 98: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:35,164 INFO L290 TraceCheckUtils]: 99: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:35,164 INFO L284 TraceCheckUtils]: 100: Hoare quadruple {40441#true} {40702#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} #86#return; {40702#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-28 13:09:35,165 INFO L290 TraceCheckUtils]: 101: Hoare triple {40702#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} assume !(~r~0 >= ~d~0); {40757#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (< main_~r~0 main_~d~0) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-28 13:09:35,165 INFO L290 TraceCheckUtils]: 102: Hoare triple {40757#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (< main_~r~0 main_~d~0) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {40757#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (< main_~r~0 main_~d~0) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-28 13:09:35,166 INFO L290 TraceCheckUtils]: 103: Hoare triple {40757#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (< main_~r~0 main_~d~0) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} assume !!(#t~post7 < 50);havoc #t~post7; {40757#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (< main_~r~0 main_~d~0) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-28 13:09:35,166 INFO L272 TraceCheckUtils]: 104: Hoare triple {40757#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (< main_~r~0 main_~d~0) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (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)); {40441#true} is VALID [2022-04-28 13:09:35,166 INFO L290 TraceCheckUtils]: 105: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:35,166 INFO L290 TraceCheckUtils]: 106: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:35,166 INFO L290 TraceCheckUtils]: 107: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:35,166 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {40441#true} {40757#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (< main_~r~0 main_~d~0) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} #88#return; {40757#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (< main_~r~0 main_~d~0) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-28 13:09:35,167 INFO L272 TraceCheckUtils]: 109: Hoare triple {40757#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (< main_~r~0 main_~d~0) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:35,167 INFO L290 TraceCheckUtils]: 110: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:35,167 INFO L290 TraceCheckUtils]: 111: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:35,167 INFO L290 TraceCheckUtils]: 112: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:35,167 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {40441#true} {40757#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (< main_~r~0 main_~d~0) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} #90#return; {40757#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (< main_~r~0 main_~d~0) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-28 13:09:35,169 INFO L290 TraceCheckUtils]: 114: Hoare triple {40757#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 16) (< main_~r~0 main_~d~0) (= main_~q~0 0) (= (* 16 (mod main_~B~0 4294967296)) main_~d~0) (<= (* 8 (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); {40797#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 16 (mod main_~B~0 4294967296))) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 (div (* 16 (mod main_~B~0 4294967296)) 2)) (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-28 13:09:35,172 INFO L290 TraceCheckUtils]: 115: Hoare triple {40797#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 16 (mod main_~B~0 4294967296))) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 (div (* 16 (mod main_~B~0 4294967296)) 2)) (<= (* 8 (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; {40801#(and (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (div (* 16 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 8) (< (mod main_~A~0 4294967296) (* 16 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:09:35,172 INFO L290 TraceCheckUtils]: 116: Hoare triple {40801#(and (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (div (* 16 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 8) (< (mod main_~A~0 4294967296) (* 16 (mod main_~B~0 4294967296))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {40801#(and (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (div (* 16 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 8) (< (mod main_~A~0 4294967296) (* 16 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:09:35,172 INFO L290 TraceCheckUtils]: 117: Hoare triple {40801#(and (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (div (* 16 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 8) (< (mod main_~A~0 4294967296) (* 16 (mod main_~B~0 4294967296))))} assume !!(#t~post7 < 50);havoc #t~post7; {40801#(and (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (div (* 16 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 8) (< (mod main_~A~0 4294967296) (* 16 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:09:35,173 INFO L272 TraceCheckUtils]: 118: Hoare triple {40801#(and (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (div (* 16 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 8) (< (mod main_~A~0 4294967296) (* 16 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {40811#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:09:35,173 INFO L290 TraceCheckUtils]: 119: Hoare triple {40811#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {40815#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:09:35,174 INFO L290 TraceCheckUtils]: 120: Hoare triple {40815#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {40442#false} is VALID [2022-04-28 13:09:35,174 INFO L290 TraceCheckUtils]: 121: Hoare triple {40442#false} assume !false; {40442#false} is VALID [2022-04-28 13:09:35,174 INFO L134 CoverageAnalysis]: Checked inductivity of 641 backedges. 34 proven. 63 refuted. 0 times theorem prover too weak. 544 trivial. 0 not checked. [2022-04-28 13:09:35,174 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:09:43,405 INFO L290 TraceCheckUtils]: 121: Hoare triple {40442#false} assume !false; {40442#false} is VALID [2022-04-28 13:09:43,406 INFO L290 TraceCheckUtils]: 120: Hoare triple {40815#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {40442#false} is VALID [2022-04-28 13:09:43,406 INFO L290 TraceCheckUtils]: 119: Hoare triple {40811#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {40815#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:09:43,406 INFO L272 TraceCheckUtils]: 118: Hoare triple {40831#(= (+ 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)); {40811#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:09:43,407 INFO L290 TraceCheckUtils]: 117: Hoare triple {40831#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 50);havoc #t~post7; {40831#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:09:43,407 INFO L290 TraceCheckUtils]: 116: Hoare triple {40831#(= (+ 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; {40831#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:09:43,411 INFO L290 TraceCheckUtils]: 115: Hoare triple {40841#(= (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; {40831#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:09:43,426 INFO L290 TraceCheckUtils]: 114: Hoare triple {40845#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {40841#(= (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-28 13:09:43,427 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {40441#true} {40845#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} #90#return; {40845#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:09:43,427 INFO L290 TraceCheckUtils]: 112: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:43,427 INFO L290 TraceCheckUtils]: 111: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:43,427 INFO L290 TraceCheckUtils]: 110: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:43,427 INFO L272 TraceCheckUtils]: 109: Hoare triple {40845#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:43,428 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {40441#true} {40845#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} #88#return; {40845#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:09:43,428 INFO L290 TraceCheckUtils]: 107: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:43,428 INFO L290 TraceCheckUtils]: 106: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:43,428 INFO L290 TraceCheckUtils]: 105: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:43,428 INFO L272 TraceCheckUtils]: 104: Hoare triple {40845#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:43,429 INFO L290 TraceCheckUtils]: 103: Hoare triple {40845#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} assume !!(#t~post7 < 50);havoc #t~post7; {40845#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:09:43,430 INFO L290 TraceCheckUtils]: 102: Hoare triple {40845#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {40845#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:09:43,432 INFO L290 TraceCheckUtils]: 101: Hoare triple {40885#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {40845#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:09:43,432 INFO L284 TraceCheckUtils]: 100: Hoare quadruple {40441#true} {40885#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} #86#return; {40885#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:09:43,432 INFO L290 TraceCheckUtils]: 99: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:43,432 INFO L290 TraceCheckUtils]: 98: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:43,432 INFO L290 TraceCheckUtils]: 97: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:43,433 INFO L272 TraceCheckUtils]: 96: Hoare triple {40885#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:43,433 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {40441#true} {40885#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} #84#return; {40885#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:09:43,433 INFO L290 TraceCheckUtils]: 94: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:43,433 INFO L290 TraceCheckUtils]: 93: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:43,433 INFO L290 TraceCheckUtils]: 92: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:43,433 INFO L272 TraceCheckUtils]: 91: Hoare triple {40885#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:43,434 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {40441#true} {40885#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} #82#return; {40885#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:09:43,434 INFO L290 TraceCheckUtils]: 89: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:43,434 INFO L290 TraceCheckUtils]: 88: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:43,434 INFO L290 TraceCheckUtils]: 87: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:43,434 INFO L272 TraceCheckUtils]: 86: Hoare triple {40885#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:43,436 INFO L290 TraceCheckUtils]: 85: Hoare triple {40885#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 50);havoc #t~post6; {40885#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:09:43,437 INFO L290 TraceCheckUtils]: 84: Hoare triple {40885#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40885#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:09:43,442 INFO L290 TraceCheckUtils]: 83: Hoare triple {40940#(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; {40885#(or (and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:09:43,442 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {40441#true} {40940#(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; {40940#(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-28 13:09:43,442 INFO L290 TraceCheckUtils]: 81: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:43,442 INFO L290 TraceCheckUtils]: 80: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:43,442 INFO L290 TraceCheckUtils]: 79: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:43,443 INFO L272 TraceCheckUtils]: 78: Hoare triple {40940#(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)); {40441#true} is VALID [2022-04-28 13:09:43,443 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {40441#true} {40940#(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; {40940#(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-28 13:09:43,443 INFO L290 TraceCheckUtils]: 76: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:43,443 INFO L290 TraceCheckUtils]: 75: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:43,443 INFO L290 TraceCheckUtils]: 74: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:43,443 INFO L272 TraceCheckUtils]: 73: Hoare triple {40940#(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)); {40441#true} is VALID [2022-04-28 13:09:43,444 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {40441#true} {40940#(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; {40940#(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-28 13:09:43,444 INFO L290 TraceCheckUtils]: 71: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:43,444 INFO L290 TraceCheckUtils]: 70: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:43,444 INFO L290 TraceCheckUtils]: 69: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:43,444 INFO L272 TraceCheckUtils]: 68: Hoare triple {40940#(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)); {40441#true} is VALID [2022-04-28 13:09:43,445 INFO L290 TraceCheckUtils]: 67: Hoare triple {40940#(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 < 50);havoc #t~post6; {40940#(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-28 13:09:43,445 INFO L290 TraceCheckUtils]: 66: Hoare triple {40940#(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; {40940#(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-28 13:09:43,448 INFO L290 TraceCheckUtils]: 65: Hoare triple {40995#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {40940#(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-28 13:09:43,448 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {40441#true} {40995#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #86#return; {40995#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:09:43,448 INFO L290 TraceCheckUtils]: 63: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:43,448 INFO L290 TraceCheckUtils]: 62: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:43,449 INFO L290 TraceCheckUtils]: 61: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:43,449 INFO L272 TraceCheckUtils]: 60: Hoare triple {40995#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:43,449 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {40441#true} {40995#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #84#return; {40995#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:09:43,449 INFO L290 TraceCheckUtils]: 58: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:43,449 INFO L290 TraceCheckUtils]: 57: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:43,449 INFO L290 TraceCheckUtils]: 56: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:43,449 INFO L272 TraceCheckUtils]: 55: Hoare triple {40995#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:43,450 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {40441#true} {40995#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #82#return; {40995#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:09:43,450 INFO L290 TraceCheckUtils]: 53: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:43,450 INFO L290 TraceCheckUtils]: 52: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:43,450 INFO L290 TraceCheckUtils]: 51: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:43,450 INFO L272 TraceCheckUtils]: 50: Hoare triple {40995#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:43,451 INFO L290 TraceCheckUtils]: 49: Hoare triple {40995#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {40995#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:09:43,451 INFO L290 TraceCheckUtils]: 48: Hoare triple {40995#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40995#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:09:43,453 INFO L290 TraceCheckUtils]: 47: Hoare triple {41050#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {40995#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:09:43,454 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {40441#true} {41050#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} #86#return; {41050#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:09:43,454 INFO L290 TraceCheckUtils]: 45: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:43,454 INFO L290 TraceCheckUtils]: 44: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:43,454 INFO L290 TraceCheckUtils]: 43: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:43,454 INFO L272 TraceCheckUtils]: 42: Hoare triple {41050#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:43,454 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {40441#true} {41050#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} #84#return; {41050#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:09:43,455 INFO L290 TraceCheckUtils]: 40: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:43,455 INFO L290 TraceCheckUtils]: 39: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:43,455 INFO L290 TraceCheckUtils]: 38: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:43,455 INFO L272 TraceCheckUtils]: 37: Hoare triple {41050#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:43,455 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {40441#true} {41050#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} #82#return; {41050#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:09:43,455 INFO L290 TraceCheckUtils]: 35: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:43,455 INFO L290 TraceCheckUtils]: 34: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:43,455 INFO L290 TraceCheckUtils]: 33: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:43,456 INFO L272 TraceCheckUtils]: 32: Hoare triple {41050#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:43,456 INFO L290 TraceCheckUtils]: 31: Hoare triple {41050#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} assume !!(#t~post6 < 50);havoc #t~post6; {41050#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:09:43,456 INFO L290 TraceCheckUtils]: 30: Hoare triple {41050#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41050#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:09:43,460 INFO L290 TraceCheckUtils]: 29: Hoare triple {41105#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 16) 2)) main_~r~0 (* (+ main_~q~0 (div (* main_~p~0 16) 2)) (mod main_~B~0 4294967296)))) (not (<= (* main_~d~0 8) main_~r~0)) (<= (* main_~d~0 16) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {41050#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:09:43,461 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {40441#true} {41105#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 16) 2)) main_~r~0 (* (+ main_~q~0 (div (* main_~p~0 16) 2)) (mod main_~B~0 4294967296)))) (not (<= (* main_~d~0 8) main_~r~0)) (<= (* main_~d~0 16) main_~r~0))} #86#return; {41105#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 16) 2)) main_~r~0 (* (+ main_~q~0 (div (* main_~p~0 16) 2)) (mod main_~B~0 4294967296)))) (not (<= (* main_~d~0 8) main_~r~0)) (<= (* main_~d~0 16) main_~r~0))} is VALID [2022-04-28 13:09:43,461 INFO L290 TraceCheckUtils]: 27: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:43,461 INFO L290 TraceCheckUtils]: 26: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:43,461 INFO L290 TraceCheckUtils]: 25: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:43,461 INFO L272 TraceCheckUtils]: 24: Hoare triple {41105#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 16) 2)) main_~r~0 (* (+ main_~q~0 (div (* main_~p~0 16) 2)) (mod main_~B~0 4294967296)))) (not (<= (* main_~d~0 8) main_~r~0)) (<= (* main_~d~0 16) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:43,462 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {40441#true} {41105#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 16) 2)) main_~r~0 (* (+ main_~q~0 (div (* main_~p~0 16) 2)) (mod main_~B~0 4294967296)))) (not (<= (* main_~d~0 8) main_~r~0)) (<= (* main_~d~0 16) main_~r~0))} #84#return; {41105#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 16) 2)) main_~r~0 (* (+ main_~q~0 (div (* main_~p~0 16) 2)) (mod main_~B~0 4294967296)))) (not (<= (* main_~d~0 8) main_~r~0)) (<= (* main_~d~0 16) main_~r~0))} is VALID [2022-04-28 13:09:43,462 INFO L290 TraceCheckUtils]: 22: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:43,462 INFO L290 TraceCheckUtils]: 21: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:43,462 INFO L290 TraceCheckUtils]: 20: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:43,462 INFO L272 TraceCheckUtils]: 19: Hoare triple {41105#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 16) 2)) main_~r~0 (* (+ main_~q~0 (div (* main_~p~0 16) 2)) (mod main_~B~0 4294967296)))) (not (<= (* main_~d~0 8) main_~r~0)) (<= (* main_~d~0 16) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:43,462 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {40441#true} {41105#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 16) 2)) main_~r~0 (* (+ main_~q~0 (div (* main_~p~0 16) 2)) (mod main_~B~0 4294967296)))) (not (<= (* main_~d~0 8) main_~r~0)) (<= (* main_~d~0 16) main_~r~0))} #82#return; {41105#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 16) 2)) main_~r~0 (* (+ main_~q~0 (div (* main_~p~0 16) 2)) (mod main_~B~0 4294967296)))) (not (<= (* main_~d~0 8) main_~r~0)) (<= (* main_~d~0 16) main_~r~0))} is VALID [2022-04-28 13:09:43,462 INFO L290 TraceCheckUtils]: 17: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:43,462 INFO L290 TraceCheckUtils]: 16: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:43,463 INFO L290 TraceCheckUtils]: 15: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:43,463 INFO L272 TraceCheckUtils]: 14: Hoare triple {41105#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 16) 2)) main_~r~0 (* (+ main_~q~0 (div (* main_~p~0 16) 2)) (mod main_~B~0 4294967296)))) (not (<= (* main_~d~0 8) main_~r~0)) (<= (* main_~d~0 16) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:43,463 INFO L290 TraceCheckUtils]: 13: Hoare triple {41105#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 16) 2)) main_~r~0 (* (+ main_~q~0 (div (* main_~p~0 16) 2)) (mod main_~B~0 4294967296)))) (not (<= (* main_~d~0 8) main_~r~0)) (<= (* main_~d~0 16) main_~r~0))} assume !!(#t~post6 < 50);havoc #t~post6; {41105#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 16) 2)) main_~r~0 (* (+ main_~q~0 (div (* main_~p~0 16) 2)) (mod main_~B~0 4294967296)))) (not (<= (* main_~d~0 8) main_~r~0)) (<= (* main_~d~0 16) main_~r~0))} is VALID [2022-04-28 13:09:43,464 INFO L290 TraceCheckUtils]: 12: Hoare triple {41105#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 16) 2)) main_~r~0 (* (+ main_~q~0 (div (* main_~p~0 16) 2)) (mod main_~B~0 4294967296)))) (not (<= (* main_~d~0 8) main_~r~0)) (<= (* main_~d~0 16) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41105#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 16) 2)) main_~r~0 (* (+ main_~q~0 (div (* main_~p~0 16) 2)) (mod main_~B~0 4294967296)))) (not (<= (* main_~d~0 8) main_~r~0)) (<= (* main_~d~0 16) main_~r~0))} is VALID [2022-04-28 13:09:43,469 INFO L290 TraceCheckUtils]: 11: Hoare triple {40441#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {41105#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 16) 2)) main_~r~0 (* (+ main_~q~0 (div (* main_~p~0 16) 2)) (mod main_~B~0 4294967296)))) (not (<= (* main_~d~0 8) main_~r~0)) (<= (* main_~d~0 16) main_~r~0))} is VALID [2022-04-28 13:09:43,469 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {40441#true} {40441#true} #80#return; {40441#true} is VALID [2022-04-28 13:09:43,469 INFO L290 TraceCheckUtils]: 9: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:43,469 INFO L290 TraceCheckUtils]: 8: Hoare triple {40441#true} assume !(0 == ~cond); {40441#true} is VALID [2022-04-28 13:09:43,469 INFO L290 TraceCheckUtils]: 7: Hoare triple {40441#true} ~cond := #in~cond; {40441#true} is VALID [2022-04-28 13:09:43,470 INFO L272 TraceCheckUtils]: 6: Hoare triple {40441#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {40441#true} is VALID [2022-04-28 13:09:43,470 INFO L290 TraceCheckUtils]: 5: Hoare triple {40441#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; {40441#true} is VALID [2022-04-28 13:09:43,470 INFO L272 TraceCheckUtils]: 4: Hoare triple {40441#true} call #t~ret8 := main(); {40441#true} is VALID [2022-04-28 13:09:43,470 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40441#true} {40441#true} #96#return; {40441#true} is VALID [2022-04-28 13:09:43,470 INFO L290 TraceCheckUtils]: 2: Hoare triple {40441#true} assume true; {40441#true} is VALID [2022-04-28 13:09:43,470 INFO L290 TraceCheckUtils]: 1: Hoare triple {40441#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; {40441#true} is VALID [2022-04-28 13:09:43,470 INFO L272 TraceCheckUtils]: 0: Hoare triple {40441#true} call ULTIMATE.init(); {40441#true} is VALID [2022-04-28 13:09:43,471 INFO L134 CoverageAnalysis]: Checked inductivity of 641 backedges. 34 proven. 63 refuted. 0 times theorem prover too weak. 544 trivial. 0 not checked. [2022-04-28 13:09:43,471 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:09:43,471 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [962371401] [2022-04-28 13:09:43,471 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:09:43,471 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1035178774] [2022-04-28 13:09:43,471 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1035178774] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:09:43,471 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:09:43,471 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 12] total 23 [2022-04-28 13:09:43,471 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:09:43,471 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1748524873] [2022-04-28 13:09:43,472 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1748524873] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:09:43,472 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:09:43,472 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 13:09:43,472 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [223695330] [2022-04-28 13:09:43,472 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:09:43,472 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 13 states have internal predecessors, (34), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 7 states have call successors, (19) Word has length 122 [2022-04-28 13:09:43,472 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:09:43,472 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 13 states have internal predecessors, (34), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-28 13:09:43,658 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:09:43,659 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 13:09:43,659 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:09:43,659 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 13:09:43,659 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=110, Invalid=396, Unknown=0, NotChecked=0, Total=506 [2022-04-28 13:09:43,660 INFO L87 Difference]: Start difference. First operand 269 states and 304 transitions. Second operand has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 13 states have internal predecessors, (34), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-28 13:09:48,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:09:48,902 INFO L93 Difference]: Finished difference Result 328 states and 385 transitions. [2022-04-28 13:09:48,902 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 13:09:48,903 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 13 states have internal predecessors, (34), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 7 states have call successors, (19) Word has length 122 [2022-04-28 13:09:48,903 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:09:48,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 13 states have internal predecessors, (34), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-28 13:09:48,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 144 transitions. [2022-04-28 13:09:48,904 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 13 states have internal predecessors, (34), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-28 13:09:48,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 144 transitions. [2022-04-28 13:09:48,905 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 144 transitions. [2022-04-28 13:09:49,203 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 144 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:09:49,208 INFO L225 Difference]: With dead ends: 328 [2022-04-28 13:09:49,208 INFO L226 Difference]: Without dead ends: 283 [2022-04-28 13:09:49,209 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 245 GetRequests, 221 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 140 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=118, Invalid=482, Unknown=0, NotChecked=0, Total=600 [2022-04-28 13:09:49,209 INFO L413 NwaCegarLoop]: 66 mSDtfsCounter, 45 mSDsluCounter, 282 mSDsCounter, 0 mSdLazyCounter, 550 mSolverCounterSat, 54 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 56 SdHoareTripleChecker+Valid, 348 SdHoareTripleChecker+Invalid, 604 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 54 IncrementalHoareTripleChecker+Valid, 550 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.8s IncrementalHoareTripleChecker+Time [2022-04-28 13:09:49,209 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [56 Valid, 348 Invalid, 604 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [54 Valid, 550 Invalid, 0 Unknown, 0 Unchecked, 1.8s Time] [2022-04-28 13:09:49,210 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 283 states. [2022-04-28 13:09:49,568 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 283 to 280. [2022-04-28 13:09:49,568 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:09:49,569 INFO L82 GeneralOperation]: Start isEquivalent. First operand 283 states. Second operand has 280 states, 186 states have (on average 1.1344086021505377) internal successors, (211), 193 states have internal predecessors, (211), 55 states have call successors, (55), 39 states have call predecessors, (55), 38 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 13:09:49,569 INFO L74 IsIncluded]: Start isIncluded. First operand 283 states. Second operand has 280 states, 186 states have (on average 1.1344086021505377) internal successors, (211), 193 states have internal predecessors, (211), 55 states have call successors, (55), 39 states have call predecessors, (55), 38 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 13:09:49,569 INFO L87 Difference]: Start difference. First operand 283 states. Second operand has 280 states, 186 states have (on average 1.1344086021505377) internal successors, (211), 193 states have internal predecessors, (211), 55 states have call successors, (55), 39 states have call predecessors, (55), 38 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 13:09:49,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:09:49,574 INFO L93 Difference]: Finished difference Result 283 states and 323 transitions. [2022-04-28 13:09:49,574 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 323 transitions. [2022-04-28 13:09:49,575 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:09:49,575 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:09:49,576 INFO L74 IsIncluded]: Start isIncluded. First operand has 280 states, 186 states have (on average 1.1344086021505377) internal successors, (211), 193 states have internal predecessors, (211), 55 states have call successors, (55), 39 states have call predecessors, (55), 38 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) Second operand 283 states. [2022-04-28 13:09:49,576 INFO L87 Difference]: Start difference. First operand has 280 states, 186 states have (on average 1.1344086021505377) internal successors, (211), 193 states have internal predecessors, (211), 55 states have call successors, (55), 39 states have call predecessors, (55), 38 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) Second operand 283 states. [2022-04-28 13:09:49,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:09:49,581 INFO L93 Difference]: Finished difference Result 283 states and 323 transitions. [2022-04-28 13:09:49,581 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 323 transitions. [2022-04-28 13:09:49,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:09:49,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:09:49,582 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:09:49,582 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:09:49,583 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 280 states, 186 states have (on average 1.1344086021505377) internal successors, (211), 193 states have internal predecessors, (211), 55 states have call successors, (55), 39 states have call predecessors, (55), 38 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 13:09:49,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 280 states to 280 states and 318 transitions. [2022-04-28 13:09:49,589 INFO L78 Accepts]: Start accepts. Automaton has 280 states and 318 transitions. Word has length 122 [2022-04-28 13:09:49,589 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:09:49,589 INFO L495 AbstractCegarLoop]: Abstraction has 280 states and 318 transitions. [2022-04-28 13:09:49,589 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 13 states have internal predecessors, (34), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-28 13:09:49,589 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 280 states and 318 transitions. [2022-04-28 13:09:52,363 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 318 edges. 317 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:09:52,364 INFO L276 IsEmpty]: Start isEmpty. Operand 280 states and 318 transitions. [2022-04-28 13:09:52,364 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 128 [2022-04-28 13:09:52,364 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:09:52,364 INFO L195 NwaCegarLoop]: trace histogram [19, 18, 18, 5, 5, 5, 5, 5, 5, 5, 5, 4, 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-28 13:09:52,381 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Ended with exit code 0 [2022-04-28 13:09:52,567 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable30,29 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:09:52,567 INFO L420 AbstractCegarLoop]: === Iteration 32 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:09:52,568 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:09:52,568 INFO L85 PathProgramCache]: Analyzing trace with hash -1079646078, now seen corresponding path program 21 times [2022-04-28 13:09:52,568 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:09:52,568 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1370924488] [2022-04-28 13:09:58,030 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:09:58,031 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:09:58,031 INFO L85 PathProgramCache]: Analyzing trace with hash -1079646078, now seen corresponding path program 22 times [2022-04-28 13:09:58,031 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:09:58,031 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [306295599] [2022-04-28 13:09:58,031 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:09:58,031 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:09:58,043 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:09:58,044 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1241272665] [2022-04-28 13:09:58,044 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:09:58,044 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:09:58,044 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:09:58,048 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:09:58,055 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2022-04-28 13:09:58,129 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:09:58,130 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:09:58,132 INFO L263 TraceCheckSpWp]: Trace formula consists of 305 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 13:09:58,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:09:58,161 INFO L286 TraceCheckSpWp]: Computing forward predicates...